Skip to main content

Draco Compression Online — Compress Any 3D Format to GLB

Compress any 3D model format (OBJ, STL, PLY, GLB, 3DS, 3MF, X) to Draco-compressed GLB format.

Last updated Mar 2026

Loading compressor...

Usually under 3 seconds — depends on file size.

When to Use Draco Compression

WebXR Mobile Optimization

WebXR experiences on Quest, iPhone, and Android require fast asset loading. Draco-compressed GLB loads 5-10x faster than uncompressed on 4G/5G networks.

ARKit/ARCore File Size Limits

ARQuickLook (iOS) has a ~10MB limit. ARCore prefers <5MB. Draco compression reduces large models (20MB → 2MB) to fit platform constraints.

E-commerce 3D Product Viewers

Shopify 3D and WooCommerce AR viewers benefit from fast-loading Draco GLB. 1-second load time increases conversion rates by 7% (Google study).

Three.js Bundle Size Optimization

Embedding GLB files in your Three.js app? Draco compression reduces bundle size by 90%, improving initial page load.

Multi-Format Workflow

You have OBJ/STL/PLY models but need Draco GLB for WebXR? This tool handles conversion + compression in one step (vs. using separate converter + compressor).

How Draco Compression Works

Draco is an open-source compression library developed by Google for 3D meshes. It is designed for web transmission, compressing geometry data by 90-95% while preserving visual quality.

For GLB input, the tool parses the binary container to extract meshes, applies Draco encoding to compress vertex positions, normals, and UVs, then repacks the Draco-compressed meshes back into GLB with the KHR_draco_mesh_compression extension.

For non-GLB input (OBJ, STL, PLY, etc.), the tool first converts to geometry data by parsing the format and extracting vertex, normal, and UV data. It then applies Draco encoding to compress the geometry, and packages the result as a new GLB file with Draco-compressed meshes and a basic PBR material.

The compression combines several techniques for maximum reduction. Mesh quantization reduces vertex precision from 32-bit to 12-16 bit for 40-50% size reduction. Vertex deduplication merges identical vertices for 10-20% reduction. Entropy encoding applies advanced compression to the quantized data for 70-80% reduction. The total result is 90-95% file size reduction for geometry-heavy models.

You can tune four compression parameters: compression level (0-10, where 0 is fastest/largest and 10 is slowest/smallest, default 7), position quantization (8-16 bits, default 14), normal quantization (6-12 bits, default 10), and UV quantization (8-14 bits, default 12).

Typical files (1-10MB) compress in 5-15 seconds.

Frequently Asked Questions
Yes! This is our key differentiator. Upload OBJ/STL/PLY/3DS/3MF/X, and we'll convert to geometry data, compress with Draco, and output a Draco GLB. Competitors only accept GLB input.
Lossy — Draco uses quantization (reduced vertex precision). However, it's visually lossless for typical settings (14-bit position quantization = sub-pixel precision). Visual impact is negligible.
Yes. Three.js has native Draco support via DRACOLoader. You need to include the Draco decoder library in your project and configure GLTFLoader with DRACOLoader.
GLB Optimizer applies quantization and deduplication (30-50% reduction, lossless-ish). Draco Compression applies advanced entropy encoding on top of quantization (90% reduction, lossy but visually lossless). Use Draco for maximum compression.
Yes — recommended workflow: 1. Simplify (reduce polygon count by 70%, e.g., 1M polygons to 300K); 2. Compress with Draco (reduce file size by 90%, e.g., 10MB to 1MB). Total: 70% fewer polygons + 90% smaller file = ultra-optimized for WebXR.

You Might Also Need