Three.js is a cross-browser JavaScript library and API used to create and display animated 3D computer graphics in a web browser. It simplifies WebGL, providing a more intuitive way to work with 3D graphics within web applications.
Ricardo Cabello (Mr.doob) initially released Three.js on GitHub in April 2010. Since then, it has grown with contributions from over 1950 developers. The library is available under the MIT License, making it free to use for both commercial and non-commercial projects.
Key features include cross-browser compatibility, WebGL abstraction, a scene graph for organizing objects, support for multiple cameras, and a robust material and shading system. It also offers an animation system, lighting options, and built-in geometries. Three.js can be used for web-based 3D games, product visualizations, data visualization, and architectural walkthroughs.
Three.js itself is free to use. However, some related products and services have associated costs. For example, Three.js Blocks, a premium library and tooling stack, offers monthly subscriptions, yearly subscriptions, and permanent licenses. Additionally, courses and learning resources like Three.js Journey are available for a one-time payment.