
Three.js
JavaScript 3D graphics library
The Lens
Three.js brings 3D to the browser: interactive visualizations, product configurators, entire games, all running in WebGL. It wraps WebGL (the low-level browser graphics API that nobody wants to write by hand) into something you can actually build with.
Everything is free. MIT license, no paid tier, no cloud service, no account, and nearly two decades of development. The ecosystem is massive: loaders for every 3D format, physics engines, post-processing effects, VR/AR support. The documentation and examples library is one of the best in open source.
Self-hosting isn't really applicable. It's a client-side library you bundle into your app. Install via npm, import it, and start rendering.
The catch: the learning curve is steep if you've never touched 3D math. Cameras, lighting, materials, geometry. It's a different mental model from DOM manipulation. Performance optimization requires understanding the GPU pipeline. And the API surface is enormous, which means lots of ways to do things wrong before you find the right one. For simpler use cases like displaying a single 3D model, consider react-three-fiber which wraps Three.js in React components.
Free vs Self-Hosted vs Paid
fully freeFully open source under MIT. No paid tier, no hosted service, no enterprise edition. Has been free since 2010 and there's zero indication that will change.
The cost is your time learning it. Budget 2-4 weeks to get comfortable if you're new to 3D programming. If you're coming from Unity or Unreal, the concepts transfer but the API is different.
No infrastructure costs beyond what you'd pay to host any website. Three.js runs entirely in the browser.
Free forever. No paid tier exists or is planned.
Similar Tools
About
- Stars
- 111,781
- Forks
- 36,320
Explore Further
More tools in the directory
Get tools like this delivered weekly
The Open Source Drop — the best new open source tools, analyzed. Free.

