STL scale guide
Why STL Files Have No Units
Substantially updated 2026-10-29. First published 2026-09-05.
STL stores coordinate values without an authoritative unit declaration. A span of 20 can describe 20 mm or 20 inches, depending on the intended source unit. Establish that unit from a drawing, known feature or the author before changing the file.
What the coordinate span tells you
A bounding span is maximum minus minimum on an axis. It describes the stored mesh in its current orientation; a filename, viewer zoom level or apparent fit on screen cannot supply its intended physical unit. Preserve the source bytes while you investigate.
Test a unit hypothesis
| Coordinate span | Assumed unit | Physical span |
|---|---|---|
| 20 | Millimetres | 20 mm |
| 20 | Centimetres | 200 mm |
| 20 | Inches | 508 mm |
A 25.4 ratio is evidence to investigate an inch/millimetre mismatch, not permission to apply that factor automatically. Compare a second independent dimension. A deliberately large model or a later scale operation can produce the same apparent ratio.
The owned 20-coordinate cube control has unchanged coordinates under each hypothesis. Its design convention is known; that does not establish the convention of an unrelated customer file.
Find where the interpretation changed
- Record the authoring unit, one trusted dimension and the supplied revision. Ask for missing information rather than guessing.
- Compare the exporter's coordinate values with that reference. Record any scale applied before export.
- Open the same bytes in the dimensions checker and compare all axes under the supported assumption.
- Check the receiving application's import convention and later transforms. A disagreement can start at export, import or a subsequent edit.
Decide whether to reinterpret or resize
Changing a viewer's unit assumption changes how coordinates are interpreted. Resizing an STL changes its coordinates. A receiving program can still make a different assumption because the saved STL has no unit declaration. Use a basic 3MF when you need to package a known coordinate unit, and verify the receiving program.
If a known 20 mm part already has a span of 20 and the receiver treats that as inches, correct the receiving assumption first. Multiplying its coordinates by 25.4 would create another change. If the coordinates themselves need resizing, record the intended factor and keep a separate output. Follow the practical scaling workflow once that decision is established.
Next action
Use factor and percentage arithmetic only after the physical interpretation is known. Follow the STL-to-3MF workflow to package that convention; conversion does not discover intent or repair the mesh.