How does the 3D model extractor work?
It loads the page in a real browser, then looks for a live Three.js scene three ways, in
order of reliability: the official __THREE_DEVTOOLS__ hook, if the site or its
tooling installed one; known globals such as window.scene; and, failing both,
walking window for anything that looks like a Scene object. If one is found, it
counts every mesh, material, light and camera actually in it — the same walk the full
capture uses before exporting the scene as glTF.
This is different from asking “does this page use WebGL.” A page can create a WebGL context and compile shaders without ever exposing a scene graph this way — see stripe.com below. For that question, use the WebGL checker first.
How do I read the result?
- Start with whether a scene was found. A “no” does not mean the site has no 3D — it means this quick visit couldn’t reach the scene object, which happens on sites that keep it inside a module closure.
- Objects vs. meshes. Objects count everything in the scene graph (groups, helpers, lights); meshes are the subset that actually draws geometry.
- Materials vs. textures. A material can be entirely procedural (a
ShaderMaterialdriven by uniforms like color and time) and bind zero image textures — that's common on award-site scenes, not a detection gap. - Triangles is the roughest proxy for how heavy the scene is to render. A few hundred is a simple decorative shape; hundreds of thousands is a detailed sculpted scene.
What's actually in famous 3D sites' scenes?
Measured once each from the same capture the tool runs, on 23 October 2026. Each one answers instantly if you pick it in the box above.
| Site | Scene found | Objects | Meshes | Materials | Triangles |
|---|---|---|---|---|---|
| lusion.co | Yes | 53 | 51 | 29 | 493,810 |
| igloo.inc | Yes | 29 | 28 | 18 | 109,572 |
| enrichr.dev | Yes | 6 | 5 | 5 | 968 |
| stripe.com | No | – | – | – | – |
lusion.co and igloo.inc: hundreds of thousands of triangles, zero bound textures
lusion.co's scene is the heaviest of the four: 51 meshes and almost half a million
triangles, nearly all of it one repeated high-poly geometry instanced across the scene.
igloo.inc is built from distinct named meshes instead (igloo, mountain1
through mountain5, terrain1 through terrain5,
snowparticles) with 18 materials between them. Neither site binds a single image
texture — every surface is a ShaderMaterial driven by uniforms, which is most of
why these particular scenes look nothing like a product render.
stripe.com: WebGL runs, but no scene graph is reachable
The WebGL checker finds real WebGL activity
on stripe.com: contexts created, shaders compiled, Three.js r178 exposed as a global. This
tool still returns “no scene found” for it, because Three.js announcing itself on
window and a scene object being reachable from outside the page's own closures are
two different things. Stripe's case is the clean example of why both tools exist.
Other free tools
FAQ
How do I get the 3D model from a website?
Paste its address above. Enrichr loads the page in a real browser and walks its live Three.js scene (through the official devtools bridge, or known globals), returning every mesh with its geometry, every material's parameters, the lights, cameras and renderer setup — measured from what actually exists in memory, not guessed from the bundle.
Can I download the actual 3D model file (glTF, OBJ, FBX)?
Not from this free tool — it reports the counts and structure so you know what's there. Connected to Claude, ChatGPT or Cursor, Enrichr exports the whole scene as a glTF file plus every mesh's full geometry and every material's bound textures.
Why does it say no scene even though the site is clearly 3D?
A page can run WebGL without exposing a walkable scene graph. stripe.com is a real example: it creates WebGL contexts and compiles shaders, but keeps its Three.js scene in a closure the devtools bridge never sees. Check the WebGL checker first — WebGL activity and a reachable scene graph are different questions.
What is a scene graph?
The tree of everything in a 3D scene: meshes (geometry plus a material), lights, cameras, and how they're positioned relative to each other. It's the structure a 3D engine actually renders from, as opposed to the raw model files on disk.
Does this work on Babylon.js or other engines, not just Three.js?
Detection today is built for Three.js, which is what the large majority of 3D websites use. A page running Babylon.js or a custom WebGL renderer will likely show as WebGL detected (via the WebGL checker) but no reachable scene here.
Why do some sites show 0 textures when they clearly use images?
Many award-site scenes are built entirely from ShaderMaterial with procedural uniforms (colors, noise, time) rather than bound image textures — igloo.inc and lusion.co below are both like this. A texture count of 0 means no image maps were bound to a material, not that the capture missed them.
Is this free?
Yes. The examples below 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.