📈 GH Trending Explorer 🎲 Surprise me

← all repos

mrdoob / three.js

git clone https://github.com/mrdoob/three.js.git r186 · 27d ago 🔥 on GitHub Trending today

JavaScript library for creating and rendering 3D scenes in the browser via WebGL and WebGPU renderers.

Why you might care

A general-purpose, lightweight 3D library for web apps and games, with WebGL and WebGPU renderers plus SVG and CSS3D renderers available as addons. Widely used with a large ecosystem, examples, and docs.

Categories

Alternatives

Babylon.jsPlayCanvasA-FramereglPixiJS
+18
stars, 24h · #794
+~126
stars, 7 days · #969
+1.3k
stars, 30 days · #401
117k
★ total · +0% this week
37k
forks · 400 open issues

Star history (as recorded here)

2026-10-20 · 116,674 ★ 2026-10-22 · 116,751 ★
LanguageJavaScript
LicenseMIT
Created2010-03-23 (16y ago)
Last pushtoday
Watchers2.5k
OwnerUser

Seen on GitHub Trending

  • 2026-10-22 — #12 monthly in javascript · +1,340 ★
  • 2026-10-21 — #11 monthly in javascript · +1,317 ★
  • 2026-10-20 — #11 monthly in javascript · +1,303 ★

GitHub topics

Links

README excerpt
# three.js
[![NPM Package][npm]][npm-url]
[![Build Size][build-size]][build-size-url]
[![NPM Downloads][npm-downloads]][npmtrends-url]
[![jsDelivr Downloads][jsdelivr-downloads]][jsdelivr-url]
[![Discord][discord]][discord-url]
#### JavaScript 3D library
The aim of the project is to create an easy-to-use, lightweight, cross-browser, general-purpose 3D library. The current builds only include WebGL and WebGPU renderers but SVG and CSS3D renderers are also available as addons.
Examples —
Docs —
Manual —
Wiki —
Migrating —
Questions —
Forum —
Discord
### Usage
This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the `document.body` element. Finally, it animates the cube within the scene for the camera.
 [code] 
If everything goes well, you should see this.
### Cloning this repository
Cloning the repo with all its history results in a ~2 GB download. If you don't need the whole history you can use the `depth` parameter to significantly reduce download size.
 [code] 
### Change log
Releases
[npm]: https://img.shields.io/npm/v/three
[npm-url]: https://www.npmjs.com/package/three
[build-size]: https://badgen.net/bundlephobia/minzip/three
[build-size-url]: https://bundlephobia.com/result?p=three
[npm-downloads]: https://img.shields.io/npm/dw/three
[npmtrends-url]: https://www.npmtrends.com/three
[jsdelivr-downloads]: https://data.jsdelivr.com/v1/package/npm/three/badge?style=rounded
[jsdelivr-url]: https://www.jsdelivr.com/package/npm/three
[discord]: https://img.shields.io/discord/685241246557667386
[discord-url]: https://discord.gg/56GBJwAnUS

Blurb generated by claude-haiku-5-5 1d ago. Star deltas marked ~ are extrapolated from partial history.