---
title: "3D Model Compression"
description: "Compress 3D models online: mesh simplification, Meshopt/Draco glTF encoding, texture optimization. Output matches input format. No upload required."
toolId: "model-compression"
category: "optimization"
subgroup: "compression-general"
subgroupName: "3D Model Compression"
url: "https://any3d.cc/en-US/tools/model-compression"
markdown: "https://any3d.cc/llm/tools/model-compression.md"
---

# 3D Model Compression

All-in-one 3D optimization: mesh simplification, texture compression, and Meshopt or Draco for glTF. Downloads stay in your original format.

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

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

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

## Overview

The full compression pipeline: mesh simplification, glTF container encoding (Meshopt by default, or Draco, mutually exclusive), and texture scaling/transcoding (WebP/JPEG/KTX2). Supports GLB, GLTF, OBJ, FBX, STL, PLY. Output matches input format; glTF inputs deliver an optimized GLB. The whole pipeline runs locally in your browser.

## 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.

### Texture / Image

- **Max Texture Size** (Default: 1024px): Clamp all textures to this maximum dimension, reducing texture memory and file size.
  - `256` — 256px
  - `512` — 512px
  - `1024` — 1024px (Recommended)
  - `2048` — 2048px
  - `4096` — 4096px
  - `0` — Keep Original Size
- **Texture Format** (Default: WebP): Convert textures to a more efficient format. WebP offers excellent compression and wide browser support.
  - `webp` — WebP (Recommended)
  - `jpeg` — JPEG
  - `png` — PNG
  - `ktx2` — KTX2
  - `original` — Keep Original Format
- **Quality** (Default: 0.75; Range: 0.1 – 1 · step 0.05): Sets the compression quality for WebP and JPEG formats.
- **KTX2 Encoding Mode**: ETC1S produces smaller files, ideal for diffuse maps. UASTC preserves more detail, recommended for normal maps.

## 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. Load Heavy 3D Asset

Import GLB or glTF models that exceed target web or mobile size limits.

### 2. Apply Draco Compression

Enable Draco geometry encoding to compress vertex positions, normals, and UVs.

### 3. Decimate Mesh Vertices

Reduce polygon count with error threshold controls to lower GPU raster load.

### 4. Download Optimized GLB

Export optimized web-ready GLB asset with up to 90% reduced file size.

## FAQ

### How is this tool different from vertex-only or texture-only compressors?

It applies the full optimization stack in one pass: mesh simplification, texture resizing/compression, and Meshopt or Draco encoding for glTF. Vertex-only tools skip textures, while texture-only tools skip geometry reduction. For the largest possible size reduction, this is the complete package.

### What format will I get when I download?

By default you get the same format you uploaded: STL stays STL, OBJ stays OBJ, FBX stays FBX, and PLY stays PLY. GLB/GLTF inputs export an optimized GLB, which is the only case where the container changes.

### Can I enable Meshopt and Draco at the same time?

No. They are mutually exclusive on the same geometry. Use either Meshopt (the default, recommended for web) or Draco for maximum compression, but not both. If you still need a smaller file, increase the simplification strength or compress textures first.

### How much can the model be reduced?

Results vary widely: simple models may shrink by 30-50%, while complex textured models can reach 70-90% with simplification, container encoding, and texture compression all enabled.

### Which texture format is best for the web?

WebP offers the best compression ratio, roughly 30% smaller than JPEG at the same visual quality, and is supported by all modern browsers. Use JPEG for maximum compatibility, PNG for lossless or transparency needs, and KTX2 when your engine supports GPU-ready textures.

### Can I compress several models at once?

Yes, use the batch model compression tool to apply the same settings to many files.

### 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.
