Cut the triangle count of a GLB, GLTF, FBX, OBJ, DAE, STL, PLY, VOX or VRM — or a zipped model folder — and keep the textures. Runs in your browser, no file size limit, nothing uploaded.
Batch processing runs this exact tool over a whole folder and hands back one zip — no file limit, still nothing uploaded.
It removes triangles from every mesh in your file while protecting the shape you can actually see — the budget is spent where the surface changes, so the silhouette survives long after the triangle count stops being impressive.
It is not only the geometry that is protected: the texture layout and the shading are weighed too. That is the difference between a model that just has fewer triangles and one whose texture still lines up afterwards.
UVs, textures, materials, vertex colours and skin weights all come through — anything attached to a vertex is carried with it. A rigged character still animates. A textured prop still looks like itself.
Open surfaces — capes, leaves, flat planes — keep their outline by default, because eroding a border is the one kind of damage a viewer notices immediately. Turn that off if you want the last few percent.
A percentage slider when you know the fraction; device presets when you think in budgets — background prop, held prop, mobile or desktop character, web product viewer; an exact triangle count when a pipeline demands one; and Smart optimization, which measures the surface and picks the lowest count that stays within a deviation limit — Quality holds 0.2% of the model size, Aggressive allows 0.5% for the smallest possible file.
Every run ends with before and after renders and a deviation heat map, so you can judge what moved before you download anything. Small parts — eyes, buttons, trims — keep a minimum triangle floor instead of vanishing into a global ratio.
AI generators (Meshy, Tripo, Rodin) are the extreme case: they routinely ship a hero-quality mesh for a prop, with hundreds of thousands of triangles describing a shape a few thousand would cover. Those models frequently survive 10–20% with nothing visible lost.
Hand-modelled game assets are already close to their budget, and 50–70% is a more realistic floor. Start at 50%, look at the result, and go lower — the tool is free and instant, so there is no reason to guess.
Most people arrive here with a target in mind rather than a percentage, so here are the rules of thumb the percentage has to land on. A background prop that is never approached: 200–1,500 triangles. A prop the player picks up and holds near the camera: 1,500–8,000. A character on mobile or a standalone headset: 5,000–15,000. A character in a desktop game: 20,000–60,000. A hero character in a cinematic: 60,000 and up.
A text-to-3D generator will hand you 200,000–500,000 triangles regardless of which of those you asked for. That is the gap this page exists to close, and it is why the useful setting for a generated asset is usually between 3% and 15% — not the 50% that feels safe.
If your target platform publishes a hard limit — a headset performance rank, a mobile submission budget, an avatar uploader — take the published number as the ceiling and aim below it, because the triangle count is only one of several budgets that limit will also be checking.
Reducing to 50%, looking at it, then reducing that result to 50% again is the intuitive way to sneak up on a target. It is also the worse way. Each pass works from the mesh it was handed, not from your original — so the second pass is already working on an approximation, and the losses compound. The silhouette erodes in a way a single 25% pass would not have caused.
Decide the number you actually want and go there in one move. If it is too aggressive, come back to the original file and pick a different number — not to the output you just made.
No. It all runs in your browser tab. The file never leaves your machine, which is also why it works offline once the page has loaded.
No. Skin weights, bones and UVs are carried through, so a rigged, textured model comes out rigged and textured. By default the texture files pass through byte-identical; the optional advanced RigBake optimization chain (free account, longer processing, discrete GPU recommended) rebuilds them as part of its pipeline.
GLB is the format that carries geometry, materials, textures and animation in a single file, and every engine reads it. FBX export is not supported yet.
The results are comparable. The difference is that this takes ten seconds, needs no install, and does not ask you to learn Blender first.
Use a reducer that protects the shape rather than one that thins triangles uniformly, and let it keep the boundaries of open surfaces. The triangle budget should be spent where the shape actually changes — flat regions go first, curvature and outline survive. That is what this page does, with boundary preservation on by default.
Much further than feels safe. Text-to-3D output from Meshy, Tripo, Rodin, Luma or Sloyd is uniformly dense — the generator has no idea which parts of the shape matter, so it spends triangles evenly. Keeping 3–15% of the original count is normal for a prop and usually shows no visible difference, because the detail you care about is in the texture, not the mesh. Drop the file in, try 10%, and compare.
One pass. Each run measures error against the mesh it was given, so decimating an already-decimated model compounds the approximation and erodes the silhouette faster than going to the same target directly. If a result is too aggressive, go back to the original file and pick a different number rather than re-reducing the output.
Yes. The texture layout is protected alongside the geometry, so reductions that would smear the texture are avoided even where they would be cheap. By default the image files are untouched and come out byte-identical; the optional optimization chain instead rebuilds the maps to fit the reduced surface.
Less than you would expect, and it is rarely the right lever for it. In a typical GLB the textures are most of the bytes; where the mesh genuinely is the weight — common on generated models — it can be packed 3–4× smaller with every triangle intact, which beats any decimation you would be willing to look at. Decimation buys frame rate. For download size, use Compress GLB, which does both and can work down to a file size you name.