Reduce upto ~90% of file size

Your dependable tool for compressing GLTF and GLB models quickly and effectively. Improve fps by optimizing your model.

Drop your file or press Choose file

Old website ?

The old website had a viewer which seemed overkill for a conversion site.
If you need to preview your models please use


Please retry uploading atleast once if you see an error.

If you run into any issues or have questions, please feel free to contact me at or send a message to @antonyadhiban on (formerly Twitter).

(I havent optimized the code so the servers might be busy)

Why Choose OptimizeGLB?

  • Effective Compression Significantly decrease your file sizes, without losing quality and structure of the models.
  • Quick Process Our tool is optimized for speed, getting your models ready in no time. (Paid version soon will provide instant conversions)
  • Zero Cost OptimizeGLB is free to use.
  • Built on a Strong Foundation Thanks to @donrmccurdy for creating gltf-transform, the conversion is well maintained and constantly up-to-date.

Enhance Your 3D Workflow

OptimizeGLB is the practical choice for developers, designers, and 3D artists looking to manage file size constraints efficiently. Our tool is here to support your projects in gaming, AR/VR, and beyond, facilitating quicker load times and smoother rendering.

Integrate our API

Use our API to integrate gltf and glb compression into your pipeline. Contact me at or send a message to @antonyadhiban to get early access.

Frequently Asked Questions

How to use the API ?

POST /api/compress


Authorization: Bearer `YOUR_API_KEY_HERE`
Content-Type: application/json
Request Body
name, fileUrl, and textureFormat

textureFormat options: webp | jpeg | png | avif

default option is webp

textureSize options: 512 | 1024 | 2048 | 4096

default option is 2048

A binary stream of the compressed GLTF file or an error message

Example code

  const options = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_API_KEY_HERE>'
    body: '{

  fetch('', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
If you face any issue feel free to reach out to me at