Both directions, which is the point
Plenty of tools will Draco-compress a glTF for you. Almost none will take it back out — and that is the direction people get stuck on. Older Babylon.js builds, several Unity glTF importers and a number of DCC tools simply cannot read KHR_draco_mesh_compression. If a client sends you a compressed GLB and your pipeline rejects it, you need decompression, not more compression.
This tool does both, in the browser, with nothing uploaded.
Draco vs Meshopt
They solve the same problem differently, and the right choice depends on what you are optimising for.
Draco uses connectivity-aware entropy coding and produces the smallest files — typically 80–95% off raw vertex data. The cost is decode time: the decoder is a substantial WebAssembly module and unpacking a large mesh takes real milliseconds the user spends staring at nothing.
Meshopt uses byte-level filters and a much simpler codec. Files land slightly larger than Draco but decode roughly an order of magnitude faster, and the format is designed so decoding can overlap with streaming. For a website where time-to-first-pixel matters more than transfer size, Meshopt usually wins.
Standalone .drc is Draco with no glTF wrapper at all — geometry only, no materials, no textures, no hierarchy. Useful for research pipelines and custom loaders, useless as a delivery format for a textured asset.
Quantisation is where the quality goes
Both codecs quantise: floating-point attributes become fixed-point integers at a chosen bit depth. This is lossy by construction, and each attribute has a different tolerance.
- Position — 14 bits is visually lossless for almost everything. At 12 you may notice vertices snapping to a grid on large models; at 10 it is obvious.
- Normal — 10 bits is safe. Artefacts show up as banding across smoothly-shaded surfaces.
- Texture coordinates — 12 bits. Below 10, UVs drift and textures visibly swim across the surface.
- Colour — 8 bits matches what most vertex colour data carried in the first place.
Do not compress twice
Re-encoding an already-Draco file means decoding it, quantising the already-quantised values again, and re-encoding. Each round loses precision that never comes back. The tool detects existing compression on load and warns you — if you need different settings, decompress first, then compress once from the clean result.
What it will not shrink
Geometry codecs do nothing to textures. If your 40 MB GLB is 38 MB of 4K PNGs, Draco will save you a few hundred kilobytes and you will conclude compression does not work. The results panel breaks out geometry bytes specifically so you can see what the codec actually achieved, separate from the rest of the file.
Privacy
Draco and Meshopt both run as WebAssembly in your browser. Nothing is uploaded.
Tiny Online Tools







