Three ways to make an STL file smaller
| Method | What changes? | When to try it |
|---|---|---|
| Export binary STL | Encoding; keep the parsed triangles. Text precision and nonstandard attributes may not survive conversion. | The input is ASCII and geometry should stay intact. |
| Simplify / decimate | The triangle mesh; small features or dimensions may change. | A binary mesh is still too dense and some geometric change is acceptable. |
| Re-export from CAD | The tessellation generated from the source surface. | You have the original design and can choose a more suitable resolution. |
A ZIP archive can make transfer easier, but it is not a simpler STL mesh. After extraction, the slicer still receives the original triangle count. Deleting arbitrary parts, changing scale or lowering infill is not a substitute for choosing appropriate mesh detail. If triangles and units are new to you, read what an STL file stores first.
How to reduce STL file size in STL Peak
The STL compressor accepts binary or ASCII STL up to 50 MB and 500,000 triangles, subject to device memory. It processes models in your browser. For larger models, re-export from CAD or use a desktop mesh editor before returning here.
- Save an untouched original and inspect it.
Use the STL checker for a baseline report and raw bounds. Confirm units separately. Resolve important existing errors before simplifying; the STL fixer can handle simple planar holes and duplicate or degenerate faces, while complex problems may require another editor.
- Try binary conversion at 100%.
Open the compressor, click Choose STL file, then set Triangles to keep to 100%. Click Simplify mesh, then Download compressed STL. At 100%, the tool retains its parsed Float32 vertex coordinates and triangle order without reducing faces. It recalculates normals and drops nonstandard color/attribute data; this is not a byte-for-byte archival conversion. Decimal ASCII precision beyond Float32 can be rounded.
If the input was already binary, exporting at 100% may save no bytes. Compare the actual result rather than assuming every file will shrink.
- If needed, reduce triangles conservatively.
Reopen the original or choose Replace to select it again. Start with Triangles to keep: 50% and Approximate error limit: 0.5% · balanced. Click Simplify mesh. Open-boundary vertices stay locked, so the result may stop above the target. The error is an algorithmic relative estimate, not a millimeter tolerance or a guarantee about every feature.
- Compare both previews and the actual count.
Switch between Original and Simplified. Rotate and zoom around holes, threads, mating faces, embossed text and curves. If detail changes too much, keep more triangles or choose the tighter 0.1% · fine detail limit and run again. Important dimensions should be measured in a suitable editor.
- Download under a new name and re-check.
Re-import the downloaded STL in the checker and in your slicer. Compare bounds, inspect reported topology issues and review sliced layers. Save the output only when it meets your part’s requirements. Moving between STL Peak tools requires selecting the file again.
A measured example: encoding versus simplification
We generated one smooth sphere with radius 20 coordinate units, then rounded the analytical seam before export. It is the compressor’s Try a high-detail sample geometry: 7,520 triangles. We exported ASCII, parsed it back, and ran the same local engine used by the tool at 100% and at a 50% target. Settings for reduction: 0.5% relative error limit, locked open boundaries. Measurements below are file bytes, not HTTP transfer sizes.
| File | Triangles | Bytes | Change from ASCII |
|---|---|---|---|
| ASCII original ↓ | 7,520 | 2,260,869 | Baseline |
| Binary, all triangles ↓ | 7,520 | 376,084 | 83.37% smaller |
| Binary, simplified ↓ | 3,760 | 188,084 | 91.68% smaller |
In this example, conversion alone preserved all parsed vertex positions and triangle order. Reduction reached the requested count and was about 50% smaller than the full binary file. The algorithm reported approximately 0.1538% relative error. That estimate is not an independent measurement of maximum surface deviation.
The original and full binary bounds were 40 × 40 × 40 coordinate units. The reduced bounds were approximately 39.95718 × 40 × 39.95718. This is a real geometry change, even though the sphere still looks similar. We did not slice or print these files.
How small can a binary STL be?
The conventional binary STL layout takes 84 + 50 × triangle count bytes. For example, 100,000 triangles occupy 5,000,084 bytes, or 5.000084 decimal MB. Source: Library of Congress, binary STL layout. This formula gives a file size at a given count; it cannot tell whether a mesh can safely reach that count.
Binary STL size planner
Explore a triangle budget. No file selection or upload.
100,000 → 50,000 triangles · 5,000,084 → 2,500,084 bytes
Size planning only. Actual simplification may stop above the target to respect topology and the error limit. No file is processed here.
MB here means 1,000,000 bytes; MiB means 1,048,576 bytes. The planner is not a processing-limit checker for every STL encoding: a very verbose ASCII file can exceed the tool’s 50 MB input limit even at a moderate triangle count. Keeping half the triangles does not mean half the printing time, weight or cost. For pricing, use slicer data in the cost estimator.
Reduce unnecessary detail at CAD export
If you own the source design, try a less dense export before decimating the result. Autodesk documents that STL resolution controls tessellation and that fine resolution can create excessive facets and memory use. Its Revit export options also distinguish ASCII and binary. Source: Autodesk STL export settings.
Option names differ by application. Look for resolution, deviation or angular tolerance, and review how each affects your export. SOLIDWORKS explains that stricter deviation and angle settings create more, smaller triangles. Source: SOLIDWORKS export guidance. There is no universal tolerance that is correct for every model or printer.
- Try binary output when accepted by your receiving application.
- Compare candidate resolutions against the smallest feature that matters.
- Keep threads, mating faces, intended openings and required internal geometry.
- Verify a known dimension and inspect the sliced layers after export.
Before replacing the original file
- Re-import the actual download. A successful preview does not validate the exported bytes.
- Compare units and bounds. STL does not declare standard units; check an intended dimension.
- Review topology changes. Use the same diagnostic definitions before and after, and inspect new warnings.
- Measure important features. Bounding dimensions alone cannot reveal a damaged hole, thread or local surface.
- Slice the result. Look for missing walls, unexpected filled openings, islands and support changes.
If the input needs extensive repair first, the repair workflow comparison explains browser, desktop and API options and identifies what was actually tested.
Questions about STL compression
Can I reduce an STL without losing quality?
Converting readable ASCII to binary can reduce bytes without reducing the parsed triangles. In this tool, numeric parsing uses Float32, normals are recalculated and nonstandard attributes are not preserved. Simplification removes triangles and can change shape; do not call that lossless.
Why did I not reach the exact target?
The error limit, locked open-boundary vertices and mesh connectivity can stop reduction early. Inspect the actual output count. Raising the error limit may permit more change, but is a tradeoff rather than a free optimization.
Will a smaller STL print faster or use less filament?
It may be easier to transfer or process. Print duration and material usage depend on the sliced toolpaths and settings, not the STL file’s byte count. Use the slicer’s estimates for budgeting.
What if my STL is over 50 MB or 500,000 triangles?
The current compressor cannot process it. Return to the source exporter or use a desktop mesh editor, make a working copy and reduce the input within those limits. The size planner does not expand the tool’s processing capacity.
Sources and reproducibility
Written by STL Peak Team, the developer of the linked tools. External documentation was checked November 14, 2026. The downloadable JSON contains SHA-256 file hashes, the exact reduction settings, raw bounds, diagnostic counts and measurement definitions so you can compare the supplied files.
- Library of Congress: binary STL format
- Autodesk: STL export settings
- SOLIDWORKS: mesh export resolution
- meshoptimizer: simplifier documentation
KEEP THE DETAIL THAT MATTERS
Try the workflow on a copy.
Begin at 100% for binary conversion. Reduce only when necessary, then inspect the downloaded result.
Open STL Compressor ↗Check the exported STL ↗