Compress GLB & GLTF filesup to 90%

Shrink GLB and glTF models with Draco geometry compression and WebP/AVIF textures, without visible quality loss. Built for real pipelines: files up to 500 MB, batch uploads, reusable presets and a REST API.

1 free credit · No credit card required · Files deleted after 24 hours

Try it out

Experience the power of compressing GLB files

Drop in your GLB or GLTF file, create a free account and download the compressed model.

or drag and drop

GLB or GLTF up to 500 MB

How to compress a GLB file

Most models come out 60–90% smaller in three steps.

  1. 1

    Upload your model

    Drag a .glb or .gltf file of up to 500 MB into the dashboard, or upload several models at once as a batch.

  2. 2

    Choose your settings

    Start with a preset, or set the Draco compression level, quantization bits, maximum texture size and texture format (WebP, AVIF, JPEG or PNG) yourself.

  3. 3

    Download the smaller file

    Get a validated GLB that loads in three.js, Babylon.js, <model-viewer>, Unity and Unreal. Source and output files are deleted after 24 hours.

What happens to your model

  • Draco geometry compression. Vertex positions, normals and UVs are quantized and entropy-coded, which typically shrinks geometry data by 80–95%. How Draco works
  • Texture resizing and re-encoding. Oversized textures are downscaled (for example 4K to 2K) and converted to WebP or AVIF. For texture-heavy product models this is usually the biggest saving.
  • Cleanup. Duplicate and unused vertices and other unused data are removed, and meshes can be welded, merged, flattened or instanced.
  • Optional simplification. Reduce the triangle count of dense scans, photogrammetry and CAD exports.
  • Validation. Every output is checked with the official Khronos glTF validator, also available as a free online glTF validator.

Have a multi-file .gltf? Pack it into a single file with the free glTF to GLB converter, or automate everything with the compression API.

Features

Save time and bandwidth

GLB file compressor

Reduce GLB file size by up to 90% while keeping them looking great. Built on gltf-transform, this GLB optimizer handles your 3D models efficiently without sacrificing visual quality.

GLTF validator included

Every GLB and GLTF file gets validated automatically. Catches common issues and ensures your compressed models work everywhere they should.

Fast compression API

Simple REST API that processes your GLB files quickly. Perfect for developers who want to add GLB compression to their apps without the hassle.

Create your own presets

Save your favorite compression settings as custom presets. Set up your parameters once and reuse them across different projects - no need to remember all those settings.

Detailed compression controls

Tweak texture quality, geometry simplification, and animation compression to get exactly what you need. Great for when you want more control over your GLB optimization.

Friendly support

Got questions about integration or compression settings? Just reach out! Happy to help you get the most out of your GLB compression workflow.

Free credit to start

Create a free account and get 1 compression credit, no credit card required. Perfect for testing how well this GLB compressor works with your models.

Batch GLB processing

Upload multiple GLB files of up to 500 MB each and compress them all together. Processing runs on our servers, so large models never hit browser memory limits.

Live progress updates

Watch your GLB compression happen in real-time with progress bars and status updates. No more wondering if something is stuck or broken.

Model quality preserved

gltf-transform does the heavy lifting to keep your models looking good while making them smaller. Colors, textures, and animations stay intact.

Easy API integration

Simple REST endpoints with clear documentation. Add GLB file compression to your workflow with just a few lines of code - nothing fancy required.

Built-in GLB validator

Every compressed file gets checked to make sure it's valid and ready to use. Helps catch any issues before you deploy your optimized GLB files.

Code Samples

Integrate with ease

Upload files synchronously for instant results or asynchronously for large batches. Here's how to get started.

import fs from 'fs';
import path from 'path';

async function compressGLB(inputPath, outputPath) {
  const fileBuffer = fs.readFileSync(inputPath);
  const formData = new FormData();
  formData.append('file', new Blob([fileBuffer]), path.basename(inputPath));

  const upload = await fetch('https://api.compress-glb.com/api/1/files/upload/sync', {
    method: 'POST',
    headers: { 'Authorization': '<API_KEY>' },
    body: formData
  });
  const [job] = await upload.json();

  const compressed = await fetch(job.compressed_file_url);
  fs.writeFileSync(outputPath, Buffer.from(await compressed.arrayBuffer()));
}

Frequently Asked Questions

GLB optimization guides

All articles