STEP vs STL: which file to send to a machine shop or print service
Send STEP when someone has to machine, mould or quote from true dimensions; send STL when the part is going straight to a 3D printer and nothing else.
Updated 27 October 2026 · 7 min read
Two kinds of geometry
STEP (ISO 10303, files ending .step or .stp) stores boundary representation: faces defined by analytic surfaces (planes, cylinders, cones, tori) and NURBS patches, bounded by exact edges. A 10 mm hole in a STEP file is a cylinder of radius 5.000 mm. The file also carries units, part names, assembly structure, and in AP214 and AP242 flavours, colours and sometimes PMI (dimensions and tolerances attached to faces).
STL stores a mesh of flat triangles approximating the surface. The same 10 mm hole becomes a polygon of, say, 64 segments. The chord error between the polygon and the true circle at that resolution is about 0.012 mm for a 5 mm radius, which does not matter for an FDM print and matters a great deal for a reamed bearing fit. STL has no units, no feature information and no way to tell the reader that those 64 segments were ever meant to be round.
Everything below follows from that difference.
What each recipient actually needs
| Recipient | Send | Why |
|---|---|---|
| CNC machine shop (milling, turning) | STEP, plus a PDF drawing for tolerances and finish | CAM software (Fusion 360, Mastercam, HSMWorks) needs true faces to pick holes, pockets and threads. A mesh forces slow 3-axis scallop toolpaths and cannot be inspected to a tolerance |
| Sheet metal fabricator | STEP (3D) plus DXF flat pattern | They unfold the STEP or use your DXF; a mesh cannot be unfolded |
| Injection moulder | STEP | Mould design starts from your solid: draft analysis, parting line, shrink compensation. Mesh is unusable for this |
| Online quoting (Protolabs, Xometry, Hubs, JLCCNC) | STEP for CNC and moulding; STL or STEP for 3D printing | Their quoting engines detect features from the B-rep. For printing they usually accept both and convert STEP to mesh themselves |
| 3D print service (FDM, SLA, SLS, MJF) | STL or 3MF; STEP accepted by most | The printer only ever sees triangles. STEP gives the service control over tessellation quality, which is an advantage for SLA |
| Your own slicer | STL or 3MF; STEP in Bambu Studio, Orca, PrusaSlicer 2.6+ | Slicers that read STEP tessellate on import with a settable tolerance |
| Another engineer editing the part | STEP (or native file) | They can add features, change dimensions, run FEA. STL would have to be re-modelled |
| Customer or public download | STL or 3MF, with STEP only if you want it edited | STEP exposes the full design intent; STL is a one-way export |
Tolerances and what a quote means
A machine shop quoting from STEP will hold the dimensions in the file to its standard tolerance (commonly ISO 2768-m, about ±0.1 mm on a 10 to 30 mm feature) unless a drawing says otherwise. Quoting from STL, most shops will either refuse or add a surcharge for converting the mesh back to a solid, because a decimated or coarsely tessellated STL does not say what the dimensions were supposed to be. A hole exported at 24 segments is visibly polygonal and will be machined as a polygon if programmed directly from the mesh.
For 3D printing the situation reverses. FDM holds roughly ±0.2 mm at best, SLA and MJF about ±0.1 mm on small parts, so tessellation chord error of 0.01 mm is invisible. The service's own conversion from STEP typically uses 0.01 to 0.05 mm deviation, which is finer than most hobby exports.
File size and handling
STEP size depends on feature count, not on surface area. A simple bracket is 100 to 500 KB; a complex casting with hundreds of fillets can reach 20 to 50 MB; an assembly of 200 parts can be several hundred megabytes of plain text. STL size depends only on triangle count: 50 bytes per triangle in binary form. The same bracket exported at fine resolution is 2 to 10 MB. For organic shapes (scans, sculpts) STEP is either impossible or enormous, since every triangle would have to become a face; the mesh is the only sensible representation.
Upload limits reflect this. Most quoting portals allow 100 to 250 MB per file. Email usually stops at 25 MB. STEP compresses well with ZIP (often 5:1) because it is text; binary STL compresses less (1.5:1 to 2:1).
Going from STEP to STL
Every CAD program exports STL with a resolution setting, and the default is often too coarse for cylindrical features.
- Fusion 360: right-click the body or component, Save As Mesh, set Refinement to High or use Custom with surface deviation 0.01 mm and normal deviation 10°.
- SolidWorks: Save As STL, Options, choose Fine or Custom with deviation 0.01 mm and angle 5°. Tick Do not translate STL output data to positive space if you want the part to keep its origin.
- Onshape: right-click the part, Export, STL, set Resolution to Fine or Custom with angular deviation and chordal deviation.
- FreeCAD: Edit > Preferences > Import-Export > Mesh Formats or export via the Mesh workbench with Surface deviation set explicitly.
- No CAD installed: the STEP to STL converter tessellates in the browser with a selectable tolerance and reports the resulting triangle count. The STEP viewer lets you check the part and its dimensions before converting.
A 0.01 mm deviation on a 20 mm diameter cylinder gives about 100 segments; at 0.1 mm it drops to around 32. Fine is correct for printed parts up to 100 mm; for very large parts a slightly coarser setting keeps the triangle count under control. If the result is too heavy for the slicer, the reduce tool decimates it afterwards, though re-exporting at a sensible tolerance is cleaner.
Going from STL to STEP
This is the direction people hope will be easy, and it is not. Converting a mesh into a solid that a machine shop can use means recognising which triangles form a plane, which form a cylinder, and so on. Fusion 360's Mesh > Convert Mesh (Faceted or Prismatic in the paid tiers), SolidWorks' Mesh2Surface and ScanTo3D, and Geomagic Design X do this with varying success; prismatic parts with clean planar and cylindrical faces convert well, organic shapes do not.
A "faceted" conversion, where each triangle becomes a planar face, produces a technically valid STEP that CAM software cannot do anything sensible with. A shop receiving a 200,000-face STEP will quote it like a mesh or send it back. The STL to STEP converter produces this type of file, which is useful for getting a mesh into CAD as a reference body or for fit checks, but it is not a substitute for a proper solid model. The STL to STEP for CAD guide goes into what can and cannot be recovered.
If a machinist needs the part and you only have STL, the honest options are to re-model it from the mesh with measurements, or to send the STL with a drawing of the critical dimensions and accept the surcharge.
What to send alongside the file
For machining: a drawing (PDF) with critical tolerances, surface finish, material and quantity. STEP has no tolerance information unless it is AP242 with PMI, and few shops read PMI. For printing: material, colour, quantity and any orientation preference. If you send STEP to a print service, state the units in the email; STEP has units inside, but a quick "part is 85 mm long" prevents a scale mix-up on either side.
Threads deserve a mention. STEP from most CAD exports cosmetic threads as plain cylinders with a note in the drawing. Modelled threads (SolidWorks' Thread feature, Fusion's modelled threads option) export as real helical geometry and tessellate to very large STLs; for printing, a modelled thread at 0.01 mm deviation can add 200,000 triangles per thread.
Assemblies
STEP keeps the assembly tree: each part as a separate solid with its name and position. A print service receiving an assembly STEP will usually ask which parts to print and whether they are to be printed as one piece or separately. STL flattens everything into one mesh, so if you need parts printed separately, export one STL per part or use 3MF, which keeps objects distinct. The STL splitter can separate shells that do not touch, but it cannot separate parts that were modelled in contact.
Checking the file before sending
Open the STEP in a viewer and confirm units and overall dimensions. Open the STL and confirm it is watertight and that cylinders look round at the zoom level that matters. The STL viewer shows bounding box, triangle count and manifold status; the print advisor runs a broader pre-print check. A machine shop will not run these checks for you; a print service often will, and will charge for the repair.
FAQ
Can a machine shop work from an STL file?
Some can, but most will ask for STEP. CAM software needs true faces to recognise holes and pockets, and a mesh gives no dimensions to inspect against. Expect a conversion fee or a request to supply STEP.
Is STEP better than STL for 3D printing?
The printer only sees triangles either way. STEP lets the service choose tessellation quality and avoids coarse exports, so it is slightly safer for SLA and MJF. For FDM the difference is negligible.
Why is my STEP file bigger than the STL?
STEP is plain text and stores every surface definition and topological relationship. Parts with many fillets and holes grow quickly. ZIP it for email; it usually shrinks by 80 %.
Does STEP contain tolerances?
Only in AP242 files with PMI, which few exporters produce by default and few shops read. Put tolerances on a drawing.
Can I convert STL to STEP for a machine shop?
A direct conversion makes every triangle a face, which the shop cannot machine from efficiently. For prismatic parts, use a CAD program's mesh-to-solid tool or re-model the part; for organic shapes, expect to pay for reverse engineering.