Three.js is a JavaScript 3D library: code that draws 3D scenes inside a web page. The project lives in the mrdoob/three.js repository on GitHub and is built by its contributors; its stated aim is an easy-to-use, lightweight, cross-browser, general-purpose 3D library. It draws through WebGL and WebGPU, the browser interfaces that let JavaScript use the computer's graphics processor (GPU).
A program creates a scene, a camera and objects. Each object, called a mesh, combines a geometry (the shape, for example a box) with a material (how its surface looks). A renderer draws the scene as the camera sees it into a canvas element on the page, and an animation loop moves objects and redraws the image many times per second. The current builds include WebGL and WebGPU renderers; SVG and CSS3D renderers are available as add-ons. The project also offers documentation, many examples, a browser-based editor and developer tools. Releases are numbered; the current one is r186.
Three.js is free and open source under the MIT license.