Free online STEP to DXF converter
STEP to DXF with the bores at their true diameter
Drop a .step or .stp, choose where to section it, and download a DXF a cutter will run. What the plane cuts is generated here from the file's own surfaces, fine enough that a bore in the section is recognised as a circle and written as one at the diameter the CAD had — rather than inheriting whatever coarse tessellation someone chose when they exported an STL. Nothing is uploaded.
- 100% free
- No signup
- True diameters
- Closed contours
- Nothing uploaded
Drag a file anywhere on this page to open it. F fits the view, W switches shading, G the grid, R spins it.
How to convert STEP to DXF
Three steps, with one real decision in the middle.
Drop the .step or .stp
The file is parsed into its actual surfaces, and the geometry the cut runs over is generated from those, here, at about a thousandth of the part's size. That is the difference from slicing an STL somebody exported: you are not stuck with whatever tolerance they picked.
Choose the section
Axis and height. A cut through a housing gives the plate you would water-jet; a cut near a flange gives the gasket. The contours appear immediately, with a count of how many closed, so you can move the plane until the section is the one you meant.
Download the DXF
R12 ASCII, millimetres, closed polylines with holes marked as holes. That is the file a cutter nests and runs; nobody has to open CAD in between to repair it.
Technical specifications
| Reads | .step, .stp — AP203, AP214, AP242, assemblies included |
|---|---|
| Writes | .dxf — R12 ASCII, closed polylines, millimetres |
| Operation | Planar section at an axis and height you choose |
| Geometry cut | Generated here from the file's surfaces at about 1/1000 of the part |
| Circles | Circular sections written as CIRCLE entities at their fitted diameter |
| Holes | Marked by nesting depth, not by contour direction |
| Not produced | Projected views, hidden lines, dimensions, title blocks |
| Kernel | None — no OpenCascade, no WebAssembly, no server |
| File size | No fixed limit — past 100 MB you are told what it will cost this tab, then it opens |
Frequently asked questions
Is this a section or a flattened view?
A section: the material a saw would pass through at the height you choose. That is what fabrication usually wants, because it is the shape of the plate. A projected drawing — the silhouette with hidden lines, three views and a title block — is a drafting job rather than a conversion, and it needs decisions about view placement and line weights that no converter should be making for you.
Why not convert to STL first and slice that?
You can, and it costs you accuracy in a way that is easy to miss. An STL was tessellated at whatever tolerance the person exporting it chose, and it is usually coarse — slicing it gives you their approximation, not the part. Here the surfaces come from the STEP and the geometry sliced is generated at about a thousandth of the part's size, which is fine enough that a section of a bore has enough points to be recognised as a circle and written as one, at the diameter the CAD actually had.
Are the holes marked properly?
Yes, by containment rather than by direction. A contour sitting inside an odd number of other contours is a hole; that rule handles a bore inside a boss inside a plate without any special cases, and it does not depend on polyline winding, which is not something you can trust in geometry that came out of a solid model.
The section came out empty. What happened?
The plane missed the part, or it sits exactly at a flat face. Cutting precisely along the top of a plate produces no crossing edges at all — there is nothing for the plane to pass through — and the honest result is an empty section rather than an invented outline. Move the height a fraction into the material. The panel reports how many contours were found before you download, so this is visible rather than deduced from a blank file.
Which DXF version does it write?
R12 ASCII, on purpose. It is the oldest version still read universally, with no object dictionary and no class table, and there is nothing in a cut file that needs anything added since — while every added feature is one more thing a budget laser's software can refuse. Closed contours carry the closed flag, which is what cutting software reads to tell inside from outside.
Is my file uploaded?
No. Parsing, surface evaluation, sectioning and DXF writing all run in this tab. A STEP file is normally the most confidential thing in a project, and it never leaves the browser here.
Dropping a dimension without dropping the accuracy
Going from a solid to a drawing is not a format change, it is a loss of one dimension, and the interesting question is which dimension and where. A cutter does not want the part; it wants the shape of the plate the part is made from. That is a section — the material a saw would meet at some height — and choosing that height is a decision about the part, which is why it is a control here rather than a default.
Where accuracy leaks away is the tessellation, and specifically whose it is. A section has to be taken over triangles at some point; the question is whether those triangles were generated for this purpose or inherited from an STL somebody exported at whatever setting was already in the dialog. Inherited, a 10 mm bore is a polygon measurably under 10 mm and there is nothing downstream that can recover it. Generated here from the file's own surfaces at about a thousandth of the part, the same bore has enough points on it to be recognised as a circle — and because every one of those points lies on the true cylinder, the circle fitted through them carries the original diameter, not the polygon's.
The rest is contour work: chain the crossing segments into loops, decide which loops sit inside which, and write them closed. Nesting decides holes, never winding — polyline directions coming out of solid geometry are not consistent enough to build on — and a vertex landing exactly on the cutting plane is counted as just above it, which is the small rule that stops sections fragmenting when someone cuts at a round number through a part modelled on round numbers.
If the input is a mesh rather than a solid, STL to DXF does the same thing with the accuracy the mesh allows, and the DXF viewer will tell you the cut length of the result, which is the number a quote is built from.
Where the conversion happens
Every number on this page is worked out by JavaScript running in the tab you are reading it in. The model you open is read straight off your own disk — it is never uploaded, logged or kept, which is also why these tools carry on working after you disconnect from the network.
There is a particular irony to this conversion: people send a section instead of the model precisely because the model is not theirs to hand out, and then upload the model to a converter to get the section. Nothing here leaves the tab — parser, surfaces, section and DXF alike.