Nothing to install
Runs in the browser
Free and open source
MIT licence, no fee
Real-time 3D preview
Models update as choices change
In this article
Three strengths
- Nothing to install. It draws 3D graphics inside an ordinary web page, with no plug-in needed. 2
- Free and open source. There's no licence fee, and anyone can inspect the code. 1
- Real-time 3D preview. Staff and customers can watch a 3D model update as they configure it, such as a quoted shed.
What it is
Most websites show flat pages. THREE.js lets a page show something you can turn, zoom and explore: a product, a building, a machine. It's a JavaScript library (a ready-made toolkit of code) for 3D graphics, and it's free and open source under the MIT licence (a permissive licence with no fee), so anyone can inspect the code. 1
It runs on top of WebGL, a standard built into modern browsers that lets a web page use your device's graphics chip, the same hardware that powers games. Because the browser already has it, visitors install nothing and it works across the major browsers. 2 3 THREE.js hides most of WebGL's difficulty. Its newer builds also support WebGPU, WebGL's successor. 1
It was created by Ricardo Cabello, known online as Mr.doob, and first released in April 2010. 4 He came from the demoscene, a community that builds showpiece computer graphics, where groups often rewrote a 3D engine for every demo. He wanted one reusable engine with an API (the set of commands a developer uses to control a tool) that was easy to use. 4 He thinks it caught on because it had "the friendliest API and the easiest to extend". 4
It suits anything where seeing beats reading: product configurators, interactive models, data visualisations and immersive pages. The trade-off is that 3D asks more of the visitor's device than a flat page does, which is why we use it only when it's needed, not as decoration.
How we use it
We reach for THREE.js whenever a project needs interactive 3D on the web. One example: a shed manufacturer needed its staff and customers to see a 3D model of a quoted shed, updating in real time as they configured and built it together. Seeing the shed change as the choices change is far clearer than a drawing or a price list.
We build it under our Software Development service, usually alongside React and TypeScript, and we often connect it to a quoting or ordering system so the model and the price move together and your customers can see what they're getting before they commit.
We use AI-assisted tools to draft the groundwork quickly. Once the model and how it behaves are settled, we test it across the browsers and devices your customers use before we ship it to you.
References
- Ricardo Cabello and contributors, "mrdoob/three.js", README and licence, GitHub. https://github.com/mrdoob/three.js (accessed 28 October 2026)
- Mozilla, "WebGL: 2D and 3D graphics for the web", MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API (accessed 28 October 2026)
- Khronos Group, "WebGL: Low-Level 3D Graphics API Based on OpenGL ES". https://www.khronos.org/webgl/ (accessed 28 October 2026)
- Eric, "Interview with three.js Creator", Real-Time Rendering blog, 20 January 2013. https://www.realtimerendering.com/blog/?p=3329 (accessed 28 October 2026)

Lead Frontend Developer
Chris is a Front-End Developer and UI/UX Designer who combines creativity and technical expertise to craft digital experiences that are intuitive, accessible, and enjoyable to use. With a background spanning film, music, and multimedia, he brings a creative lens to problem-solving, ensuring every product balances form and function.
Related articles:
Planning a software project?
Talk directly with Josh, Sam and the team. No sales pitch, just an honest chat about how we can help.
