How does the WebGL checker work?
It loads the page in a real browser with a small hook installed before the page’s own scripts run. That hook notes every WebGL context the page creates, every shader it compiles, and any 3D library it exposes. The tool then scrolls the page for a few seconds, the way a reader would, so scenes that only start on scroll get a chance to appear.
It is a measurement, not a guess from the source code. A library can sit unused in a bundle, and a scene can be built from code that never mentions Three.js by name. What counts here is what actually drew.
How do I read the result?
- Start with the verdict. Yes means a WebGL context was created. It does not say the effect is visible on screen, only that the page asked the GPU for a surface to draw on.
- Check the library. Three.js is by far the most common. The revision (r178, r148) tells you how old the code is, and which API to read when you want to copy the effect. “None found” means custom WebGL, or a library that exposes no global.
- Compare canvases and contexts. More contexts than canvases usually means off-screen drawing. A page with several small contexts, as on stripe.com, is often drawing many separate effects.
- Use the shader count as a rough size. About a dozen is one or two materials. A hundred or more is a heavily customised scene.
Which famous sites use WebGL?
These are measured results from the same capture the tool runs, taken on 21 October 2026. Each site was captured three times and the middle result is shown. Contexts and library were the same every time; shader counts moved by a couple, so read them as approximate. Each one answers instantly if you pick it in the box above.
| Site | WebGL | 3D library | Contexts | Shaders compiled |
|---|---|---|---|---|
| igloo.inc | 2 | Three.js r165 | 2 | 180 |
| lusion.co | 2 | Three.js r158 | 1 | 96 |
| stripe.com | 2 | Three.js r178 | 7 | 26 |
| github.com | 1 | Three.js r148 | 4 | 20 |
| enrichr.dev | 2 | Three.js r160 | 3 | 12 |
| linear.app | No WebGL | – | 0 | 0 |
stripe.com and github.com: Three.js on a product site
You would not call either of these a 3D site, and yet both load Three.js. Stripe’s homepage creates seven WebGL contexts and compiles about 26 shaders on a current revision (r178). GitHub runs an older one (r148). A page does not need to be a showpiece to use WebGL for one well-placed effect.
igloo.inc and lusion.co: the heavy end
igloo.inc compiled 180 shaders and lusion.co 96, the two highest counts in this set. Those are the numbers of studio work, where most of the page is the scene. They are also the sites where copying the look means reading the shader source, which is what the full Enrichr capture returns.
linear.app: a “no” that is the right answer
Linear’s page looks rich and moves a lot, yet creates no WebGL context. Its motion is CSS and DOM. If you wanted a shader to copy there, there is not one.
What does “no WebGL detected” actually mean?
It means no WebGL context appeared while the page loaded and was scrolled for a few seconds. Three things can still hide a scene from a quick visit: it starts only after a click or a drag, it loads after a long delay, or it sits behind a login. For a scene like that, the full capture can drive the page further. It does not mean the page has no animation, and for that question the animation library checker looks at GSAP, Lenis and CSS motion too.
Want to check by hand, and see how the same signals look in your own browser? The guide how to tell if a website uses WebGL walks through it, and the free Animation Detector extension (on the Chrome Web Store soon) reads the same globals from the page you are on.
Other free tools
FAQ
How do I know if a website uses WebGL?
Paste its address above. Enrichr loads the page in a real browser, watches for a WebGL context being created, and reports it with the library and shader count. By hand, you can open the browser’s developer tools and look for a canvas element, or use the Spector.js extension to see the WebGL calls a page makes.
Is WebGL the same as Three.js?
No. WebGL is the browser feature that draws 3D graphics on a canvas. Three.js is a JavaScript library that makes WebGL easier to use. Most sites with a 3D hero use Three.js, but some write WebGL by hand, and others use Babylon.js, PlayCanvas or a game engine.
How can I tell which version of Three.js a site uses?
Three.js stores its revision number in THREE.REVISION, or in window.__THREE__ when it is bundled. This tool reads whichever one the page exposes and shows it as, for example, r178. If the site hides both, the version shows as unknown.
Why does it say WebGL 1 on some sites and WebGL 2 on others?
Those are the two versions of the API. WebGL 2 is newer and has been in every major browser for years. A site on WebGL 1 is either using an older library revision, or asking for the older API on purpose so it works on more devices.
What does the shader count mean?
Each shader is a small GPU program, usually a pair (vertex and fragment) per material or effect. A handful means a simple scene. Dozens to hundreds, as on igloo.inc, usually means a lot of custom effects.
Why does it say no WebGL when the site looks 3D?
The 3D may be CSS transforms, an SVG, a video, or a 2D canvas. Or the WebGL scene may only start after a click, or after a long wait, which a quick visit can miss.
Can it find the shader code?
Not here. This tool counts shaders. The full Enrichr capture extracts the actual vertex and fragment source, the uniforms and the 3D scene so an AI assistant can rebuild the effect.
Can it check a page behind a login?
No. It loads the page as a logged-out visitor. For your own logged-in app, use the Spector.js extension or your browser’s developer tools.
Is this free?
Yes. Sites in the examples answer instantly, your first fresh lookup of any other site is free with no account, and after that a free account gets 30 credits a month.