A serene landscape featuring several green trees with sparse foliage, surrounded by scattered rocks and small wildflowers on a misty day. A user interface panel on the right side shows options for saving and exporting.

Free Browser Based Procedural Tree Generator Released

EZ-Tree is a free, open source, browser based procedural tree generator with over 50 parameters and exports to GLB and PNG.

EZ-Tree is a procedural tree generation tool written in JavaScript and built on Three.js by Dan Greenheck. It produces 3D tree models by applying a set of tunable parameters, more than fifty in total, that control trunk, branch, leaf, and bark properties. The source code and library are open source under an MIT-style licence on GitHub.

How It Works

Users can interact with EZ-Tree in two main ways. The web app provides a browser interface where users can adjust sliders and presets, then export results to GLB for 3D models or PNG for 2D images. The NPM library can be installed using the command npm i @dgreenheck/ez-tree and imported into Three. js-based projects for dynamic generation at runtime. Changing tree parameters requires calling the generate() method to compute and update the geometry.

Features and Parameters

The generator includes around fifteen built-in presets for different tree styles. Customisation options allow artists to adjust branch levels, growth angles, tapering, leaf count, size, tint, bark texture and scale, and many other factors. Export formats include GLB for 3D workflows and PNG for 2D artwork. The parameter set provides fine control over tree shapes, but the generated meshes are not heavily optimised for real-time use and may produce models with tens of thousands of triangles.

Another nice thing is that you can set the camera to curve around the generated tree, so you always see what is happening with your settings and get a very natural background sound. This can make EZ-Tree an unexpectedly pleasant screensaver for anyone who simply wants to watch some greenery grow. Random example, but I am doing paperwork right now, and this is in the background 🙂

Limitations

EZ-Tree focuses purely on procedural model generation. It does not provide animation rigs, material libraries beyond export, physics proxies, or built-in optimisation for game engines. Exported GLB files may require manual cleanup or reduction in DCC tools before being used in production environments. Artists and developers should test EZ-Tree outputs within their own pipelines before relying on them for critical projects.

// Official GitHub repository https://github.com/dgreenheck/ez-tree
// EZ-Tree official site https://eztree.dev
// Tool overview on Three.js Resources https://threejsresources.com/tool/ez-tree