Home
Providers
Three.js
Three.js
Three.js is an open-source JavaScript 3D library originally created by Ricardo Cabello (mrdoob) in 2010 and now maintained by a broad community of contributors. It abstracts WebGL and WebGPU behind a clean object-oriented API — Scenes, Cameras, Lights, Geometries, Materials, Textures, Loaders, Controls, Animation, and Post-Processing — to make interactive 3D in the browser practical for games, product configurators, data visualization, generative art, GIS, scientific visualization, simulations, AR/VR (WebXR), and creative coding. The library ships as the `three` npm package under MIT license with a rich addon ecosystem (`three/addons/*`) including dozens of loaders for industry asset formats (glTF, OBJ, FBX, USDZ, KTX2, DRACO), controls, helpers, post-processing passes, and a node-based shading language (TSL) that targets both WebGL and WebGPU. A browser-based editor at threejs.org/editor produces scenes in a documented JSON object format. Three.js has become the de-facto foundation for the JavaScript 3D ecosystem and underpins higher-level projects including React Three Fiber, A-Frame, model-viewer, Threlte, and TroisJS.
Three.js publishes 6 APIs on the APIs.io network. Tagged areas include 3D, Graphics, WebGL, WebGPU, and JavaScript.
The Three.js catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.
Three.js’ developer surface includes developer portal, documentation, code examples, sandbox, changelog, support, tooling, and 22 more developer resources.
6 APIs
21 Features
3D Graphics WebGL WebGPU JavaScript Rendering Open Source Game Development Visualization
On this page
Kin Score
APIs 6
Features 21
Vocabularies 1
Spectral Rules 1
JSON Schema 3
Examples 1
Security Posture 1
Resources 29
apis.yml
21 Operational Transparency
Composite quality — 30.4/100 · thin
Contract Quality
7.3 / 25
Developer Ergonomics
7.0 / 20
Commercial Clarity
0.0 / 20
Operational Transparency
2.7 / 13
Agent readiness — 2/100 · human only
Machine-Readable Contract
0 / 18
Agentic Access Contract
0 / 10
MCP Server
0 / 12
Machine-Readable Auth
0 / 10
Idempotency
0 / 9
Stable Error Semantics
0 / 8
Request/Response Examples
7 / 7
Rate-Limit Signaling
0 / 7
Typed Event Surface
0 / 6
Agent Skills
0 / 5
Well-Known Catalog
0 / 4
Consent & Bot Identity
0 / 3
A2A Agent Card
0 / 8
Dry-Run / Simulate Mode
0 / 4
Individual APIs this provider publishes, each with its own machine-readable definition.
Notable capabilities this provider offers.
WebGLRenderer — production WebGL 2 renderer with PBR materials, shadows, instancing, and morph targets
WebGPURenderer — next-generation WebGPU backend with the Node Material System (TSL) authoring model
TSL — Three.js Shading Language, a node-based shader graph that compiles to both GLSL and WGSL
Scene graph based on Object3D with Groups, LOD, Bones, Skinned meshes, InstancedMesh, and BatchedMesh
Cameras — PerspectiveCamera, OrthographicCamera, ArrayCamera, StereoCamera, CubeCamera
Lights — Ambient, Directional, Point, Spot, Hemisphere, Rect Area, plus shadow maps and light probes
Materials — MeshStandard, MeshPhysical (clearcoat, sheen, iridescence, transmission), MeshBasic, MeshLambert, MeshPhong, MeshToon, Shader, Raw, Sprite, Line, Points
Geometry primitives — Box, Sphere, Plane, Cylinder, Cone, Torus, TorusKnot, Tetra/Octa/Icosa/Dodecahedron, Capsule, Lathe, Extrude, Tube
Loaders — glTF/GLB (with KHR_draco_mesh_compression, KHR_mesh_quantization, KHR_texture_basisu, EXT_meshopt_compression), OBJ, FBX, Collada, STL, PLY, 3MF, USDZ
Texture pipeline — KTX2/Basis Universal, HDR/EXR/RGBE, video textures, canvas textures, compressed textures
Animation system — AnimationMixer, AnimationClip, KeyframeTrack, morph target and skeletal animation
Controls addons — OrbitControls, MapControls, TrackballControls, PointerLockControls, TransformControls, ArcballControls, DragControls
Post-processing — EffectComposer with RenderPass, Bloom, SSAO, SSR, SMAA, FXAA, TAA, DOF, Outline, Glitch
XR — WebXR support for VR and AR via `renderer.xr` and XR controllers/hands
Physics integrations — Cannon.js, Ammo.js, Rapier (community)
Browser-based Editor at threejs.org/editor for visual scene authoring and JSON export/import
Three.js JSON Object format — documented serialization via `Object3D.toJSON()` and `ObjectLoader.parse()`
Distributed as `three` on npm, ES modules in `three/build/three.module.js`, addons in `three/addons/*`
TypeScript types via `@types/three` on DefinitelyTyped, mirrored in three-types/three-ts-types
Monthly release cadence — current release r184 (April 2026), 47k+ commits, 113k+ GitHub stars
MIT licensed, no required runtime dependencies, runs in browser, Node.js, Electron, Tauri, Deno, and React Native
Scroll for all 21
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Example request and response payloads for these APIs.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Get Started 2
Portal, sign-up, and the first successful call
Documentation 6
Reference material describing how the API behaves
Build 9
SDKs, sample code, and the tooling you integrate with
Scroll for all 9
Access & Security 1
Authentication, authorization, and security posture
Operate 6
Status, limits, changes, and where to get help
Commercial 1
Pricing, plans, and the legal terms of use
Other 4
Properties that don't map to a standard resource type
Source (apis.yml)
aid: threejs
url: https://raw.githubusercontent.com/api-evangelist/threejs/refs/heads/main/apis.yml
apis:
- aid: threejs:threejs-core
name: Three.js Core
tags:
- 3D
- Graphics
- WebGL
- WebGPU
- JavaScript
- Rendering
humanURL: https://threejs.org/docs/
properties:
- url: https://threejs.org/docs/
type: Documentation
- url: https://threejs.org/manual/
type: Documentation
- url: https://github.com/mrdoob/three.js
type: GitHubRepository
- url: https://www.npmjs.com/package/three
type: Package
- url: json-schema/threejs-vector3-schema.json
type: JSONSchema
- url: json-schema/threejs-object3d-schema.json
type: JSONSchema
- url: json-schema/threejs-scene-schema.json
type: JSONSchema
- url: json-ld/threejs-context.jsonld
type: JSONLD
description: The Three.js core library provides the scene graph, cameras, lights, geometries, materials, textures, loaders,
and animation primitives used to build interactive 3D applications in the browser and on Node.js. The public surface is
a JavaScript API consumed via ES modules and a small CDN-friendly UMD build; classes are organized into Scene, Object3D,
Camera, Geometry, Material, Light, and Texture hierarchies and serialize to a documented JSON scene format produced by
`Object3D.toJSON()`.
- aid: threejs:threejs-renderers
name: Three.js Renderers (WebGL and WebGPU)
tags:
- 3D
- Graphics
- Rendering
- WebGL
- WebGPU
humanURL: https://threejs.org/docs/#api/en/renderers/WebGLRenderer
properties:
- url: https://threejs.org/docs/#api/en/renderers/WebGLRenderer
type: Documentation
- url: https://threejs.org/docs/#api/en/renderers/WebGPURenderer
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/src/renderers
type: SourceCode
description: WebGLRenderer (default, ships in the main bundle) and the newer WebGPURenderer (under `three/webgpu`) draw
the scene graph to a canvas. The Node Material System (TSL — Three.js Shading Language) provides a unified node-based
authoring model that compiles to GLSL for WebGL and WGSL for WebGPU, plus addon SVG and CSS3D renderers for non-raster
output.
- aid: threejs:threejs-loaders
name: Three.js Loaders
tags:
- 3D
- Loaders
- glTF
- OBJ
- FBX
- USDZ
- Assets
humanURL: https://threejs.org/docs/#api/en/loaders/Loader
properties:
- url: https://threejs.org/docs/#api/en/loaders/Loader
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/loaders
type: SourceCode
- url: examples/threejs-gltf-scene-example.json
type: Examples
description: A family of asset loaders consumed via `three/addons/loaders/*` covering glTF/GLB (recommended), OBJ, FBX,
Collada, STL, PLY, 3MF, USDZ, DRACO, KTX2, Basis, and HDR/EXR environment maps. Loaders read binary or text formats and
produce Three.js scene graph objects ready to add to a `THREE.Scene`.
- aid: threejs:threejs-controls
name: Three.js Controls and Helpers
tags:
- Controls
- Input
- Camera
- Interaction
humanURL: https://threejs.org/docs/#examples/en/controls/OrbitControls
properties:
- url: https://threejs.org/docs/#examples/en/controls/OrbitControls
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/controls
type: SourceCode
description: Camera and object controls shipped as addons (`three/addons/controls/*`) including OrbitControls, MapControls,
TrackballControls, FirstPersonControls, FlyControls, PointerLockControls, TransformControls, DragControls, and ArcballControls.
Helpers (`three/addons/helpers/*`) visualize lights, cameras, axes, and bounding volumes for debugging.
- aid: threejs:threejs-postprocessing
name: Three.js Post-Processing
tags:
- Post-Processing
- Effects
- Rendering
- Compositing
humanURL: https://threejs.org/docs/#manual/en/introduction/How-to-use-post-processing
properties:
- url: https://threejs.org/docs/#manual/en/introduction/How-to-use-post-processing
type: Documentation
- url: https://github.com/mrdoob/three.js/tree/dev/examples/jsm/postprocessing
type: SourceCode
description: EffectComposer plus a passes library — RenderPass, ShaderPass, UnrealBloomPass, BloomPass, SSAOPass, SSRPass,
SAOPass, OutlinePass, SMAAPass, FXAAPass, TAARenderPass, BokehPass, GlitchPass — for chaining screen-space effects, with
WebGPU equivalents under `three/addons/postprocessing` for the new renderer.
- aid: threejs:threejs-editor
name: Three.js Editor
tags:
- Editor
- Authoring
- Tools
humanURL: https://threejs.org/editor/
properties:
- url: https://threejs.org/editor/
type: Sandbox
- url: https://github.com/mrdoob/three.js/tree/dev/editor
type: SourceCode
description: Browser-based scene editor for assembling Three.js scenes, importing assets, editing materials and lights,
and exporting to the documented Three.js JSON object format. Useful as a no-code starting point that produces files consumable
by `ObjectLoader` in any Three.js application.
name: Three.js
tags:
- 3D
- Graphics
- WebGL
- WebGPU
- JavaScript
- Rendering
- Open Source
- Game Development
- Visualization
kind: opensource
accessModel:
pricing: unknown
onboarding: unknown
trial: false
try_now: false
public: false
label: Unknown
confidence: low
source: []
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/threejs.png
access: Open Source
common:
- type: DomainSecurity
url: security/threejs-domain-security.yml
- url: https://threejs.org
type: Portal
- url: https://threejs.org/docs/
type: Documentation
- url: https://threejs.org/manual/
name: Three.js Manual
type: Documentation
- url: https://threejs.org/examples/
name: Three.js Examples
type: CodeExamples
- url: https://threejs.org/editor/
name: Three.js Editor
type: Sandbox
- url: https://github.com/mrdoob/three.js
type: GitHubRepository
- url: https://github.com/mrdoob
type: GitHubOrganization
- url: https://github.com/mrdoob/three.js/releases
name: Three.js Releases
type: ChangeLog
- url: https://github.com/mrdoob/three.js/blob/dev/LICENSE
name: MIT License
type: License
- url: https://github.com/mrdoob/three.js/blob/dev/CONTRIBUTING.md
type: Documentation
- url: https://github.com/mrdoob/three.js/blob/dev/CODE_OF_CONDUCT.md
type: CodeOfConduct
- url: https://github.com/mrdoob/three.js/wiki
type: Documentation
- url: https://github.com/mrdoob/three.js/wiki/Migration-Guide
name: Three.js Migration Guide
type: Documentation
- url: https://github.com/mrdoob/three.js/issues
type: Issues
- url: https://github.com/mrdoob/three.js/pulls
type: PullRequests
- url: https://github.com/mrdoob/three.js/discussions
type: Forums
- url: https://discourse.threejs.org/
name: Three.js Discourse Forum
type: Forums
- url: https://discord.gg/56GBJwAnUS
name: Three.js Discord
type: Forums
- url: https://stackoverflow.com/questions/tagged/three.js
name: Stack Overflow — three.js
type: Support
- url: https://www.npmjs.com/package/three
name: three (npm)
type: Package
- url: https://www.npmjs.com/package/@types/three
name: '@types/three (DefinitelyTyped)'
type: Package
- url: https://github.com/three-types/three-ts-types
name: Three.js TypeScript Types
type: SDKs
- url: https://cdn.jsdelivr.net/npm/three/
name: jsDelivr CDN
type: CDN
- url: https://unpkg.com/three/
name: unpkg CDN
type: CDN
- url: https://github.com/pmndrs/react-three-fiber
name: React Three Fiber
type: Integrations
- url: https://github.com/pmndrs/drei
name: drei (R3F helpers)
type: Integrations
- url: https://github.com/aframevr/aframe
name: A-Frame (built on three.js)
type: Integrations
- url: https://github.com/Tencent/tweenjs
name: Tween.js
type: Integrations
- url: https://github.com/google/model-viewer
name: <model-viewer> (uses three.js)
type: Integrations
- url: https://github.com/threlte/threlte
name: Threlte (Svelte renderer)
type: Integrations
- url: https://github.com/troisjs/trois
name: TroisJS (Vue renderer)
type: Integrations
- url: https://github.com/mrdoob/stats.js
name: stats.js
type: Tools
- url: https://github.com/threejs/three-devtools
name: Three.js DevTools
type: Tools
- url: https://x.com/threejs
type: X
- url: https://github.com/mrdoob/three.js/blob/dev/README.md
type: Documentation
- type: Features
data:
- WebGLRenderer — production WebGL 2 renderer with PBR materials, shadows, instancing, and morph targets
- WebGPURenderer — next-generation WebGPU backend with the Node Material System (TSL) authoring model
- TSL — Three.js Shading Language, a node-based shader graph that compiles to both GLSL and WGSL
- Scene graph based on Object3D with Groups, LOD, Bones, Skinned meshes, InstancedMesh, and BatchedMesh
- Cameras — PerspectiveCamera, OrthographicCamera, ArrayCamera, StereoCamera, CubeCamera
- Lights — Ambient, Directional, Point, Spot, Hemisphere, Rect Area, plus shadow maps and light probes
- Materials — MeshStandard, MeshPhysical (clearcoat, sheen, iridescence, transmission), MeshBasic, MeshLambert, MeshPhong,
MeshToon, Shader, Raw, Sprite, Line, Points
- Geometry primitives — Box, Sphere, Plane, Cylinder, Cone, Torus, TorusKnot, Tetra/Octa/Icosa/Dodecahedron, Capsule, Lathe,
Extrude, Tube
- Loaders — glTF/GLB (with KHR_draco_mesh_compression, KHR_mesh_quantization, KHR_texture_basisu, EXT_meshopt_compression),
OBJ, FBX, Collada, STL, PLY, 3MF, USDZ
- Texture pipeline — KTX2/Basis Universal, HDR/EXR/RGBE, video textures, canvas textures, compressed textures
- Animation system — AnimationMixer, AnimationClip, KeyframeTrack, morph target and skeletal animation
- Controls addons — OrbitControls, MapControls, TrackballControls, PointerLockControls, TransformControls, ArcballControls,
DragControls
- Post-processing — EffectComposer with RenderPass, Bloom, SSAO, SSR, SMAA, FXAA, TAA, DOF, Outline, Glitch
- XR — WebXR support for VR and AR via `renderer.xr` and XR controllers/hands
- Physics integrations — Cannon.js, Ammo.js, Rapier (community)
- Browser-based Editor at threejs.org/editor for visual scene authoring and JSON export/import
- Three.js JSON Object format — documented serialization via `Object3D.toJSON()` and `ObjectLoader.parse()`
- Distributed as `three` on npm, ES modules in `three/build/three.module.js`, addons in `three/addons/*`
- TypeScript types via `@types/three` on DefinitelyTyped, mirrored in three-types/three-ts-types
- Monthly release cadence — current release r184 (April 2026), 47k+ commits, 113k+ GitHub stars
- MIT licensed, no required runtime dependencies, runs in browser, Node.js, Electron, Tauri, Deno, and React Native
sources:
- https://threejs.org/
- https://github.com/mrdoob/three.js
- https://github.com/mrdoob/three.js/blob/dev/README.md
- https://registry.npmjs.org/three/latest
updated: '2026-05-25'
created: '2026-05-25T00:00:00.000Z'
modified: '2026-05-25'
position: Producing
description: Three.js is an open-source JavaScript 3D library originally created by Ricardo Cabello (mrdoob) in 2010 and now
maintained by a broad community of contributors. It abstracts WebGL and WebGPU behind a clean object-oriented API — Scenes,
Cameras, Lights, Geometries, Materials, Textures, Loaders, Controls, Animation, and Post-Processing — to make interactive
3D in the browser practical for games, product configurators, data visualization, generative art, GIS, scientific visualization,
simulations, AR/VR (WebXR), and creative coding. The library ships as the `three` npm package under MIT license with a rich
addon ecosystem (`three/addons/*`) including dozens of loaders for industry asset formats (glTF, OBJ, FBX, USDZ, KTX2, DRACO),
controls, helpers, post-processing passes, and a node-based shading language (TSL) that targets both WebGL and WebGPU. A
browser-based editor at threejs.org/editor produces scenes in a documented JSON object format. Three.js has become the de-facto
foundation for the JavaScript 3D ecosystem and underpins higher-level projects including React Three Fiber, A-Frame, model-viewer,
Threlte, and TroisJS.
maintainers:
- FN: Kin Lane
email: info@apievangelist.com
X: apievangelist
url: https://apievangelist.com
specificationVersion: '0.16'