STEP to STL Converter
Drop a .step or .stp file, choose how fine the mesh should be, and download a binary STL. The file never leaves your computer.
How to use
- Step 1Drop a .step or .stp file exported from Fusion 360, SolidWorks, Onshape, FreeCAD, Inventor or KiCad. Assemblies with many parts are fine; they come out as one STL.
- Step 2Pick the mesh quality (Normal suits most FDM prints; Fine for small curved parts or resin printers), keep Binary, and press Convert. The 7 MB STEP reader loads only the first time.
- Step 3Open the STL in your slicer. It is in millimetres at the part's true size: STEP records its units, and this page converts them, so nothing needs rescaling.
What STEP and STL are
STEP is ISO 10303, the exchange format CAD programs agree on. A .step or .stp file is plain text (ISO 10303-21) describing an exact boundary representation: every face is a real surface (a plane, a cylinder, a NURBS patch) bounded by exact curves, with units, part names, the assembly tree and often colours attached. The application protocols you meet are AP203 (configuration-controlled mechanical design, the older standard), AP214 (automotive design, which added colours and layers) and AP242 (managed model-based 3D engineering, which merged the two and added annotations). All three are read here.
STL dates from 1987, when 3D Systems needed a file for the first stereolithography machines. It is nothing but a list of triangles, each with a normal: 84 bytes of header, then 50 bytes per triangle in the binary form, or a verbose text form. There are no units, no colours, no part names and no assembly structure, which is exactly why every slicer reads it.
| STEP | STL | |
|---|---|---|
| Geometry | Exact surfaces and curves | Flat triangles |
| Units | Recorded in the file | None; slicers assume millimetres |
| Assemblies | Parts and instances kept apart | Everything merged |
| Colours, names | Optional, usually present | None |
| File size | Compact for curved parts | Grows with mesh quality |
| Edit in | Parametric CAD | Mesh tools, slicers |
What changes on the way to STL
Curved faces become facets: a cylinder turns into a ring of flat strips, a fillet into a staircase of tiny triangles. How close the facets stay to the true surface is the quality setting below. The exact model is not touched; the STL is a fresh approximation of it.
An assembly is flattened. Every part is tessellated in its assembled position and all of them go into one STL, so a bracket with two bolts becomes one file with three shells. That is what you want for a display model; for printing several parts separately, export each part from CAD on its own. Parts that touch or overlap leave their inner faces in the file: most slicers union overlapping shells quietly, some report the overlap.
Units are converted, not dropped: a part drawn in inches comes out in millimetres at its real size. Part names, colours and the assembly tree have no place in STL and are left behind; the page says so when the file had colours.
Mesh quality: what the three settings mean
Tessellation is controlled by two limits. The linear deflection is how far a triangle may sit from the exact surface, expressed here as a fraction of the model's size. The angular deflection caps the angle between neighbouring triangles, which is what keeps a 2 mm hole round when the linear limit alone would allow it to become a hexagon. Normal is the default Open CASCADE uses; Coarse and Fine sit a decade either side.
FDM printers lay down 0.1 to 0.3 mm layers with a 0.4 mm nozzle, so facets that deviate by a tenth of a millimetre are invisible on the print. Fine is worth it for resin printers, for small round features, or when the STL goes on to CNC machining; on a large FDM part it mostly makes the file bigger.
| Quality | Max deviation on a 100 mm part | Angle between facets | Typical use |
|---|---|---|---|
| Coarse | 1 mm | up to 46° | Previews, fit checks, huge assemblies |
| Normal | 0.1 mm | up to 29° | FDM printing |
| Fine | 0.02 mm | up to 11° | Resin printing, small holes and fillets, CNC |
Printing notes
- The STL comes from closed solids, so it is watertight; a STEP that holds only surfaces (a sheet-metal skin, a scanned surface) gives an open mesh that the slicer will offer to repair.
- Check one dimension in the slicer against the CAD drawing. It will match, because the units are converted; if the slicer asks whether the model was in inches, say no.
- Threads, engraved text and knurling produce enormous triangle counts at Fine. Coarse or Normal keeps such parts printable and the file small.
- Nothing is uploaded: the STEP reader is Open CASCADE compiled to WebAssembly and runs in the browser tab.
Questions and answers
Why is my STL so large?
Every curved face becomes many triangles, and each triangle costs 50 bytes in binary STL. A part full of fillets can reach hundreds of thousands of triangles at Fine. Use Normal for FDM printing, keep the Binary format (ASCII STL is about seven times larger), and remember that fine detail like threads multiplies the count.
Does the STL keep the colours and part names from the STEP?
No. STL has no fields for colour, names or an assembly tree, so they are dropped; the page notes it when the file had colours. If you need colours in the slicer, export a 3MF from the slicer after loading the STL, or keep the STEP: Bambu Studio, OrcaSlicer and PrusaSlicer open STEP directly.
Why does the STL come out tiny or huge in the slicer?
It should not: STEP records its units and the page converts everything to millimetres, which is what slicers assume. If the size is still wrong, the CAD model itself was drawn at the wrong scale (one unit meant one metre, say). Compare a known dimension and scale the model in the slicer, or fix the document units in CAD and export again.
Can it read STEP assemblies from SolidWorks or Fusion 360?
Yes. AP203, AP214 and AP242 files with assemblies, sub-assemblies and repeated instances are read, and the page reports how many parts it merged. Each part is tessellated in its assembled position. To print parts separately, export them from CAD one at a time.