Free tool
GLB Voxelizer
Turn a 3D model into blocky voxel art and download it as a GLB. Everything runs locally in your browser — the model is never uploaded, and there are no accounts, AI calls, or credits involved.
Texture and vertex-color sampling is not implemented yet. The exported voxels use a neutral gray material so this tool never pretends to reproduce source colors inaccurately.
Use the free browser-based GLB viewer to check a model before turning it into voxel art.
Open the free GLB viewer → · Repair open holes first → · Convert OBJ to STL →Why use this GLB voxelizer
100% private
Your GLB is voxelized entirely on your device inside a Web Worker. There is no upload endpoint on this page — the file never touches a server.
Completely free
No account, no card, no credits. Voxelize as many GLB files as you want, at any resolution.
Real geometry, not a filter
Every voxel is computed with Möller–Trumbore ray-triangle intersection against your actual mesh — not a texture effect or a preset shader.
Adjustable resolution
Pick anywhere from 8 to 128 voxels along the model’s longest side to trade detail for file size.
Runs in a Web Worker
Voxelization happens off the main thread with a live progress bar, so the page never freezes on larger meshes.
Honest about limits
Texture and vertex-color sampling isn’t implemented yet, so voxels export in a neutral gray material instead of guessing at wrong colors.
Choose the smallest workflow that fits
| Need | Best next step |
|---|---|
| Turn a GLB into blocky geometry | Use the GLB voxelizer above. |
| Check a model before editing | Open it in the GLB viewer. |
| Close simple open holes | Use the STL and GLB repair tool. |
| Preserve exact source texture colours | Keep the original model; voxel colour sampling is not available here. |
Frequently asked questions about voxelizing a GLB
Is my GLB file uploaded anywhere?
No. The voxelizer reads the file locally and processes it in a browser Web Worker. This page has no upload endpoint — nothing leaves your device.
How does the GLB voxelizer decide which voxels to keep?
It casts a ray from each candidate voxel center and counts intersections against every triangle in your mesh (Möller–Trumbore algorithm). An odd number of crossings means the point is inside the model, so that voxel is kept.
What voxel resolution should I use?
Start around 32 for a quick blocky look. Higher values like 96–128 capture more detail but take longer to compute and produce a larger output file.
Will the voxelized model keep its original colors?
Not yet — texture and vertex-color sampling isn’t implemented, so voxels export in a neutral gray material rather than an inaccurate guess at the source colors.
Can I use the downloaded voxel GLB anywhere else?
Yes. It’s a standard .glb file you can open in Blender, a game engine, or any other glTF-compatible viewer.
Sculptly converts a single image into a real GLB, OBJ, or STL mesh in two to four minutes.
Try Sculptly →How the voxelizer builds its blocks, and what it costs
The voxelizer reads every triangle in the GLB, applies each node’s transform, and finds the bounding box. The longest side is divided by the resolution you pick (8 to 128, default 48) to get the voxel size. For each cell it casts one ray from the cell centre along +X and counts triangle crossings. An odd count means the centre is inside the model, so the cell becomes a cube. Lines, points, skinning and animation are ignored.
Every kept voxel is written as its own cube, 24 vertices and 36 indices or about 720 bytes, and faces between touching cubes are not removed. File size follows the number of occupied voxels, not the surface: 50,000 voxels export at roughly 36 MB. Every cell is tested against every triangle, so a dense mesh takes far longer at 128 than at 48.
How it differs from simplifying or remeshing
Mesh simplification removes triangles while following the original shape; the free STL simplifier does this. Remeshing rebuilds the surface with even triangles that still follow the curves. Voxelizing replaces the surface with a grid of equal cubes, so curves become steps and anything smaller than one voxel is lost. It suits a blocky look, and is a poor choice if you only want a lighter file.
When not to use it
Use another tool when the mesh is open; the inside test needs a closed surface. Skip it too for source colours, since the output is one grey material, or for a voxel-art format, because it exports GLB only, not MagicaVoxel .vox files or Minecraft schematics. Thin features can vanish.
More questions about this tool
Why does it say no enclosed volume was found?
It appears only when no cell centre tested as inside the model. The inside test needs a closed surface: with holes the result can be empty or ragged, and shells that enclose no space give nothing. Patch holes with the GLB repair tool first.
Are the voxels the same size in every direction?
Yes. Resolution sets the cube size from the longest side, so a tall thin model gets many cells along its height and few across.
Does the output keep my model’s position and orientation?
Yes. Cubes use the source’s coordinate space, after node transforms, so the result lines up with the original.
What happens with a model made of several parts?
All meshes go into one grid. Closed parts that overlap cancel out where they overlap and leave a hollow, so merge them first.
Which resolution gives a Minecraft-like look?
Around 16 to 32 makes the blocks obvious on most models; 48 is the default.
Related tools: repair open holes so the mesh is closed, arrange several voxelized models in one scene, and reduce triangle count with the STL simplifier.