Saturday, May 09, 2026

3D web: Babylon.js, Three.js and related tools

Three.js – JavaScript 3D Library

AxiomeCG/awesome-threejs: 3️⃣ A curated list of awesome ThreeJS resources


Announcing Babylon.js 9.0Microsoft's popular rendering engine for building interactive, 3D web experiences now has a node-based particle editor, volumetric lighting, advanced Gaussian splatting, and more.


The choice between Three.js and Babylon.js depends on whether you need a flexible rendering toolkit or a comprehensive game engine.

Core Comparison
  • Nature: Three.js is a lightweight 3D library primarily used for rendering and creative visuals. Babylon.js is a full-featured 3D engine designed for games and complex interactive applications.
  • Philosophy: Three.js focuses on minimalism and "unopinionated" flexibility, requiring you to manually assemble features like physics or UI. Babylon.js is "batteries-included," providing built-in systems for physics, animation, and GUIs.
Key Strengths & Differences
  • Ecosystem & Community: Three.js has a massive community (over 5 million weekly downloads) and is the industry standard for artistic web experiences. Its React Three Fiber wrapper is widely considered the best way to use 3D in React.
  • Feature Set: Babylon.js includes high-level tools like a Node Material Editor and a robust Inspector for real-time debugging.
  • Stability: Babylon.js prioritizes backward compatibility, making it ideal for long-term enterprise projects. Three.js updates more rapidly, which can occasionally lead to breaking changes.
  • Performance: Both are highly performant. Three.js is lighter (approx. 168kB) for simple scenes. Babylon.js (approx. 1.4MB) offers better stability in large, complex scenes with thousands of objects.
Best Use Cases
  • Choose Three.js for:
    • Immersive marketing landing pages and brand experiences.
    • Artistic visualizations and creative coding projects.
    • Lightweight applications where minimal bundle size is critical.
  • Choose Babylon.js for:
    • Web-based 3D games (supports Havok Physics).
    • Complex enterprise applications like product configurators.
    • Advanced VR/AR (WebXR) experiences with "out-of-the-box" controller support.

dgreenheck/ez-tree: Procedural tree generator written with JavaScript and Three.js

EZ-Tree is a procedural tree generator with dozens of tunable parameters. The standalone tree generation code is published as a library and can be imported into your own application for dynamically generating trees on demand. Additionally, there is a standalone web app which allows you to create trees within the browser and export as .PNG or .GLB files.