How to Convert STL to STEP: The Route Depends on Where the STL Came From
Published 2026-08-17
Search this question and you land in four different forums watching people talk past each other. One says FreeCAD handles it in three clicks. Another says nothing works and you must remodel from scratch. A third recommends an online converter. All three are correct, for three different files, and almost nobody says which file they had.
Step one is diagnosis, not software
Before opening anything, look at the mesh and decide which of these two it is. This is the whole article compressed into one table.
| Type A: exported from CAD | Type B: scanned or sculpted | |
|---|---|---|
| Where it came from | Someone’s parametric model, exported for printing or sharing | Laser scanner, photogrammetry, ZBrush, medical voxel data |
| What it looks like | Large flat walls, uniform fillets, holes that were once true cylinders | Chaotic curvature, noisy surface, no flat regions at all |
| Triangle count | Usually modest | Usually enormous |
| Algorithm it needs | Planar decimation: detect coplanar facets, merge them, extrapolate cylinders from radial vertex groups | Surface wrapping: drape a network of splines over the topography, approximating the volume |
| Tools built for it | FreeCAD Refine Shape, Fusion Prismatic, SOLIDWORKS Guided Creation | Fusion Organic, SOLIDWORKS Automatic Creation |
| What the wrong algorithm does to it | Wrapping reads sharp 90 degree corners as high frequency noise and smooths them away, destroying the dimensions you needed | Decimation searches for flat planes that are not there, and grinds until it runs out of memory |
The failure modes are worth reading twice, because neither one announces itself. The wrapped mechanical part still looks like the part. Its corners are just slightly soft and its holes are slightly oval, which you discover after sending it to a machine shop.
Why none of this is a conversion
Worth being precise about the mechanics, because it explains why the free and paid routes differ so sharply.
An STL is a list of coordinates joined into flat triangles. It carries no curves, no topology and no history. A STEP file uses boundary representation, describing surfaces as mathematical equations: an infinite plane, a true cylinder, a NURBS patch. There is no operation that reads the first and derives the second, because the information needed was discarded when the mesh was made.
So every tool does the only thing available: it gives each triangle its own flat B-Rep face. One facet in, one face out. The result is a valid STEP file that behaves exactly like a mesh. There is no cylinder to select for tapping, no edge to fillet, and the round hole is a polygon.
What separates a useful workflow from a useless one is the second step, feature recognition, which goes back over that faceted mess and merges facets into real geometry. Our guide on STEP vs STL covers the format-level reasons this direction is so much harder than the reverse.
The free route: FreeCAD
FreeCAD is the only free option that completes the job, and the current stable release is 1.1.3, published 25 July 2026 (FreeCAD News). It is strong on Type A meshes and genuinely unsuitable for dense Type B scans. The Reverse Engineering workbench sounds like the relevant one and is not: it remains a developer sandbox with no automated B-Rep conversion.
First, check the mesh is closed. Switch to the Mesh Design workbench, select the mesh, and open Meshes → Analyze → Evaluate and repair mesh. Run the analysis for folds on surface, non-manifold points and degenerated faces, repairing what it finds. A mesh with holes cannot become a solid, and finding that out now is cheaper than finding out three steps later. If the mesh needs real repair work rather than a quick pass, our guide to fixing broken STL files goes deeper.
Then build the shape. Switch to the Part workbench and run Part → Create shape from mesh. A dialog appears with a sewing tolerance whose default is 0.1.
Then make it a solid. Select the new Shape and run Part → Convert to solid. At this point you have the faceted solid described above: one B-Rep face per original triangle.
Then refine it, and do not skip this. Select the solid and run Part → Create a copy → Refine shape. This triggers OpenCASCADE’s removeSplitter algorithm, which walks the adjacent faces comparing normals, and where it finds a cluster that is coplanar within tolerance it deletes the internal boundaries and merges them into one continuous face. This single command is the difference between a STEP file you can work with and one you cannot. Export with File → Export and choose STEP.
The Sew Shape argument, which the tutorials get wrong
Nearly every published FreeCAD tutorial repeats the official wiki, which says the Sew shape option “is usually not needed” and is meant for meshes that are not watertight (FreeCAD documentation). Community threads go further and warn that enabling it on an already watertight mesh can fuse overlapping shells into self-intersections that block solid conversion.
FreeCAD’s own issue tracker disagrees. Issue #20455, opened 25 March 2025 and still open, argues that the parameter is misleadingly documented and that the guidance undersells it. The technical substance: when the option is disabled the code falls back to OpenCASCADE’s default tolerance of 10e-6, and the reporter provides side by side images showing that a subsequent Refine Shape produces visibly worse results than the same mesh converted with the tolerance enabled at 0.1 (FreeCAD issue #20455).
Both observations can be true, and which applies depends on your mesh. That fallback tolerance of 10e-6 is tight enough that vertices which should be treated as coincident are read as separate, leaving seams that stop Refine Shape from merging faces it otherwise would. On a clean watertight mesh, aggressive sewing has nothing to fix and can do harm. On a mesh with the sub-micron gaps typical of an export, it is what makes refinement work at all.
One historical footnote, since old threads still mention it: the tolerance field used to be uneditable below 1.0 without changing preferences first, reported as issue #6202 against version 0.20 in 2021. That issue is closed and the field behaves normally on current versions.
Fusion 360, and what the free licence actually gives you
Fusion is the only mainstream tool with dedicated algorithms for both mesh types in one interface. The catch is that the useful ones are not in the free tier.
Import with Insert → Insert Mesh, not by uploading through the Data Panel. The direct insertion dialog is where you declare the unit type and reorient the mesh; the Data Panel route skips those controls and scales the model arbitrarily.
For a Type A part, run Prepare → Generate Face Groups first, with the method set to Accurate. This analyses the angle between adjacent triangles, groups contiguous flat regions and detects radial curvature, painting the mesh in pastel colours. It is a prerequisite rather than a nicety: without face groups the converter has no way to infer where continuous planes belong.
Then Modify → Convert Mesh, and pick the method:
| Method | What it does | What it costs |
|---|---|---|
| Faceted | One triangle to one B-Rep face, no optimisation | Included in every licence, including free Personal Use |
| Prismatic | Reads the face groups and merges them into continuous parametric features. The right choice for Type A | Requires a paid subscription |
| Organic | Converts messy topography into an editable T-Spline body. The right choice for Type B | Requires the Product Design Extension on top of a subscription |
This table is the single most common source of disappointment in this workflow, and it is not documented anywhere near the download page. Autodesk maintains a dedicated support article titled “The Prismatic option is missing in the Convert Mesh menu in Fusion”, which exists because so many people hit it (Autodesk). Free users are restricted to Faceted, which means a free Fusion licence gives you roughly what an online converter does.
Fusion also warns when a mesh exceeds about 10,000 triangles, and Autodesk lists an excessive triangle count among the reasons a conversion fails outright (Autodesk). The warning concerns time and memory rather than a hard refusal, but treat it as the point at which to decimate first with Modify → Reduce.
SOLIDWORKS, and the Graphics Body trap
The most common SOLIDWORKS question about this is not how to convert, but why the tools are all greyed out.
Opening an STL directly, without the ScanTo3D add-in loaded, produces a Graphics Body. It renders in the viewport and looks like the part, but it holds no geometry the FeatureManager can address. You cannot sketch on it, section it, or export it to STEP. The mesh is there to look at.
ScanTo3D is not in the Standard tier. As of the 2026 release it ships with Design Professional, Design Premium and Design Ultimate (SOLIDWORKS Help). Load it from the Add-Ins menu before opening the file.
With the add-in loaded, the path runs Tools → ScanTo3D → Mesh Prep Wizard for noise removal and smoothing, then Tools → ScanTo3D → Surface Wizard, where the Solid/Surface Creation PropertyManager asks the question this whole article is about:
- Automatic Creation wraps surfaces over the mesh with little input. Built for Type B: anatomical, topographical, organic.
- Guided Creation has you paint regions of the mesh manually, and fits the closest analytical surface to each painted region, extracting a true plane, cylinder or cone. Built for Type A.
Guided Creation is slower and produces a far better mechanical result, because you are telling the software what each region is meant to be rather than asking it to guess. Expect to finish the job with Trim, Knit and Thicken: the wizard outputs surface bodies that rarely form a watertight enclosure on the first pass.
Where Blender fits, and where it does not
Blender cannot export STEP. It has no CAD kernel and no ability to represent exact B-Rep geometry, so no export setting or add-on produces one. Add-ons that mention STEP work the other way, importing STEP into Blender by triangulating it.
It is still useful for badly damaged Type B scans, as a preparation stage. Import the STL, and in Edit Mode use retopology tools such as Face → Grid Fill to replace chaotic intersecting triangles with a clean quad grid that a CAD kernel can actually interpret. Export that as OBJ, then run the real conversion in FreeCAD or Fusion.
For inspecting and cleaning a mesh before any of this, MeshLab is the lighter tool, and our format compatibility table shows which applications read and write each format in the chain.
Online converters
They work, in the narrow sense that a file comes back. They run unattended scripts, frequently headless instances of the same open source kernels described above, and an unattended script cannot do feature recognition, because feature recognition needs decisions about what the geometry is meant to be.
So they perform the one-to-one faceted translation. Circular holes come back as rings of short straight segments: no centre to reference, no arc to dimension, no concentric constraint possible. For a simple low-poly bracket that only needs to satisfy a supplier’s file format requirement, that may be enough. For anything that will be machined or modified, it is not. They also fail earlier than desktop tools on large files, since they run on shared resources with no option to warn you and let you decide.
Check the output before you trust it
A file with a .step extension is not evidence of a valid solid. Two things need verifying, and they are different checks.
Is it topologically closed? In FreeCAD, Part → Check Geometry runs both a BRep validity check and a Boolean operations check, reporting self-intersections, invalid faces and edges that are too small, and locating each one in the viewport. It also computes area, volume, centre of mass and moments of inertia, and a solid that yields those is genuinely closed. In Fusion, Mesh → Prepare → Repair offers a Quick Analysis with three checks: mesh is closed, mesh is oriented, and mesh has positive volume. In SOLIDWORKS, use Import Diagnostics when the STEP comes back in.
Did the surfaces drift? This is the check almost nobody runs, and it is the one that matters after a wrapping conversion. A spline network draped over a faceted mesh only approximates it, so the new surfaces sit slightly away from the original vertices. Load both the original mesh and the exported STEP into CloudCompare and run the Cloud-to-Mesh distance algorithm, which uses the Hausdorff distance to compute the maximum deviation between the new surface and the nearest original vertex. The output is a heat map showing exactly where the conversion smoothed over a corner or bridged a tolerance you needed.
Advice worth ignoring
Anything that tells you to prepare the mesh in Meshmixer. A large share of the tutorials still ranking for this topic open with that instruction. Autodesk stopped developing Meshmixer years ago, the last release dates to 2018, and the software has since been withdrawn from the company’s own site. Its mesh repair and face group technology was folded into Fusion’s Mesh tab, which is where the maintained version of those algorithms now lives.
Anything that presents this as a single conversion command. If a guide does not ask where your mesh came from, it is describing the faceted translation and calling it a conversion.
Anything written against FreeCAD 0.x. Version 1.0 substantially improved the topological naming problem, which is what caused parametric edits made downstream of a converted solid to break when the base geometry recalculated. Guidance from before that release is describing different software.
Improved is not the same as fixed, though, and this matters specifically for converted solids. Users still report attachments and assembly joints breaking after edits that change which faces and edges exist, and a refined mesh conversion produces exactly that kind of geometry: faces that were merged by an algorithm rather than authored deliberately, and that can be merged differently after a parameter changes. Attach downstream features to origin planes, datum planes and sketches rather than directly to faces of the converted body.
The short version
Diagnose first. Type A from CAD needs planar decimation, Type B from a scan needs surface wrapping, and the wrong choice fails in ways that are easy to miss until the part is being cut.
Free and complete: FreeCAD, provided your mesh is Type A and you run Refine Shape at the end. Test the sewing tolerance both ways on your own file rather than following either side of the argument.
Free Fusion is not a free route. Faceted is all you get, and Faceted is what online converters already do. Prismatic needs a subscription, Organic needs an extension on top.
Decimate before converting. Around 10,000 triangles is where desktop tools start warning; browser tools quit sooner.
Verify twice. Once for topology, once for dimensional drift. The second check is the one that catches a conversion which looks right and is not.
And the answer that applies more often than anyone wants to hear: if the part must be machined and the original parametric file still exists somewhere, finding it is faster than any workflow on this page.
Frequently asked questions
Can you convert an STL to a STEP file?
You can produce a file with a .step extension, but that is not the same as producing an editable CAD model. Every mainstream route works by turning each triangle into its own flat B-Rep face, which gives you a solid that still behaves like a mesh: no cylinder to tap, no edge to fillet. Getting a genuinely editable model requires a second step, feature recognition, that merges those facets back into real planes and cylinders. That step is where the free and paid routes diverge.
What is the best free way to convert STL to STEP?
FreeCAD, currently at version 1.1.3. The sequence is Part then Create shape from mesh, followed by Part then Convert to solid, and finally Part then Create a copy then Refine shape. That last command is the one that matters: it runs OpenCASCADE's removeSplitter algorithm, which merges coplanar triangles into single continuous faces. Skipping it leaves you with a faceted solid that is technically a STEP file and practically useless.
Why is Prismatic greyed out in Fusion 360?
Because it needs a paid subscription. Autodesk publishes a dedicated support article about the Prismatic option missing from the Convert Mesh menu. On the free Personal Use licence only the Faceted method is available, and Faceted performs a rigid one triangle to one face translation with no optimisation. The Organic method sits behind a further paywall, the Product Design Extension, on top of a normal subscription.
How many triangles can be converted to a solid?
Fusion 360 warns once a mesh exceeds roughly 10,000 triangles, and Autodesk lists having too many triangular faces among the reasons a conversion fails outright. The warning is about time and memory rather than a hard block, but it is a reliable signal to decimate first. Browser based converters give up considerably earlier because they run on shared server resources with no way to ask you what to do.
Why does my STL open in SOLIDWORKS but I cannot export it as STEP?
You opened it without the ScanTo3D add-in loaded, so SOLIDWORKS created a Graphics Body. That is a viewport-only representation with no geometry in the FeatureManager, which is why the surfacing tools stay inactive and STEP export is unavailable. ScanTo3D is not in the Standard tier: as of the 2026 release it ships with Design Professional, Design Premium and Design Ultimate.
Can Blender convert STL to STEP?
No. Blender has no CAD kernel and cannot write B-Rep geometry, so there is no STEP exporter to enable. Add-ons that mention STEP, such as STEPper, import STEP into Blender by triangulating it, which is the opposite direction. Blender is still useful here as a preparation step for badly damaged organic scans, where you clean up and retopologise the mesh, export OBJ, and run the actual solid conversion in FreeCAD or Fusion.
Do online STL to STEP converters work?
They run, and for a simple low-poly part the output may be adequate. What they cannot do is feature recognition, because that needs decisions no unattended script can make. They perform the one-to-one faceted translation, so circular holes arrive as rings of short straight segments with no centre to reference and no arc to dimension. They also tend to fail on larger files, since dense topology exhausts the server resources they run on.