GLTF Vertex Compression

Simplify and encode GLTF geometry, download optimized GLB.

Loading...

Please wait

About This Tool

Accepts .gltf (with .bin and textures). Applies mesh simplification and Meshopt (recommended) or Draco. Outputs an optimized GLB. Textures unchanged. Fully local.

Tips

  • 1Include companion .bin and texture files
  • 2Meshopt and Draco are mutually exclusive
  • 3Mesh simplification and container encoding

About Configuration Options

Vertex / Geometry

Mesh Simplification

Default50%

Range0% – 100% · step 5%

Reduces the number of faces and vertices using mesh simplification. Default medium strength; increasing strength shrinks file size further but may lose surface detail. Only affects geometric density, not the container format.

Meshopt Compression

DefaultOn

Applies EXT_meshopt_compression to glTF/GLB, compressing geometry buffers without changing face count. Enabled by default for runtime-friendly loading. Mutually exclusive with Draco. Not used for non-glTF outputs like STL, OBJ, or FBX.

OnRecommended

Default. Enables Meshopt container compression.

Off

Do not write Meshopt extension.

Meshopt Level

DefaultHigh

Controls Meshopt encoding strategy. Default 'High' generally yields smaller size and enables attribute filters, suitable for most web scenarios. 'Medium' applies more uniform quantization across attributes, which may be preferred by conservative toolchains.

HighRecommended

Default. More aggressive compression with filters, usually smaller.

Medium

More uniform quantization; compression ratio is usually slightly lower.

Draco Compression

DefaultOff

Applies KHR_draco_mesh_compression to glTF/GLB. Often yields smaller files than Meshopt but with higher decoding overhead. Disabled by default; mutually exclusive with Meshopt. Not used for non-glTF outputs.

OffRecommended

Default. Do not write Draco extension.

On

Enable Draco (disables Meshopt).

Compression Strength

Default6

Range1 – 10

Draco encode/decode speed trade-off, range 1, 10. Higher values favor smaller size at the cost of encode speed. Default 6 is suitable for most models.

Encoding Method

DefaultEdgebreaker

Draco topology encoding method. Default Edgebreaker typically gives better compression for triangle meshes. Sequential can be more suitable for ordered strips or point sequences.

EdgebreakerRecommended

Default. Best for common triangle meshes.

Sequential

Suitable for ordered strips and special topologies.

Quantization bits (advanced)

Shown under Advanced settings in the UI. Vertex attribute precision when Meshopt or Draco writes glTF. Defaults: position 14, normal 10, UV 12. Lower bits shrink files more but raise crack, shading, or UV artifact risk.

Position Bits

Default14

Range8 – 16

Quantization bits for POSITION attribute (8, 16). Default 14 balances file size and cracking risk. Too low may cause gaps or jitter.

Normal Bits

Default10

Range8 – 16

Quantization bits for NORMAL attribute (8, 16). Default 10. Too low may cause shading artifacts.

UV Bits

Default12

Range8 – 16

Quantization bits for TEXCOORD attribute (8, 16). Default 12. Too low may cause texture crawling or jitter.

Format Information

Input format

Extension:
gltf, glb
Full Name:
GL Transmission Format (glTF 2.0)
Type:
3D Scene
Format:
GLTF
Description:
glTF is an open standard 3D format by Khronos, dubbed the JPEG of 3D. It uses JSON for scene structure, separate .bin for geometry, and independent textures, enabling incremental loading and streaming. glTF 2.0 is the mainstream format for exchanging 3D content across web, mobile, and game engines. Compared to GLB, glTF uses multiple files, ideal for CDN on-demand loading and resource reuse, but prone to reference loss. For single-file sharing, GLB is more reliable. For fine-grained loading or frequent partial updates, glTF offers flexibility.

Notes:

  • External resources (.bin, textures) need to be kept together
  • May require additional tooling for CAD workflows

Supported Features:

  • Common 3D format

Output format

Extension:
glb
Full Name:
GL Transmission Format Binary (Compressed)
Type:
3D Model
Format:
Binary (glTF 2.0) with Draco/Texture Compression
Description:
The compressed GLB output uses Draco geometry compression and/or texture optimization to significantly reduce file size while maintaining visual quality.

Notes:

  • Draco-encoded models require a Draco decoder to render
  • File size can be reduced by 50-90% depending on settings

Supported Features:

  • Draco geometry compression (up to 90% reduction)
  • WebP/JPEG texture format conversion
  • Mesh simplification with configurable strength
  • Original PBR materials and scene hierarchy preserved

How to Use

1

Upload Model

Drop .gltf plus referenced resources

2

Configure Settings

Simplification + Meshopt or Draco

3

Compress & Download

Download optimized GLB

Frequently Asked Questions

View all FAQs
Q

Why can't I download .gltf directly?

A

Compressed glTF is delivered as a single optimized GLB for portability and engine support: one binary file with the encoded geometry embedded. GLB loads faster than a .gltf with external .bin and textures and is easier to host.

Q

Which decodes faster: Meshopt or Draco?

A

Meshopt is designed for fast decoding on the web and mobile, so it's the recommended default for loading performance. Draco often produces smaller files at the cost of more decode time. Only one can be enabled on the same geometry.

Q

Will textures be preserved?

A

Yes. This tool only processes geometry buffers; textures are embedded in the output GLB exactly as they were in the source, with no quality loss.

Q

Can I only simplify without using Meshopt/Draco?

A

Yes. Disable container encoding and the tool applies mesh simplification only; the output is still an optimized GLB with the reduced geometry. That's useful when you want fewer polygons without re-encoding buffers.

Q

What is Draco encoding?

A

Draco is Google's open-source library for compressing 3D geometry and point clouds. It can shrink mesh buffers by up to 90% with little visible loss. Meshopt is the alternative, usually faster to decode, occasionally slightly larger.

Q

Can I use the compressed model in Three.js?

A

Yes. Three.js loads GLB/GLTF natively and supports both Draco (via DRACOLoader) and Meshopt (via MeshoptDecoder). Include the matching decoder in your project. With Meshopt it ships in three's examples folder.

Support Us