STL Viewer Online

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 inReads in the slicer asFactor to fixExample: a 2 inch (50.8 mm) part
InchesFar too smallx 25.4Reads as 2 mm
Metres (Blender default, glTF)Far too smallx 1000Reads as 0.0508 mm
Centimetres (Cinema 4D, some 3ds Max setups)Too smallx 10Reads as 5.08 mm
Feet (architecture)Far too smallx 304.8Reads as 0.167 mm
Millimetres, but exported with a scale of 0.1 or 25.4 by mistakeToo small or too largeUndo the same factorReads as 5.08 or 1290 mm
Microns (rare, some scanners)Far too largex 0.001Reads 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.

ProgramUnit written to STLWhat to check
TinkercadMillimetres, alwaysNothing; it is the one program that never causes this
Fusion 360Asks in the export dialog; follows document units if you do not lookThe Unit Type field in the STL export panel
SolidWorksDocument units (US templates default to inches)Save As STL, Options, Unit
OnshapeAsks in the export dialogThe Units field; the default follows the workspace
InventorAsks in the export dialogOptions, Units
FreeCADMillimetres internally, exports mmNothing unless you changed the preference
OpenSCADUnitless, treated as mm everywhereNothing
BlenderScene units; the default scene is metres with scale 1.0The Scale field in the STL exporter (set 1000 if you modelled in metres) or model with 1 unit = 1 mm
SketchUpModel units via the STL extension; templates are often inches or feetThe Units choice in the export dialog
RhinoDocument unitsThe units shown in the status bar before exporting
Cinema 4D, 3ds MaxOften centimetres or generic unitsProject scale settings; expect a factor of 10
Meshmixer, MeshLabPass through whatever was loadedWhatever the source file used
Phone scanning appsUsually millimetres, sometimes metresThe 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.

Questions about this topic

Why is my STL 25.4 times too small?

It was exported from a program set to inches. STL has no unit field and slicers assume millimetres, so 2 inches becomes 2 mm. Scale by 2540 percent in the slicer, or use PrusaSlicer's Convert from inches.

Why is my Blender STL tiny in the slicer?

Blender's default scene unit is the metre. A 50 mm object is 0.05 units and becomes 0.05 mm. Set the exporter scale to 1000, or model with one unit equal to one millimetre.

How do I check the real size of an STL?

Drop it on the STL viewer and read the bounding box in mm and inches. Compare with the intended size; the ratio tells you the unit that was used (25.4 for inches, 1000 for metres, 10 for centimetres).

Does 3MF have the same units problem?

No. 3MF declares its unit inside the file (millimetres by default) and slicers convert correctly. If the receiving program accepts 3MF, export that instead of STL.

Related tools

More guides