On-device AI · WebGPU

Compress 3D models without uploading them.

Optimize GLB and glTF files right in your browser with Meshopt and Draco geometry compression, polygon decimation, vertex welding, and WebP textures. Compare the result in 3D, read an asset audit, and export in seconds — model bytes never leave your device.

WASM accelerated
GLB · glTF · OBJ · STL · PLY
100% private
Free to use
Why Model Optimizer

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.

How it works

From heavy asset to web-ready in three steps.

  1. 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.

  2. 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.

  3. 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.

Complete guide

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.

FAQ

Answers about Model Optimizer

Yes. The free tier optimizes files with the full pipeline — Meshopt, Draco, decimation, texture resizing, and WebP — with no watermark and no sign-up, and outputs are licensed for commercial use. You can process up to 10 files per batch and files up to 100 MB. Pro raises those limits to 100 files per batch and 500 MB per file.
Related tools