---
title: "3D Model Vertex Compression"
description: "Browser-based geometry compression: mesh simplification, optional Meshopt or Draco for glTF. Supports GLB, GLTF, OBJ, FBX, STL, PLY, downloads in original format."
toolId: "model-vertex-compression"
category: "optimization"
subgroup: "compression-general"
subgroupName: "3D Model Compression"
url: "https://any3d.cc/en-US/tools/model-vertex-compression"
markdown: "https://any3d.cc/llm/tools/model-vertex-compression.md"
---

# 3D Model Vertex Compression

Reduce polygons and optionally apply glTF container compression for smaller files, output in original format.

**Category:** 3D Model Optimization Tools (`optimization`)
**Subgroup:** 3D Model Compression (`compression-general`)

**HTML:** https://any3d.cc/en-US/tools/model-vertex-compression

> Runs entirely in the browser. Files are not uploaded to Any3D servers.

## Overview

Geometry-focused compression for GLB, GLTF, OBJ, FBX, STL, and PLY. All formats support mesh simplification; GLB/GLTF can additionally apply Meshopt (recommended) or Draco (mutually exclusive) encoding. Output stays in the input format; glTF-family exports as optimized GLB. Textures are left unchanged; use full model compression or texture compression for maps. Simplification is done locally in your browser.

## Tips

- Inputs: GLB, GLTF, OBJ, FBX, STL, PLY; output in original format.
- Meshopt and Draco only apply to glTF/GLB output and are mutually exclusive.
- STL/PLY: simplification only plus binary encoding.

## About Configuration Options

### Vertex / Geometry

- **Mesh Simplification** (Default: 50%; Range: 0% – 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** (Default: On): 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.
  - `on` — On (Recommended): Default. Enables Meshopt container compression.
  - `off` — Off: Do not write Meshopt extension.
- **Meshopt Level** (Default: High): 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.
  - `high` — High (Recommended): Default. More aggressive compression with filters, usually smaller.
  - `medium` — Medium: More uniform quantization; compression ratio is usually slightly lower.
- **Draco Compression** (Default: Off): 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.
  - `off` — Off (Recommended): Default. Do not write Draco extension.
  - `on` — On: Enable Draco (disables Meshopt).
- **Compression Strength** (Default: 6; Range: 1 – 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** (Default: Edgebreaker): Draco topology encoding method. Default Edgebreaker typically gives better compression for triangle meshes. Sequential can be more suitable for ordered strips or point sequences.
  - `edgebreaker` — Edgebreaker (Recommended): Default. Best for common triangle meshes.
  - `sequential` — 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** (Default: 14; Range: 8 – 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** (Default: 10; Range: 8 – 16): Quantization bits for NORMAL attribute (8, 16). Default 10. Too low may cause shading artifacts.
- **UV Bits** (Default: 12; Range: 8 – 16): Quantization bits for TEXCOORD attribute (8, 16). Default 12. Too low may cause texture crawling or jitter.

## Format Information

### Input / Output

- **Extension:** Model
- **Full Name:** 3D Model
- **Type:** 3D Model
- **Format:** Various 3D Formats
- **Tools:** [Three.js](https://threejs.org), [Babylon.js](https://www.babylonjs.com)
- **Open With:** Windows 3D Viewer, [Blender](https://www.blender.org)
- **Description:** Supports many 3D formats (GLB, GLTF, OBJ, FBX, STL, etc.). Drag and drop to view.
- **Supported Features:**
  - Real-time GPU-accelerated rendering via WebGL
  - Orbit controls: rotate, pan, zoom
  - Wireframe and shaded display modes
  - Model info panel with vertex/face counts
  - Animation playback for animated formats
- **Notes:**
  - Supports 20+ 3D model formats
  - Associate texture files (MTL, images) can be uploaded alongside the main model
  - All processing is local, so files never leave your browser

## How to use

### 1. Upload your mesh

Drag in GLB, GLTF, OBJ, FBX, STL, or PLY; textures are left unchanged.

### 2. Configure mesh compression

Enable mesh simplification; GLB/GLTF can also use Meshopt (recommended) or Draco (mutually exclusive).

### 3. Preview and download

Preview and download: the output matches the input format, with the glTF family exported as optimized GLB.

## FAQ

### Which formats are supported?

GLB, GLTF, OBJ, FBX, STL, and PLY. Each format supports mesh simplification; GLB/GLTF additionally support Meshopt or Draco container encoding. Downloads keep the input format: GLB/GLTF export optimized GLB.

### What's the difference between vertex-only and full model compression?

Vertex-only changes geometry only: simplification plus (for glTF) Meshopt or Draco. Full model compression also resizes and re-encodes textures in the same pass. If file size matters most, run full compression; if you only need lighter meshes, vertex-only is enough.

### Why doesn't STL support Draco?

Draco and Meshopt are glTF container extensions; STL has no container. For STL (and PLY), the tool simplifies the mesh and writes binary output: the practical way to shrink those formats.

### How much can non-glTF formats be compressed?

STL and PLY shrink through decimation plus binary encoding; OBJ and FBX through decimation only. Gains are usually smaller than glTF container encoding, but large dense files still compress significantly.

### What is vertex compression?

Vertex compression reduces the number of vertices and faces in the mesh while preserving the overall shape, which directly shrinks geometry data. Combined with Meshopt or Draco on glTF output, the file becomes dramatically smaller while looking nearly identical.

### Which output formats can use Meshopt or Draco?

Only GLB/GLTF exports can carry Meshopt or Draco containers. OBJ, FBX, STL, and PLY outputs are simplified meshes in their original format: for those, decimation is the compression mechanism.

### Is Any3D completely free?

Yes, Any3D's core features are free to use forever. We provide format conversion, model optimization, and online preview at no cost, with no registration required.

### Are my files uploaded to your servers?

No. Files you select are processed only in your browser on this device, so they never leave your device and are never sent to our servers. We don't store any user files; after processing, related data in browser memory is released.

### Do I need to install software?

No installation required. Any3D is entirely browser-based; just open the webpage to use all features. It works on Windows, Mac, Linux, and other major operating systems.

### Is there a file size limit?

The processing capacity depends on your device performance and the model's vertex count and texture complexity, rather than file size alone. We impose no file size limit, but when a model exceeds what your device can handle, the page may lag or even crash.
