Game engine

Three.js

Three.js is the JavaScript 3D library under a lot of web scenes. It renders. Cameras, loaders, and controls are included. A game loop, physics, and UI are not a product you switch on.

A game scene associated with Three.js

Developer: mrdoob and contributors

Browser 3D scenesCreative codingProduct viewersWebXR

Overview

Treat Three.js as a renderer with excellent examples, not as a peer of Unity. You will choose a physics library, a UI approach, and an asset pipeline. That is an advantage when the “game” is a product configurator or a one-off WebGL piece, and a tax when you wanted enemies and a save file.

The examples folder is the textbook: pointer-lock controls, loaders, postprocessing. Games in the wild, such as HexGL, show the library used as an engine only because the authors wrote the rest.

Choose Babylon.js instead when you want physics, a GUI, and an inspector already aimed at games. Choose Three.js when you want the thinner dependency and you know you will build the frame.

Technical specifications

Specs checked 2026-10-05. Version lines move; the download link is the source of truth.

Developer
mrdoob and contributors
Version line
r184
License
MIT
Business model
MIT library. There is no editor seat and no runtime fee. You assemble the game.
Releases
Frequent numbered releases. r184 is the 2026 baseline; pin the revision in package.json.
Editor platforms
Any OS with a browser and Node.js
Export targets
Web
Languages
JavaScript, TypeScript
2D / 3D
3D
VR
Yes, through WebXR examples and controls.
AR
WebXR AR on devices that expose it. Not a mobile AR product kit.
Visual scripting
No. It is a rendering library.
Beginners
For a web developer who wants a 3D scene. Not for someone who wants “new 3D game” from a template with a player already in it.
Learning curve
Medium if you know JavaScript. Steep if you expected an engine to supply gameplay.
Graphics
Whatever you build on WebGL or WebGPU. The ceiling is the browser, not a missing material editor.
Team size
One graphics-comfortable developer, or a small web team.
GitHub stars
108,000 · mrdoob/three.js

Where it fits

  • MIT, ubiquitous, and documented by a huge example set.
  • WebGL and WebGPU in the browser, including WebXR.
  • No editor and no vendor plan.

Where it does not

  • Not a game engine. Gameplay, physics, and UI are separate choices.
  • Desktop and console builds are not the point.
  • You maintain the scene graph discipline yourself.

Matching source

All examples

How does it compare?

Questions

Is Three.js a game engine?

No. It is a 3D library. You can build a game on it. The library will not hand you one.

Three.js or Babylon.js?

Three.js for a thin renderer you control. Babylon.js when you want an engine-shaped tool: inspector, GUI, and physics options.

Which version should I pin?

r184 is a solid 2026 baseline. Pin the exact release your examples were written against.

Does it run outside the browser?

The target is the browser. Native shells exist as wrappers. They are not the supported game-export story.

Ad