Logo3DFileKit
  • Tools
  • About
Sign up
Back to Guides
Published 2026/05/31·Last updated 2026/05/31·by Mike Xie

Why STL Files Have No Units and How to Fix Scale Problems

Learn why STL files do not store millimeters or inches, why scale changes after import, and how to check dimensions before printing.

You import an STL into a slicer and the model is tiny. Or it is 25.4 times too large. The geometry looks right, but the size is wrong.

This happens because STL files store coordinates, not units. The file can say a vertex is at 10, 20, 5, but it does not say whether those numbers mean millimeters, inches, centimeters, or something else.

Quick Answer

STL files have no standard unit metadata. They store raw triangle coordinates only. Your slicer or modeling software has to assume a unit, usually millimeters. If the source program exported in inches and the slicer assumes millimeters, the imported model can be off by a factor of 25.4.

The fix is not to "repair" the STL. The fix is to confirm dimensions after import, scale by the correct factor when needed, and re-export from the source software with the intended unit settings whenever possible.


What STL Actually Stores

STL stores a triangular surface mesh. Each triangle has three vertices and a normal vector. The format does not define a field for unit labels, material names, texture paths, object hierarchy, or print settings.

That simplicity is why STL is widely supported, but it also means the receiving software must interpret the numbers by convention.

For example:

Coordinate valueIf interpreted as mmIf interpreted as inches
1010 mm254 mm
25.425.4 mm645.16 mm
100100 mm2540 mm

The mesh did not change. The unit assumption changed.

Why 25.4 Scale Errors Are Common

The most common STL scale mismatch is inches vs millimeters. One inch is 25.4 millimeters, so a model can appear exactly 25.4x too small or too large when the exporting and importing tools disagree.

Typical cases:

  • CAD model built in inches, slicer assumes millimeters.
  • CAD export dialog uses "document units" but the document unit is not what you expected.
  • A mesh editor exports raw coordinates without a clear unit prompt.
  • A marketplace model was designed in one unit system but uploaded without notes.

If your model is off by 25.4, the issue is almost certainly unit interpretation.

How to Check STL Scale Before Printing

Do not trust visual size alone. Check dimensions numerically before slicing.

  1. Open the STL in your slicer.
  2. Find the object dimensions panel.
  3. Compare the displayed X/Y/Z dimensions with the expected real-world size.
  4. If the model is 25.4x too small, scale it by 2540% or by 25.4.
  5. If the model is 25.4x too large, scale it by 3.937% or by 1 / 25.4.
  6. Save the corrected project or re-export the STL from the original source.

You can also use the 3DFileKit STL viewer for a quick browser-side inspection. It shows raw model dimensions, but like every STL viewer, it cannot know the intended unit unless you do.

Does Converting STL Fix Units?

No. Converting STL to another mesh format does not recover missing unit metadata. If you use the STL to OBJ converter, the raw coordinate values are preserved, but OBJ also does not reliably solve the unit problem for slicer handoff.

If you use the OBJ to STL converter, the same rule applies in reverse: the output STL has raw coordinates but no embedded unit label.

The safest place to fix units is the original CAD or modeling file, before STL export.

Best Practices When Exporting STL

Use these habits to prevent scale surprises:

  • Set the source document units before modeling.
  • Check the STL export dialog for unit options.
  • Export a test cube with known dimensions when using unfamiliar software.
  • Include expected dimensions in filenames or project notes.
  • Prefer 3MF when your slicer workflow needs unit and project metadata.
  • Keep the original CAD or modeling file, not only the STL.

FAQ

Do STL files use millimeters by default? No. STL has no default unit in the file itself. Many slicers assume millimeters, but that is a software convention, not STL metadata.

Why is my STL 25.4 times too small? It was likely exported with inch-based coordinates and imported by software assuming millimeters. Scale it by 25.4, then verify the final dimensions.

Can 3DFileKit detect the correct STL unit? No. The file does not contain that information. 3DFileKit can show and preserve raw geometry, but it cannot infer whether the designer meant inches or millimeters.

Does binary STL store units while ASCII STL does not? No. Binary and ASCII STL differ in encoding, not in unit metadata. Neither standard STL variant stores units.

Which format should I use if units matter? For modern 3D printing workflows, 3MF is often better because it can carry richer print and unit metadata. For CAD exchange, STEP is usually more appropriate than STL when editable solid geometry is required.

References

  • Library of Congress: STL binary file format
  • Blender Manual: STL import/export
  • Prusa Knowledge Base: 3MF files and PrusaSlicer projects
Back to Guides

On this page

Quick AnswerWhat STL Actually StoresWhy 25.4 Scale Errors Are CommonHow to Check STL Scale Before PrintingDoes Converting STL Fix Units?Best Practices When Exporting STLFAQReferences
Logo3DFileKit

Free, private, browser-based 3D file converter.

GitHubX (Twitter)
Company
  • About
  • Contact
  • Guides
Legal
  • Privacy Policy
  • Terms of Service
© 2026 3DFileKit. All Rights Reserved.