Compress 3D models without uploading them.
A production-grade glTF pipeline, in a browser tab.
The same battle-tested engines behind gltfpack and glTF Transform, wrapped in a fast, privacy-first workbench.
Meshopt & Draco compression
Two industry-standard geometry encoders with configurable attribute quantization, plus vertex welding, deduplication, and dead-data cleanup. Typical GLB assets shrink 60–90%.
Loss-controlled decimation
Drive triangle counts to an exact target with meshoptimizer's quadric-error simplifier. UV seams and hard edges stay intact, and skinned or morph-target meshes are protected automatically.
Smart texture optimization
Downscale oversized textures and re-encode color maps to WebP only when it actually saves bytes. Normal, ORM, and other data textures keep their format; KTX2 textures pass through untouched.
3D compare & asset audit
Inspect meshes, materials, textures, animations, and compatibility warnings in a professional report, then scrub a linked before/after 3D view to verify visual quality.
From heavy asset to web-ready in three steps.
- 01
Add your models
Drag in a GLB, glTF bundle, OBJ, STL, or PLY file — or queue up to 10 files at once on the free tier. Everything is read locally; nothing is uploaded.
- 02
Pick a preset or fine-tune
Web, AR, compatibility, and aggressive presets apply the full pipeline in one click. Need control? Adjust compression, decimation ratio, texture size, and WebP quality yourself.
- 03
Compare and export
Review size and triangle savings, scrub the original-versus-optimized 3D view, then download the optimized GLB or a separated glTF ZIP with textures.
About the 3D model optimizer
A free 3D model optimizer that shrinks GLB and glTF files entirely in your browser. It is built for web developers shipping three.js scenes, XR teams preparing AR assets, game and simulation studios cleaning up exported content, and anyone who has been told a product listing, ad platform, or app bundle rejects a model for being too large.
Every operation runs on your device: geometry compression with Meshopt or Draco, attribute quantization, vertex welding, lossless cleanup, triangle reduction with automatic protection for rigged and morph-target meshes, texture resizing, and WebP re-encoding for color maps. A split before/after viewer and an asset report show exactly what changed before you download.
What happens during optimization
The tool runs the same glTF Transform pipeline used in professional asset pipelines, compiled and executed locally in a Web Worker. First it removes unused nodes, materials, textures and accessors, merges duplicates, and optionally welds coincident vertices. Then it simplifies geometry to your triangle target, resizes and re-encodes textures, and finally applies Meshopt or Draco compression with quantization before writing the file. Every output is read back and validated in the same pass, so a download that finishes has already been parsed successfully.
Inputs go beyond glTF: OBJ with MTL, STL, and PLY are ingested and converted to glTF automatically, which makes the tool a format migration path as well as a compressor. For separated glTF bundles, select the .gltf, .bin and texture files together in one pick — they are treated as one asset.
Choosing a preset
Web uses Meshopt compression with 2048 px WebP textures: Meshopt decodes extremely fast on the main thread and is the default recommendation for three.js, React Three Fiber, and Babylon.js scenes where first-frame time matters. AR uses Draco, whose higher ratio pays off on mobile downloads and is widely supported by AR runtimes. Compatibility turns geometry compression off while keeping quantization and lossless cleanup, for older pipelines, offline renderers, and tools that only accept plain glTF. Aggressive combines Meshopt with a 35 % triangle target and 1024 px WebP textures when size beats everything else — LOD stand-ins, prototypes, and email-quota handoffs.
Presets write every setting explicitly; after you pick one you can still move any slider, and the preset highlight clears to signal that the result is custom.
Geometry controls and what is protected
Triangle target keeps the given percentage of triangles after reduction — 50 % typically halves the mesh with little visible change on smooth organic forms, while values below 40 % should be checked in the viewer. Reduction uses error-aware edge simplification, so silhouette and large features survive longer than interior detail. Meshes attached to a skin or driven by morph targets are detected automatically and left untouched, because collapsing their vertices would break bones and blend shapes; use your digital content creation tool for LODs on those meshes.
Weld merges vertices that share a position, which removes the cracks produced by some exporters and makes simplification more effective. Quantize stores positions, normals and UVs in compact fixed-point types; together with compression it is where much of the size gain comes from, and every quantized output also includes the KHR_mesh_quantization extension declaration so loaders interpret it correctly.
Textures without surprises
Maximum texture edge downscales images proportionally with high-quality smoothing — 4K source photos rarely justify 4096 px on the web, and a 2048 px cap is often invisible in the rendered scene. Color maps (base color and emissive) are additionally re-encoded to WebP at your chosen quality, but only when the WebP bytes are actually smaller; otherwise the original encoding is kept. JPEG sources stay JPEG when WebP does not win.
Data textures are handled differently on purpose: normal, occlusion, and metallic-roughness maps are resized as requested but remain PNG, because WebP's lossy artifacts would corrupt normals and material response. KTX2/Basis textures are passed through byte-for-byte — the tool never decompresses and recompresses a texture it cannot improve.
Limits, formats, and requirements
The free plan processes batches of up to 10 models totaling 100 MB; Pro raises that to 100 models and 500 MB. A single file is always accepted, and signing in is never required to use the tool. Outputs are a single self-contained GLB, or a separated glTF bundle delivered as a ZIP; with multiple models done, Download all packages every result in one ZIP.
FBX, USD, STEP, and Collada are not accepted — convert them to glTF first — and there is no material editor, AI texture generation, or server-side processing. The geometry and texture libraries are bundled locally; only the open-source Draco and KTX2 decoder runtimes are fetched from a CDN the first time the preview needs them and are cached afterwards.
Privacy and licensing
Your model bytes never leave your device. There is no upload endpoint in the pipeline: decoding, optimization, encoding and the before/after preview all run in your browser's memory, and closing the tab discards everything. This matters for unreleased game assets, client work under NDA, and scanned products — the privacy claim is architectural rather than a policy promise.
Everything the tool produces is yours, with no watermark and no attribution requirement, including files made on the free plan and used commercially. The underlying libraries are open source (glTF Transform, meshoptimizer, Draco, and three.js); their licenses are disclosed in the page footer.
Answers about Model Optimizer
Depth 3D
Turn a single photo into an interactive 3D scene and export GLB, OBJ, or USDZ.
CAD Trace
Turn part photos, sketches, and scanned drawings into editable DXF/SVG — native line, arc, and circle entities, traced in your browser.
Vectorize
Convert bitmaps, logos, and icons into crisp, scalable SVG.
Compress
Shrink images and convert formats locally with MozJPEG, OxiPNG, WebP, and AVIF WASM codecs.