STL to STEP Converter
Turn a mesh into a STEP solid with faces you can actually select, not one face per triangle.
Built and maintained by Matúš Koleják, Co-Founder, TechDraw AI
Updated
Drop a file here. It never leaves your browser.
No sign-up · no upload · no watermark · no file size limit · STEP first, 3MF and OBJ one click away
How to convert an STL to STEP
Add your STL
Drop an STL onto the tool, or click to choose one. It is read in your browser and never uploaded.
Check the preview
Drag the model to turn it. The triangle count, the number of parts and the size in millimetres are shown under it, so a unit problem is visible before you download.
Download STEP
Click Download STEP. The coplanar triangles are merged into faces as it writes, and the tool then shows how many triangles went in and how many faces and edges came out, so you can see whether the result is a solid worth opening in CAD before you open it.
What happens to your file
The mesh is read in your browser and welded, because a triangle format never says which triangles touch and none of what follows is possible until it does. Then the flat parts are grown back into faces: neighbouring triangles that share a plane, within a tolerance scaled to the size of the part, are collected into one region, and that region's outline becomes a single planar face. Ordinary converters skip this and emit one face per triangle, which is why a 200,000-triangle part comes back from them as a 200,000-face solid that no CAD package can usefully edit. How much is won here depends on how much of the part is flat, and it is worth being exact about that: the six flat surfaces of a drilled plate come back as exactly six faces however finely the mesh was cut, while each of its holes stays as many strips as its tessellation gave it. The outline is simplified too, so the edge of a box is one edge you can fillet rather than the eighty fragments the tessellation left along it, and edges are shared between the faces that meet at them, which is what makes the file import as a closed solid instead of a loose surface body you have to sew first. What does not happen is surface fitting: a cylinder stays a ring of narrow flat strips, because an STL no longer contains the fact that it was ever a cylinder, and inventing one would be a guess dressed up as data. Nor is there a feature tree — no sketches, no extrudes, no parametric history — because those were never in the mesh either.
Starting from a photo or a drawing instead of a mesh? That is the image to STL converter, and a 2D outline becomes a solid on the DXF to STL converter.
What the merge is worth, measured
A 120 × 80 × 8 mm plate with four 10 mm holes, tessellated the way a CAD export tessellates it, through both approaches.
| One face per triangle | Coplanar faces merged | |
|---|---|---|
| Triangles in | 1,564 | 1,564 |
| Faces out | 1,564 | 390 |
| The six flat surfaces | 1,180 faces | 6 faces |
| The four holes | 384 faces | 384 faces |
The flat surfaces collapse completely, and they come back as six faces whether the mesh was cut finely or coarsely. The holes do not move at all: at 96 segments each, those 384 strips genuinely are 384 distinct planes, and calling them a cylinder would mean inventing a radius the file no longer contains. Take the holes away and a prismatic part goes from 768 triangles to 6 faces. Hand it a 3D scan and it will do almost nothing, because a scan has no true planes in it. The tool reports both numbers for your own part after it writes the file.
About formats
STL (from 'stereolithography', though the letters are also read as 'Standard Tessellation Language') was created by Chuck Hull at 3D Systems in 1987 for the first commercial stereolithography machine, and it has outlived nearly everything else from that era. The format describes a shape in the simplest way a shape can be described: as a list of triangles, each one given by three corner points and the direction its outward face points. There is no notion of a curve, so a cylinder is a fan of narrow flats and the smoothness depends entirely on how many triangles were spent on it. There is no colour, no units, no layers, no history and no way to say that two triangles belong to the same feature. That poverty is exactly why it survived: any program can write it and any program can read it, so it became the neutral handoff between modelling and printing. Files come in two flavours, a human readable ASCII form and a compact binary form that stores each triangle in fifty bytes, and the binary one is what practically everything writes today because the ASCII version runs several times larger. The one thing a printer genuinely needs from an STL is that the surface be closed, meaning every edge is shared by exactly two triangles so the solid has a well defined inside; a mesh with gaps leaves the slicer guessing where the material goes. Units are the standard trap, since the file carries none and every slicer simply assumes millimetres.
- Developer:
- 3D Systems
- Initial release:
- 1987
Frequently asked questions
How do I convert an STL file to STEP?
Drop the STL onto the tool on this page and click Download STEP. It is read and converted by JavaScript running in your browser, so there is nothing to install, no account to make and no queue to wait in. 3MF and OBJ come off the same file with one more click.
Is this STL to STEP converter free?
Yes. Free, no watermark, no file size limit, and no account needed to convert or to download. There is no paid tier of this tool to upsell you to.
Is my file uploaded anywhere?
No. The file is opened by code running in your browser tab and never sent to a server, which also means nothing is stored, logged or scanned. You can disconnect from the internet once the page has loaded and the converter keeps working. For a client's part under NDA that is the difference between usable and not.
Does binary or ASCII STL matter?
Both are read. Which one a file is gets decided by its length rather than by whether it starts with the word "solid", because more than one CAD package writes binary files with "solid" sitting in the 80-byte header. Guessing from that word is the usual reason an STL opens as empty in other tools.
Is there a file size limit?
None imposed by the tool. The practical limit is your own machine's memory, since the file is held in the browser tab; a few hundred megabytes is fine on a desktop and less so on a phone. Nothing is queued or throttled because there is no server involved to queue it.
Will the STEP file be an editable solid?
It will be a solid, and you can select its faces, sketch on them, cut, extrude and measure. What it will not be is a parametric model with a feature tree: there are no sketches, no extrudes and no dimensions to change, because none of that was ever in the mesh. Flat faces come back as real faces here — that is what the coplanar merge is for — but a hole comes back as the ring of flat strips the mesh already had, not as a cylinder with a radius you can retype, so you cannot select a hole and change it from 10 mm to 12 mm. Anyone promising a full parametric model out of an STL is describing remodelling, which is a person's job rather than a converter's.
Why are other STL to STEP converters' files hundreds of megabytes?
Because they write one planar face per triangle. That is the shortest legal way to turn a mesh into STEP, and on a 200,000-triangle part it produces a 200,000-face solid, which is where the file size and the minutes-long import come from. This tool merges neighbouring triangles that share a plane into one face first. How much that saves depends on the part: a 120 by 80 mm plate with four 10 mm holes goes from 1,564 triangles to 390 faces, of which 384 are the walls of those four holes and only 6 are the flat surfaces. Take the holes away and the same merge takes 768 triangles to 6 faces. The tool reports both numbers after it writes the file, so you can see what happened on your part rather than take ours on trust.
My mesh has holes. Can it still become a STEP?
It will convert, but it cannot become a closed solid: a shell with a hole in it is written as an open shell and imports as a surface body, and the tool says so rather than handing you something that looks fine until your CAD refuses to cut with it. Run the file through the STL repair tool on this site first — it counts the holes, open edges and flipped faces before it changes anything — and then convert the repaired mesh.
Will a scan convert well?
Less well than a machined part, and for a real reason. The merge only joins triangles that genuinely lie on one plane, and a scan's surfaces wobble by tenths of a millimetre, so there are few true planes to find and the face count stays close to the triangle count. If your scan is of something flat, raise the tolerance and it will merge; if it is organic, STEP is probably the wrong destination and you want a proper reverse-engineering package that fits surfaces to the cloud.
Sources
- Library of Congress, Sustainability of Digital Formats: STL file format family
- ISO 10303-21:2016, Part 21: Clear text encoding of the exchange structure
- Library of Congress, Sustainability of Digital Formats: STEP-file, ISO 10303-21
- STEP Tools: ISO 10303 Part 21 edition 3, final specification
- Open Cascade: the geometry kernel this page reads STEP and IGES with
- FreeCAD: free open source CAD with native STEP import and export