Vi3W
Skip to content

Guides

How to scale a 3D model for printing (in mm)

Why a model prints the size of a grain of rice, how slicers read units, and how to set exact millimetre dimensions in Blender or the slicer.

Aman PorwalFounder @ Vi3W

3 min read

A pencil sketch of a brass lantern on paper, with the same lantern rising off the page as a solid, lit object

Quick answer

How do you scale a 3D model to an exact size for printing?

Decide the real size you want in millimetres, then set it in your slicer by typing the dimension with uniform scaling locked. Or set it in Blender before export. STL files have no units, so slicers read the numbers as millimetres; a model built in metres can arrive tiny. After scaling, check thin parts are still thick enough.

Why models arrive the wrong size

STL has no units. It stores numbers, and slicers assume those numbers are millimetres. OBJ has no units either. So:

  • A model built in Blender at 0.1 m (100 mm) is written as 0.1, and the slicer reads 0.1 mm: a speck.
  • A model from a tool working in centimetres can come in 10× off.
  • AI-generated models have arbitrary size, because the generator doesn't know how big you want the object.

The easy way: scale in the slicer

  1. Import the model.
  2. Open its scale or size settings.
  3. Make sure uniform scale is locked.
  4. Type the size you want for one dimension (usually height), in mm.
  5. Check the other dimensions follow.

If the model was a speck, the slicer may ask whether to convert units (some detect "this looks like metres"). Accept, or just type the size.

The precise way: scale in Blender

Useful when you want the file itself correct, or to size parts relative to each other.

Option A: work in millimetres

  1. Scene Properties › Units: set Unit System to Metric, Unit Scale to 0.001, Length to Millimeters.
  2. Now 1 Blender unit = 1 mm, and the sidebar shows dimensions in mm.
  3. Set Dimensions in the sidebar (N) to the size you want.
  4. Ctrl+A › All Transforms.
  5. Export STL; the numbers written are millimetres.

Option B: keep metres, export with scale

  1. Leave units in metres. Set the model to its real size (a 100 mm figure = 0.1 m).
  2. Apply transforms.
  3. In the STL exporter, set Scale to 1000 so 0.1 m becomes 100.

Pick one approach and use it every time.

Choosing a size

  • First test print: small, 40–50 mm, to check the model cheaply.
  • Desk figurine: 80–150 mm tall.
  • Tabletop miniatures: match your game's scale; see AI miniatures.
  • Functional fit: measure the real thing; use CAD for anything that must fit precisely.

Check thin parts after scaling

Scaling down makes everything thinner. A sword that's 3 mm thick at 150 mm tall is 1 mm thick at 50 mm, which may not print. After scaling:

  • Run a thickness check (Blender's 3D Print Toolbox, or your slicer's preview).
  • Thicken parts that fall below what your printer can do.
  • Or choose a larger size.

Scaling multiple parts

If a model is in parts (a figure and a base), scale them together, as a group, so they still fit. In the slicer, select both; in Blender, scale the parent or both objects about the same pivot.

For game developers

The same "no units" problem affects game engines too, with different units (metres in Unity and Godot, centimetres in Unreal). Imported model the wrong size covers that side.

Ready to print at the right size? Generate the model in Vi3W, export OBJ, and type the millimetres in your slicer.

Last reviewed