Why your STL is the wrong size, and how to fix it
Published · By STL Viewer Online
You open a model in the slicer and it is a speck on the plate. Or it is bigger than the printer. Nothing is corrupt. The file contains the right numbers with the wrong unit attached, and since an STL cannot record which unit that was, the receiving program had to guess. This guide explains the factors you will see, which programs produce them, how to confirm the problem in seconds and how to fix it in every common slicer.
The factors
Slicers read STL coordinates as millimetres. A CAD program writes the numbers of its own document unit. So the error is always a fixed ratio:
| Model was designed in | Reads in the slicer as | Factor to fix | Example: a 2 inch (50.8 mm) part |
|---|---|---|---|
| Inches | Far too small | x 25.4 | Reads as 2 mm |
| Metres (Blender default, glTF) | Far too small | x 1000 | Reads as 0.0508 mm |
| Centimetres (Cinema 4D, some 3ds Max setups) | Too small | x 10 | Reads as 5.08 mm |
| Feet (architecture) | Far too small | x 304.8 | Reads as 0.167 mm |
| Millimetres, but exported with a scale of 0.1 or 25.4 by mistake | Too small or too large | Undo the same factor | Reads as 5.08 or 1290 mm |
| Microns (rare, some scanners) | Far too large | x 0.001 | Reads as 50,800 mm |
The reverse happens too: a model designed in millimetres and imported into an inch-based CAD program reads 25.4 times too large. The rule is the same in both directions: the numbers were never converted, only relabelled.
Which programs export in which unit
This table is a starting point. Most programs have a setting, and the setting sometimes changes between versions, so check the export dialog and then check the result.
| Program | Unit written to STL | What to check |
|---|---|---|
| Tinkercad | Millimetres, always | Nothing; it is the one program that never causes this |
| Fusion 360 | Asks in the export dialog; follows document units if you do not look | The Unit Type field in the STL export panel |
| SolidWorks | Document units (US templates default to inches) | Save As STL, Options, Unit |
| Onshape | Asks in the export dialog | The Units field; the default follows the workspace |
| Inventor | Asks in the export dialog | Options, Units |
| FreeCAD | Millimetres internally, exports mm | Nothing unless you changed the preference |
| OpenSCAD | Unitless, treated as mm everywhere | Nothing |
| Blender | Scene units; the default scene is metres with scale 1.0 | The Scale field in the STL exporter (set 1000 if you modelled in metres) or model with 1 unit = 1 mm |
| SketchUp | Model units via the STL extension; templates are often inches or feet | The Units choice in the export dialog |
| Rhino | Document units | The units shown in the status bar before exporting |
| Cinema 4D, 3ds Max | Often centimetres or generic units | Project scale settings; expect a factor of 10 |
| Meshmixer, MeshLab | Pass through whatever was loaded | Whatever the source file used |
| Phone scanning apps | Usually millimetres, sometimes metres | The export options, or just measure the result |
How to check the dimensions in seconds
Drop the file on the STL viewer. The panel shows the bounding box in mm and in inches. Compare it with what the part is supposed to be:
Expected height 50.8 mm (a 2 inch part)
Panel shows 2.00 x 1.50 x 0.75 mm -> factor 25.4, exported in inches
Panel shows 0.0508 x 0.0381 x 0.019 -> factor 1000, exported in metres
Panel shows 5.08 x 3.81 x 1.91 mm -> factor 10, exported in cm
Panel shows 50.8 x 38.1 x 19.05 mm -> correct
The viewer also raises a warning when the largest dimension is under 10 or over 1,000, which catches most inch and metre exports, but a small part in inches can slip under it, so read the numbers. The dimensions page shows the same box with volume and surface area, which is a second sanity check: a 2 inch bracket that reports a volume of 0.4 mm3 is not a 2 inch bracket.
The same check works in the slicer: select the object and read the size fields in the object panel. The viewer is faster because it does not need the slicer open, works on a phone, and warns you.
How to rescale in each slicer
The clean fix is to re-export from the CAD program with the unit set to millimetres, because then the file is right for everyone who uses it afterwards. When you cannot (a download, someone else's file), scale in the slicer.
PrusaSlicer
On import, PrusaSlicer notices very small objects and asks whether the model was defined in inches; say yes and it multiplies by 25.4. Otherwise, right-click the object and choose Convert from inches or Convert from meters. For any other factor, select the object, open the Scale fields in the right panel, and type the percentage (2540 percent for inches, 100000 percent for metres, 1000 percent for centimetres) or type the intended size in mm in one axis with the lock on so the others follow.
Bambu Studio and OrcaSlicer
Select the object and open the Scale tool in the left toolbar (or press S). Type the percentage in the uniform field, or click the lock and type the intended size in mm for one axis. Bambu Studio also prompts on import when an object is very small, offering to treat it as inches. The Objects list shows the size after scaling so you can confirm it.
Cura
Select the model and click the Scale tool in the left toolbar. Uniform scaling is on by default; type the intended size in mm in any axis, or a percentage. Cura also has two preferences worth knowing under Preferences, General: Scale large models and Scale extremely small models. Both are automatic guesses; turn them off if you would rather see the real size and decide yourself.
Chitubox, Lychee and other resin slicers
Select the model and open the Scale panel. Type the intended size in mm for one axis with the lock on, or a percentage. Resin slicers rarely prompt about units, so the viewer check beforehand matters more here.
Any slicer: the arithmetic
percentage = 100 x (intended size / size shown)
2 inch part shown as 2.0 mm: 100 x 50.8 / 2.0 = 2540 %
50 mm vase shown as 0.05 mm: 100 x 50 / 0.05 = 100000 %
80 mm box shown as 8.0 mm: 100 x 80 / 8.0 = 1000 %
120 mm scan shown as 3048 mm: 100 x 120 / 3048 = 3.937 % (it was in feet)
Scale uniformly. Scaling one axis to fix a unit problem is never right, since the unit was wrong in all three.
Preventing it next time
- Set the CAD document to millimetres before you start, or at least before you export. Fusion, SolidWorks and Onshape keep the unit with the document; changing it once fixes every later export.
- In Blender, either set the scene to millimetre units with a unit scale of 0.001, or leave the scene alone and put 1000 in the exporter's scale field. Save a startup file with that setting.
- When you share a file, say the size in the description ("120 mm tall") so the next person can check.
- Prefer 3MF over STL when the receiving program supports it. 3MF records its unit, and the problem does not exist.
- Check every file from a new program the first time. The second time you will know.