Get in Touch

Need a website, app, or MVP? Let's talk.

info@gexpsoftware.com →

Puerto Jiménez, Costa Rica

info@gexpsoftware.com

© 2026 Marcelo Retana

All resources

Best Tools for Three.js in 2026

31 resources

Three.js is powerful but the raw API is verbose and debugging 3D is hard. The right tools make the difference between fighting WebGL and actually shipping creative work. I've used these across interactive portfolio pieces, product configurators, and experimental 3D projects — they're what keep Three.js productive.

Share:XLinkedIn

Editors & Scene Tools

Visual editors and scene composition tools for building and inspecting Three.js scenes without writing everything in code.

Three.js Editor

free

The official online editor for composing Three.js scenes visually. Add objects, lights, and materials with a GUI, then export the scene as JSON. Good for prototyping, limited for production workflows.

Official visual scene editor — prototype without code

editorofficialvisualscene-composition

Triplex

open-source

A visual editor for React Three Fiber that syncs with your code. Edit the scene visually and changes write back to your JSX. Bridges the gap between design tools and 3D code.

Visual editing that syncs changes back to your R3F code

editorreact-three-fibervisualcode-sync

Leva

open-source

A React-based GUI panel for tweaking values in real time. Drop it into your R3F scene and expose any variable — positions, colors, scales — with type-safe controls. Essential for creative development.

Real-time tweaking controls for any scene parameter

guicontrolstweakingreact

dat.GUI

open-source

The original lightweight GUI library for Three.js. Simpler than Leva and works without React. Still the go-to for vanilla Three.js projects when you need quick parameter controls.

guicontrolsvanillalightweight

Theatre.js

open-source

A motion design editor for Three.js and React Three Fiber. Create complex animations with a timeline UI, keyframes, and easing curves. The closest thing to After Effects for the web.

After Effects-style timeline animation for Three.js

animationtimelinekeyframesmotion-design

Spline

freemium

A web-based 3D design tool that exports to Three.js, React Three Fiber, or embeddable widgets. Designers can build 3D scenes without code, then developers integrate them. Great for team workflows.

3D design tool that exports directly to Three.js code

design-toolno-codeexportcollaboration

Shader Development

Tools for writing, debugging, and visualizing WebGL shaders for Three.js materials and effects.

Shadertoy

free

The definitive playground for fragment shaders. Thousands of community examples to learn from and fork. Not Three.js-specific but the shader techniques translate directly. Incredibly inspiring.

Thousands of shader examples to learn from and fork

shadersplaygroundcommunityglsl

The Book of Shaders

free

An interactive guide to fragment shaders by Patricio Gonzalez Vivo. Live code editors on every page let you experiment as you learn. The best introduction to shader programming for web developers.

The best interactive introduction to shader programming

learningshadersinteractivetutorial

glslEditor

open-source

An online GLSL editor with real-time preview and error highlighting. Lighter than Shadertoy and focused on writing and testing shader code. Good for isolated shader development.

editorglslpreviewlightweight

Shader Park

open-source

Write shaders using JavaScript instead of GLSL. The library compiles JS to GLSL for you, making shader development accessible to JavaScript developers who don't want to learn a new language.

Write shaders in JavaScript — compiles to GLSL

shadersjavascriptaccessiblesdf

Spector.js

open-source

A WebGL debugging tool that captures and inspects every draw call, texture, and shader in a frame. Essential for debugging rendering issues — see exactly what the GPU is doing.

Capture and inspect every WebGL draw call in a frame

debuggingwebgldraw-callsinspection

Lamina

open-source

A layer-based shader material system for React Three Fiber. Stack, blend, and compose materials from pre-built layers without writing GLSL. Great for creative effects without shader expertise.

materialslayerscomposableno-glsl

Model Viewers & Asset Tools

Tools for viewing, optimizing, and converting 3D models for use in Three.js scenes.

gltf.report

free

Analyze and optimize glTF models in the browser. Shows file size breakdown, mesh statistics, and texture usage. Run optimizations like Draco compression and texture resizing directly in the tool.

Analyze and optimize glTF models in the browser

gltfanalysisoptimizationbrowser

gltfjsx

open-source

Converts glTF models into clean React Three Fiber JSX components. Generates typed, tree-shakeable code with proper ref forwarding. The standard way to use 3D models in R3F projects.

Generate typed R3F components from glTF models

gltfreact-three-fibercode-generationjsx

glTF Viewer

free

The Khronos Group's official glTF model viewer. Validates models against the glTF spec and renders them with PBR materials. Use it to verify your models look correct before importing into Three.js.

viewergltfvalidationpbr

Blender (glTF Export)

open-source

Blender's built-in glTF exporter is the standard pipeline for creating Three.js assets. Free, professional-grade 3D modeling with direct export to the web's preferred 3D format.

Industry-grade 3D modeling with built-in glTF export

3d-modelinggltf-exportfreeprofessional

gltfpack

open-source

A command-line tool that optimizes glTF files by recompressing meshes, quantizing attributes, and applying Draco or meshopt compression. Reduces file sizes by 50-90% with minimal visual quality loss.

Reduce glTF file sizes by 50-90% with minimal quality loss

optimizationcompressionclimeshopt

Poly Pizza

free

Free low-poly 3D models licensed for commercial use. The assets are optimized for web — small file sizes and low polygon counts. Great for prototyping and stylized 3D scenes.

assetsfreelow-polycommercial-license

Performance & Profiling

Tools for measuring, profiling, and optimizing Three.js rendering performance.

stats.js

open-source

The classic FPS counter for Three.js. Shows frame rate, render time, and memory usage in a tiny overlay. Add it in two lines of code. Every Three.js developer's first performance tool.

FPS counter in two lines of code

fpsmonitoringoverlaylightweight

r3f-perf

open-source

A performance monitor specifically for React Three Fiber. Shows GPU time, draw calls, triangles, textures, and shader programs. More detailed than stats.js and designed for R3F's component model.

GPU-level performance monitoring for React Three Fiber

performancereact-three-fibergpumonitoring

three-mesh-bvh

open-source

Accelerates raycasting by building a bounding volume hierarchy for meshes. Raycasting against complex geometry goes from O(n) to O(log n). Essential for scenes with high-polygon models.

10-100x faster raycasting on complex geometry

raycastingaccelerationoptimizationbvh

three-instanced-uniforms-mesh

open-source

Extends Three.js InstancedMesh with per-instance uniform values. Render thousands of objects with unique materials in a single draw call. Massive performance win for particle systems and forests.

instancingperformanceuniformsdraw-calls

Chrome DevTools Performance Panel

free

Chrome's built-in profiler shows JavaScript execution time, GPU tasks, and frame timing. Record a few seconds of your Three.js scene and find exactly what's causing frame drops. Free and always available.

profilingchromegpuframe-timing

three-gpu-pathtracer

open-source

A WebGL path tracer for Three.js that produces photorealistic renders. Not for real-time — but perfect for generating preview images, baking lighting, and testing scene appearance at high quality.

path-tracingrenderingphotorealisticbaking

Physics Engines

Physics libraries for adding realistic simulations, collisions, and interactions to Three.js scenes.

Rapier

open-source

A Rust-based physics engine compiled to WebAssembly. Fast, deterministic, and memory-efficient. The best physics option for Three.js in 2026 — outperforms Cannon.js and Ammo.js on every metric.

The fastest web physics engine — Rust compiled to WASM

physicsrustwasmfastdeterministic

@react-three/rapier

open-source

React Three Fiber wrapper for Rapier physics. Declarative physics bodies, colliders, and joints as JSX components. The ergonomics are excellent — physics feels native in R3F.

Declarative physics as JSX components in R3F

physicsreact-three-fiberrapierdeclarative

cannon-es

open-source

A maintained fork of Cannon.js — pure JavaScript 3D physics. Slower than Rapier but simpler to debug since there's no WASM compilation. Good for projects where physics complexity is moderate.

physicsjavascriptpure-jssimple

@react-three/cannon

open-source

React Three Fiber wrapper for cannon-es physics. Same declarative pattern as @react-three/rapier. Choose this if you need pure JS physics without WASM, otherwise prefer Rapier.

physicsreact-three-fibercannondeclarative

Jolt Physics

open-source

A high-performance physics engine from Jorrit Rouwe (used in Horizon Forbidden West). The WASM build works with Three.js and handles complex simulations that push Rapier's limits.

physicswasmhigh-performanceaaa

Oimo.js

open-source

A lightweight 3D physics engine that's simpler than Rapier or Cannon. Good enough for basic rigid body simulations — falling objects, stacking, and simple collisions. Small bundle size.

physicslightweightsimplerigid-body

three-mesh-bvh (Collision)

open-source

Beyond raycasting, three-mesh-bvh also handles mesh-to-mesh collision detection. Useful for character controllers, projectiles, and any interaction between complex geometries.

collisiondetectionbvhmesh

Need help choosing the right tools?

I've built production projects with most of these. Let's figure out what fits your use case.