---
title: "Batch Model Compression"
description: "Batch compress 3D models with mesh simplification, Meshopt/Draco, and texture optimization. Each file keeps its input format. Runs locally in your browser, no upload."
toolId: "batch-model-compression"
category: "optimization"
subgroup: "compression-general"
subgroupName: "3D Model Compression"
url: "https://any3d.cc/en-US/tools/batch-model-compression"
markdown: "https://any3d.cc/llm/tools/batch-model-compression.md"
---

# Batch Model Compression

Upload several models or ZIPs, apply one shared set of compression options, and keep each file's original format.

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

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

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

## Overview

A batch version of single-model compression: mesh simplification, glTF with optional Meshopt or Draco (mutually exclusive), and texture optimization. Supports GLB, GLTF, OBJ, FBX, STL, PLY, and ZIP archives. Each result stays in its original format (glTF family becomes optimized GLB). Parameters are shared across the whole batch, and everything is processed locally in your browser.

## Tips

- Up to 20 models per batch
- ZIP and mixed formats supported
- Meshopt recommended for glTF; Draco optional
- Download files individually or as one ZIP

## 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:** Multiple 3D Model Formats
- **Type:** Multiple 3D Models
- **Format:** GLB, GLTF, OBJ, FBX, STL, 3MF, STEP/STP, PLY, USDZ
- **Tools:** [Blender](https://www.blender.org)
- **Open With:** [3D Model Viewer](https://any3d.cc/en-US/tools/3dmodel-viewer)
- **Description:** Batch model conversion supports GLB, GLTF, OBJ, FBX, STL, 3MF, STEP/STP, PLY, and USDZ. Drag and drop multiple files for automatic processing.
- **Supported Features:**
  - Batch processing of multiple files
  - Support for GLB, GLTF, OBJ, FBX, STL, 3MF, STEP/STP, PLY, USDZ
  - Automatic file-by-file conversion
  - Real-time progress tracking
  - ZIP download of all converted files
- **Notes:**
  - All files must use the same output format
  - Files are processed locally in your browser
  - Larger batches may take longer to process

## How to use

### 1. Add Models in Batch

Drop multiple models or ZIP files; auxiliary content is matched automatically.

### 2. Set Global Compression Settings

Configure simplification, texture options, and Meshopt or Draco for glTF.

### 3. Review and Download

Check each file's status and size change, then download individual files or one ZIP.

## FAQ

### How many models can I batch compress at once?

Up to 20 models per batch. If you exceed that limit, only the first 20 are processed and the rest are skipped with a notice, so keep each batch under the limit or split the work.

### Can I upload a ZIP archive?

Yes. ZIP archives are extracted automatically, and each model inside becomes its own job. You can mix individual model files and ZIPs freely within the same batch.

### Do all models use the same compression settings?

Yes. One set of simplification, texture, and Meshopt/Draco settings is applied to every model in the batch, so bulk optimization results stay consistent. If individual files need different settings, process them in separate batches.

### How are MTL, texture, and other auxiliary files handled?

Upload them alongside the model files or include them inside a ZIP. The tool reads each model's internal file references and matches auxiliary files automatically; unmatched files are flagged with a warning so you can correct the upload.

### What happens if some files fail during batch compression?

Each model is processed independently, so one failure does not affect the others. Failed jobs are marked in the file list, while successful models remain available for individual download or as part of the ZIP.

### Do Meshopt and Draco apply to every file in the batch?

Mesh simplification (Meshopt library) removes faces and vertices: higher strength means fewer polygons, smaller files, but visible quality loss. Meshopt and Draco are glTF container encodings that compress existing geometry without changing the face count; Meshopt decodes faster, and Draco can achieve smaller sizes, so the two are mutually exclusive. Use both strategies together: simplify first, then add one encoding. STL, OBJ, and FBX skip the container encoding and only receive simplification, plus texture compression when applicable.

### How much smaller will my models get?

Results vary widely: simple models may shrink by 30-50%, while complex textured models can reach 70-90% when all options are enabled. Each job keeps its own format, so the savings apply within that file's native format.

### Should I enable every compression option?

For web deployment, enabling everything (simplify, texture compress, and Meshopt/Draco) produces the smallest files. For archival use, you might skip simplification to preserve full detail. The batch applies the same choice to every file.

### Which texture format should I choose for batch output?

WebP offers the best compression ratio, about 30% smaller than JPEG at similar quality, and is supported by all modern browsers. Choose JPEG for maximum compatibility if needed. KTX2 is an option for GPU-ready delivery in supporting engines.

### What is the output format?

Each job keeps its original format: STL to STL, OBJ to OBJ, FBX to FBX, PLY to PLY. GLB/GLTF inputs export an optimized GLB, which is the only case where the container changes. Mixed batches produce mixed extensions inside the result ZIP.

### What should I know about KTX2 format?

KTX2 is a GPU-optimized texture format with hardware-accelerated decoding. Note that most image viewers and standard 3D software cannot open KTX2 textures. You need compatible tools such as Three.js (KTX2Loader), Babylon.js, or dedicated GPU texture utilities to view and use them.

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