Skip to content

Github · GitHub Repository Radar

mrdoob three.js

JavaScript 3D Library.

Stars

115,076

Popular Active

Forks

36,518

Watchers: 115,076

Repository Radar Score

68 / 100

Growth

7d
+0
30d
+0
%
0.0%

Not enough metric snapshots yet to chart growth for this repository.

Score breakdown

  • popularity 96
  • growth 0
  • activity 100
  • freshness 100
  • community 90

Need help integrating this stack?

Our team builds with modern open-source stacks. Tell us what you are shipping.

Get a quote →

three.js

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.

ExamplesDocsManualWikiMigratingQuestionsForumDiscord

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.

import * as THREE from 'three';

const width = window.innerWidth, height = window.innerHeight;

// init

const camera = new THREE.PerspectiveCamera( 70, width / height, 0.01, 10 );
camera.position.z = 1;

const scene = new THREE.Scene();

const geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );
const material = new THREE.MeshNormalMaterial();

const mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

const renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setSize( width, height );
renderer.setAnimationLoop( animate );
document.body.appendChild( renderer.domElement );

// animation

function animate( time ) {

	mesh.rotation.x = time / 2000;
	mesh.rotation.y = time / 1000;

	renderer.render( scene, camera );

}

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.

git clone --depth=1 https://github.com/mrdoob/three.js.git

Change log

Releases

Created: Mar 23, 2010

Last push: Sep 3, 2026

Default branch: dev

Latest release: r185

Languages

Share of the codebase by language, based on repository metadata from the host.

  • JavaScript 84.1%
  • HTML 12.2%
  • Roff 2.9%
  • CSS 0.9%

Repository Radar analysis

Deterministic insights derived from public metadata and our observations — not personal testing or reviews.

Why this repository is interesting

  • High absolute popularity (115,076 stars) signals broad adoption.
  • Maintained recently (last push 2 weeks ago).

Who should use it

  • Developers working primarily with JavaScript
  • Teams exploring AI tooling, agents, or ML infrastructure

Potential use cases

  • Reference or evaluate JavaScript open-source approaches in this domain
  • Prototype AI/agent workflows or study reference architectures

Strengths

  • Recent repository activity
  • README present in our index
  • Declared license: MIT License
  • Substantial fork count (36,518) suggests reuse and contribution interest

Limitations / considerations

  • Insights are derived from public metadata and our observations — not a substitute for code review

What to watch

  • Re-check last push, issues, and releases on GitHub before production adoption

Strong signals: Strong community interest · Active maintenance

Source: GitHub (public metadata) + Repository Radar analysis. We do not claim ownership of third-party repositories.

Ready to ship something that compounds?

Share your roadmap. We’ll come back with scope options, timeline ranges, and who from Shriram IT Ventures should be in the room.

Popular with product teams