How to Export STL From Blender Correctly for 3D Printing (2026)

Exporting STL from Blender takes one menu path — select the object, choose File > Export > Stl (.stl), pick a folder, click Export — but the file that comes out is only as good as the scale and geometry behind it. Knowing how to export STL from Blender correctly means choosing the right format, baking your modifiers, locking the real-world size and confirming the mesh before it reaches your slicer.

Blender’s STL exporter is built into current versions, so the old add-on tutorials you find online are obsolete. The whole job is about five minutes for a finished model, longer only if the mesh needs repair. Below is the exact panel, then the failures people actually hit.

I’m working with Blender 4.x and 5.x on desktop, and a slicer such as PrusaSlicer, Cura, Bambu Studio or Creality Print at the other end. Menu names differ slightly between 2.9 and 4.x, so I note where that matters.

What You Need

What You Need

You need four things, and only one of them is Blender.

  • A finished mesh model that is a closed solid. A watertight mesh, sometimes called manifold, has every edge shared by exactly two faces and no holes. If your object is a shell with a gap in it, no export setting will fix that.
  • Blender itself. The STL exporter ships with Blender. If a tutorial tells you to enable an STL add-on in Preferences, it was written for Blender 2.7x and earlier — that step no longer exists.
  • A slicer for verification. You cannot confirm scale or watertightness from Blender’s export panel alone. The slicer is where dimensions and the print estimate appear.
  • A scale decision. Either model at real-world millimetres, or model in convenient units and correct the size at export. Pick one deliberately, because STL stores no unit information at all.

That last point causes more broken prints than any other. An STL file is a bare list of triangle coordinates. It carries no colour, no texture, no units, and no record of whether those numbers were centimetres or millimetres.

Slicers assume the numbers are millimetres. That single assumption is the root of the “my model is 1000 times too small” problem that shows up again and again in Blender help forums.

Step-by-Step: How to Export STL from Blender Correctly

Step-by-Step: How to Export STL from Blender Correctly

The full process is four stages: validate the mesh, set scale and orientation, export with the right options, then confirm the result. Skipping straight from modelling to the export panel is what produces the frustrating files.

Check and Fix the Model Before Exporting

Run Blender’s built-in checks first. Open Edit > Preferences > Add-ons, search for 3D Print, and enable the 3D Print Toolbox add-on. It appears as a tab in the 3D Viewport’s workspace sidebar.

Select the object, then click Check All in the toolbox. You are looking for zero non-manifold edges, zero faces with an area of zero, and a sensible intersection count.

  • Non-manifold edges — a hole, a stray edge or an edge shared by more than two faces. Select > All by Trait > Geometry > Non Manifold isolates them so you can see what is broken.
  • Intersections — hundreds of self-intersections usually means separate shells sitting inside one another, or duplicated geometry left behind by a modifier.
  • Zero-area faces — triangles with no area. These break slicers for no good reason.

Two things people misread constantly. First, STL is always triangles — that is the format, not a fault. Second, visible facets on what should be a flat face usually mean the vertices are not exactly coplanar, a modelling problem upstream of the export. A thread on Blender Artists traced distorted triangle markings on an exported cube back to non-coplanar vertices and hundreds of intersecting faces, not to the exporter.

Disconnected parts are worth fixing too. The accepted answer in that same thread was to join the meshes, because separate shells printed together cause nozzle travel, weak joins and odd slicer estimates. Select every piece and press Ctrl+J, or apply a Boolean union if they are meant to be one solid.

For flat objects, add thickness first. A plane or single-sided sheet has zero volume and exports as something no printer can slice. A Solidify modifier with an offset of 1 or 2 mm is the standard fix; a Boolean overlap against a thick base mesh also works, followed by a join.

Set Scale, Units, and Orientation

Blender’s internal unit is one Blender unit equalling one metre. Your scene unit settings decide what that means on screen, and the export panel’s Scale field decides what gets written into the file.

Here is the mapping. Slicers read millimetres, so any row that ends up writing millimetres will print at the size you see in Blender.

Scene unit settingLength unitUnit ScaleSTL export Scale
MetricMillimetres0.0011.0
MetricMetres1.01000.0
ImperialInches0.025425.4

Millimetres with Unit Scale 0.001 and export Scale 1.0 is the safest configuration, because then the numbers in the viewport are the numbers in the file. There is no conversion step to forget.

If you model in metres or inches instead, the export Scale field compensates — 1000 for metres, 25.4 for inches — as long as the Scene Unit checkbox in the export panel is ticked so the exporter knows your unit scale. That checkbox is also a known trouble spot: a bug report on the Blender issue tracker documents STLs coming out 1000 times too small with the Scene Unit option both on and off, under otherwise normal Metric settings. If your file is off by a factor of 1000, check this box before you touch anything else.

Orientation is simpler. Apply rotation and scale so the object has no leftover scale values: select it, press Ctrl+A, then Rotation and Scale. Sit the model on the build plate with Z pointing up, the way you want it to print. Blender’s default export axis mapping is Y forward, Z up, which most slicers expect; only change Forward and Up if your slicer consistently prints the part on its side.

Choose the STL Export Settings

Once you pick File > Export > Stl (.stl), Blender saves the file and opens the options panel in the bottom-left corner. These are the settings that matter for printing.

OptionWhat it doesRecommended value
FormatWrites the file as readable text or compact binaryBinary
BatchWrites one file per object, appending the object nameOff unless you want separate parts
Selection OnlyExports only selected objects instead of the whole sceneOn once you have selected what you want
ScaleMultiplier applied to every exported coordinate1.0 with millimetres; 1000 for metres
Scene UnitLets the exporter read your Unit Scale valueOn if you are not in plain millimetres
Forward / UpAxis conversion for apps that expect a different orientationLeave at Y forward, Z up
Apply ModifiersExports the evaluated mesh after every modifier is calculatedOn, always
PropertiesWhich modifier level gets exported: Viewport or RenderViewport unless you need Render-level detail

ASCII versus binary matters more than most guides admit. ASCII writes each triangle as six lines of plain numbers, so you can open the file in a text editor to read the coordinates and confirm the scale yourself. Binary packs the same data into a compact 80-byte header plus 50 bytes per triangle. An ASCII STL of 3DBenchy lands around 8 MB; the binary version of the identical model is closer to 700 KB. Use binary for anything you actually print, and ASCII only when you need to inspect or hand-edit the numbers.

Apply Modifiers is where Subdivision Surface bites people. With it off, you get the raw cage and your rounded model prints as a low-poly blob. With it on, Blender exports the evaluated mesh, and the Properties setting decides which level: Viewport uses the Levels value shown in the viewport, Render uses the higher Render Levels number. Set your viewport level to 2 for printing and leave the export on Viewport, or your file will carry tens of thousands of unnecessary triangles.

Selection Only trips up almost everyone once. If only part of your model appears in the slicer, either the option is on with a partial selection, or you expected a merged mesh. Select all your parts, then join them with Ctrl+J before exporting if you want one file. If you would rather have one STL per object, tick Batch instead and Blender names each file after the object.

Verify the STL in Your Slicer

Open the exported file in PrusaSlicer, Cura, Bambu Studio or Creality Print and check three things in this order: the X, Y and Z dimensions, the part sitting flat on the build plate, and whether the triangle overlay shows one continuous shell rather than several overlapping ones.

The dimensions are the real test. If Blender showed a 60 mm part and the slicer shows 6 mm, your export Scale or unit handling is wrong. Fix it in Blender and export again rather than resizing inside the slicer, because the fix belongs in the source file.

The print time estimate is a rough sanity check, not gospel. A 3DBenchy built in Blender once estimated a full hour in Creality Print for a model that normally takes about 15 minutes, and the thread went unresolved. Oversized estimates usually point back at duplicated or interior geometry, stray thin shells, or a modifier applied twice — all model problems, not slicer problems.

You can also bring the file back into Blender for a second opinion. File > Import > Stl (.stl) offers the mirror of the export options: Scale, Scene Unit, Forward/Up Axis, Facet Normals and Validate Mesh. Tick Validate Mesh and Blender reports broken edges, duplicate faces and loose geometry on import. If your file passes that and still fails in the slicer, the problem is scale or orientation rather than topology.

Common Mistakes and Quick Fixes

Almost every Blender STL problem falls into one of these six buckets, and the symptom tells you which one you have.

SymptomLikely causeFix in Blender
Part is 1000 times too small or too large in the slicerUnit scale mismatch between Blender and the millimetres the slicer assumesSet Unit Scale 0.001 for millimetres, export Scale 1.0, tick Scene Unit, and check the Scale field against the table above
Slicer reports the STL as invalidNon-manifold edges, zero-area faces, or duplicate overlapping shellsRun Check All in the 3D Print Toolbox, select > All by Trait > Geometry > Non Manifold, then merge or delete the offending geometry
Only part of the model exportedSelection Only is on with a partial selectionSelect every part, join with Ctrl+J, or untick Selection Only to export the whole scene
Faceted or distorted triangle markings on flat facesNon-coplanar vertices and intersecting faces, not the exporterSelect those faces, snap vertices to the nearest plane, and remove duplicate geometry
Print time estimate is wildly offInterior or duplicated geometry and thin shells inside the modelInspect the exported file from outside, delete hidden shells, re-check manifold status
Nothing or an empty file exports for a flat sheetZero-thickness geometry has no volumeAdd a Solidify modifier at 1 to 2 mm thickness before exporting

Two more that do not fit the table. A model that passed every 3D Print Toolbox check and still gets flagged as invalid by two different slicers usually needs the file re-saved through an intermediate tool rather than any further Blender setting. A FreeCAD forum user resolved a similar scale problem by importing the Blender STL into FreeCAD and re-exporting it at normal scale. And if the file is just too heavy for your slicer to load smoothly, decimating before export does more good than switching to ASCII — the format is not what makes a file heavy.

Before every export, run this short checklist:

  1. 3D Print Toolbox Check All returns no errors.
  2. Modifiers are applied or Apply Modifiers is on, with Properties set to Viewport.
  3. Unit Scale and export Scale match the millimetres row of the table.
  4. Rotation is applied and the model sits flat on the plate.
  5. Disconnected shells are joined, or Batch is used deliberately.
  6. Format is Binary.
  7. The file has been opened in your slicer and the dimensions look right.

Frequently Asked Questions

Can Blender export STL files?

Yes. Blender exports STL natively with no add-on needed, and has done so since the 2.8 series replaced the old exporter. Pick File u0026gt; Export u0026gt; Stl (.stl), choose a location, click Export, and the options panel opens where you set Format, Apply Modifiers, Selection Only, Scale and axis mapping. Tutorials that tell you to enable an STL add-on in Preferences are written for Blender 2.7x and earlier.

Why is my exported STL the wrong size in my slicer?

STL files store no unit metadata, and slicers read the coordinates as millimetres. If you modelled in metres, Blender writes metres and the slicer reads millimetres, making the part 1000 times smaller. Fix it by setting the scene Unit Scale to 0.001 for millimetres and exporting at Scale 1.0, or by leaving metres and exporting at Scale 1000 with Scene Unit enabled.

Should I export ASCII or binary STL from Blender?

Binary for anything you plan to print. It stores the same triangles in roughly a tenth of the space, so slicers load it faster: a 3DBenchy is about 8 MB as ASCII and about 700 KB as binary. ASCII is worth choosing only when you need to open the file in a text editor and read the raw coordinates, such as when you are debugging a scale problem.

How do I fix an STL file that my slicer calls invalid?

Import the file back into Blender with File u0026gt; Import u0026gt; Stl (.stl) and tick Validate Mesh. Blender then reports broken edges, loose geometry and duplicate faces. Fix them in edit mode, or better, return to the original .blend file where the modifiers still exist and re-export with Apply Modifiers enabled. Slicers are strict about zero-area faces and edges shared by more than two faces.

Why does my print time estimate change after exporting from Blender?

An estimate that jumps upwards usually means the exported mesh carries more material than you expect: duplicated geometry, interior shells that should have been deleted, or a thin wall added by a solidify modifier. Open the exported file in a slicer and view it from outside to spot stray parts. A 3DBenchy built in Blender once estimated a one-hour print in Creality Print when it should have taken about 15 minutes.

Can I export multiple Blender objects as separate STL files?

Yes. In the STL export panel, tick Batch and Blender writes one file per object, using each object name in the filename. Leave Selection Only unticked so every visible object is included. If you would rather print the parts as one solid object, join them with Ctrl+J first and export a single file instead.

Start with the scale line in the units table and set it before you model anything else, then run Check All and export at Binary with Apply Modifiers on. That combination covers almost every failed print that traces back to Blender.

Leave a Comment