Blendlink
Bringing Blender scenes and supported EEVEE materials into Three.js.
- Role
- Product designer & sole developer
- When
- 2026, private development build
- Stack
- Blender
- Python
- TypeScript
- Three.js
- React Three Fiber
- Playwright
I built Blendlink because getting a Blender scene onto a website meant doing much of the work twice. After making the scene look right, I still had to export its meshes, prepare textures, reconstruct materials, and connect the objects to the page.
Blendlink compiles the scene for Three.js and generates typed references to the objects the website needs to control. I can keep editing in Blender while the website handles navigation, layout, and interaction.

Checking the result
Preview Studio opens a browser view of the saved scene. It uses Three's WebGPU renderer with a WebGL2 fallback, which supports the translated node materials. The classic WebGL renderer keeps its existing presentation path and reports features it cannot apply.
A split comparison lets me inspect a Blender render beside the browser view. Difference view helps locate mismatched areas. If an updated shader fails, the last working preview remains available, and retrying a renderer failure does not require another bake.
The aim is a close EEVEE appearance. Lighting, indirect illumination, refraction, and material response can still differ between renderers. The comparison is useful precisely because translating the inputs does not guarantee an identical image.
Connecting a website
The workflow has three commands:
blendlink preview --blend scene.blendbuilds a local preview.blendlink connect [site] --blend scene.blendconnects the file to an existing website.blendlink publish [scene]compiles final assets, verifies them, and runs the website's build. Deployment stays with the website.
Saving the Blender file rebuilds the preview. The compiler reuses valid geometry and UV preparation when it can, and reports its progress during a bake. For development builds, the add-on can point to a local package and preview scenes saved outside the Blendlink checkout.
The desk on this site's homepage is one integration. Its monitor displays React content through a generated screen binding. Blendlink handles the scene connection; the page decides what appears on the monitor and how visitors navigate it. The desk uses an earlier private build and its own painterly filter.
Current limits
As of September 2026, Blendlink is a private development build with no public package release. I test it with Blender exports, packaged Three.js and React Three Fiber websites, browser comparisons, and failure-recovery checks.
The EEVEE work covers a defined set of operations. Shader and compositor parameter animation, Bump, additional render-pass inputs, and Glare modes such as Fog Glow remain unfinished. Unsupported compositor branches produce a diagnostic and bypass the graph. Blendlink does not promise universal node translation or pixel-identical Cycles rendering.