zlim
Sign inGet started
AR

Optimize 3D models for AR

Zlim optimizes 3D models for AR by producing a small, low-draw-call GLB with KTX2 textures that runs comfortably on mobile GPUs — the format used by Android Scene Viewer and WebAR (model-viewer, 8th Wall). It also converts USD/USDZ so you can target iOS too.

Get an API key Read the docs

AR budgets are tighter than the web's

AR runs on a phone's GPU while the camera, tracking, and lighting estimation also compete for resources, often over a cellular connection. That makes the budget strict: low face counts, few draw calls, GPU-compressed textures, and a small file that downloads fast.

Texture memory is the usual culprit for AR crashes — a couple of uncompressed 2K textures can exhaust mobile VRAM. KTX2 is what keeps an AR model stable.

How Zlim makes a model AR-ready

Zlim decimates and quantizes geometry, merges meshes to minimize draw calls, and transcodes textures to KTX2 with mipmaps — emitting a GLB for Android Scene Viewer and WebAR. For Apple AR Quick Look, keep a USDZ; Zlim reads USD/USDZ and writes the optimized GLB for everything else.

bash
zlim optimize product.glb -o product-ar.glb -p maximum   # AR-ready GLB

FAQ

What format does AR need?

Android Scene Viewer and WebAR use GLB; iOS AR Quick Look uses USDZ. Zlim outputs optimized GLB and also reads USD/USDZ, so you can cover all three platforms.

Why does my AR model crash on phones?

Almost always texture memory. Transcoding textures to KTX2 (which Zlim does) keeps them compressed in VRAM and resolves most mobile AR stability issues.

Optimize 3D for AR

Start free — 25 optimizations a month. No card required.

Get an API key
Related
FBX to GLBOBJ to GLBCompress GLBOptimize glTFDraco compressionKTX2 texturesReduce poly countOptimize for webAPI & CLI docs