Convert OBJ to STEP
OBJ comes out of modelling and game software. STEP is what engineering software expects. This tool builds a solid from the mesh in your browser, merging triangles that share a plane so the result is a file CAD can actually open. The result is a faceted solid — useful, and not the same as a parametric CAD model. The first section says exactly what that means.
Drag a 3D file here, or.
This page is set up for OBJ files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
A faceted solid, in plain terms
Your OBJ is a surface made of flat polygons. The STEP file will be a solid made of flat faces. Where the OBJ had a smooth-looking curve, the STEP will have the flats that curve was really made of — because that is what the file contains, and the smoothness you saw on screen was shading, not geometry.
The solid is real. Engineering software will boolean it, measure it, section it and assemble it. What it will not give you is a feature tree: no sketches, no extrudes, nothing to open and edit by typing a number. That information was never in the OBJ, so what comes out is a faceted solid rather than a parametric CAD model, and nothing anywhere can turn one into the other.
Quads and n-gons, and why the face count still improves
OBJ is one of the few mesh formats that allows a face to have four corners or more, and most modelling programs write quads. Those quads are cut into triangles when the file is read, which is why the triangle count on this page is usually about double the face count your modelling program showed you.
The merge then puts them back, and more besides. A quad whose two triangles are flat becomes one face again. A whole flat panel made of two hundred quads becomes one face with one outline. So the number of faces in the STEP is frequently lower than the face count you started with in your modeller, not just lower than the triangle count.
Where the model is genuinely curved — a subdivided surface, a sculpted shape — nothing merges, because no two triangles share a plane. The merge report under the download button tells you which of the two you have.
Units: the part that catches people out
OBJ records no unit. Neither does the .mtl beside it. A model that is 2 units wide might be 2 millimetres or 2 metres, and the file has no opinion. STEP does record a unit, so the conversion has to be told one.
Modelling programs differ wildly here. Blender exports in metres by default, 3ds Max and Maya usually in centimetres, and anything made for 3D printing is normally in millimetres. Set the first unit box to what your model really used, set the second to what the CAD file should say, and read the width, depth and height under the 3D view before you convert.
A part that arrives in CAD a thousand times too large or too small is almost always this, and it is one dropdown to fix.
Materials, groups and names
An OBJ can hold several named groups, each with its own material from a .mtl file. The groups are listed above the 3D view, and you can convert one on its own or merge all of them — useful when the file is a whole scene and you only want one object out of it.
Materials do not survive. STEP can carry a colour per face, but a colour taken from a game material is not information an engineer wants, and writing it would make the file larger for no benefit. Texture coordinates have no meaning in a CAD file at all.
Models built for rendering are usually the wrong shape for CAD
This is worth knowing before you start. A model made to be looked at is frequently not a solid: surfaces are left open where the camera will never see them, walls have no thickness, and parts intersect rather than joining. None of that matters in a render and all of it matters in CAD.
The measurements under the 3D view say whether the mesh is closed. If it is not, the STEP file is written as a surface model instead of a solid — you are told, the file still opens everywhere, and most CAD programs can sew it up once the gaps are filled.
What survives, and what does not
Kept in the STEP file
- The shape, corner for corner
- The unit you choose, written into the STEP file where OBJ could not state one
- Named groups, as separate solids inside one file, or one group on its own
- Flat panels, merged back into single faces rather than left as triangles
Lost on the way
- Materials, colours and texture coordinates — none of them mean anything in CAD
- Smooth shading, which was never geometry: the flats underneath are what you get
- Any way to edit the model parametrically — a mesh has no feature history to recover
How to convert OBJ to STEP
Drop the .obj in
The .mtl is not needed for this conversion, but dropping it alongside does no harm. Quads and larger polygons are cut into triangles as the file is read.
Set the unit your modeller used
Blender writes metres, 3ds Max and Maya usually centimetres, printing exports millimetres. Get this right and the measurements under the 3D view will match the real part.
Pick the groups you want
A scene file may hold a dozen objects. Keep them all to get one STEP holding every solid, or isolate the one you actually need.
Leave merging on and convert
Watch the merge report under the download button. Flat-sided models drop dramatically; organic ones barely move, and that is the file telling you what it is.
OBJ and STEP compared
| Property | OBJ.obj | STEP.step .stp |
|---|---|---|
| File contents | Plain text, one item per line. Materials live in a separate .mtl file beside it. | Plain text in the ISO 10303-21 exchange form. Readable, and enormous. |
| Geometry | Triangles and polygons. Also stores free-form curves, which almost nothing writes. | Exact surfaces: planes, cylinders, cones, spheres, NURBS. Not triangles. |
| Units | None. Like STL, the numbers are bare, though exporters usually mean metres. | Recorded in the file, as a full unit and tolerance context. |
| Colour and texture | Material names and texture coordinates, with the materials themselves in the .mtl file. | Colour per face or per solid, through the AP214 and AP242 styling entities. |
| Separate objects | Named objects and groups, each able to carry its own material. | An assembly tree of named parts, each with its own placement. |
| Published by | Wavefront Technologies, 1980s, for the Advanced Visualizer. | ISO 10303, from 1994. AP242 is the current application protocol. |
| Written by | Blender, Maya, 3ds Max, ZBrush and most modelling programs. | SolidWorks, Fusion 360, Inventor, CATIA, FreeCAD, Onshape — every serious CAD program. |
Questions
- Is this a real CAD model I can edit?
- It is a real solid: your CAD program can cut it, add to it, measure it, section it and put it in an assembly. It is not a parametric model. There is no sketch to change, no extrude to edit and no dimension to type a new number into, because none of that is in a mesh to be recovered. If you need those, the model has to be drawn again from measurements.
- My model was quads. Why does the page say triangles?
- Quads are cut into triangles while the file is read, because everything downstream works on triangles. The merge puts the flat ones back together, so the face count in the STEP is often lower than your modeller’s face count rather than higher.
- The part came into CAD a thousand times too big.
- The unit. OBJ does not record one, so we have to be told. Blender exports metres by default; if the first box says millimetres and the file was really metres, everything is out by a thousand. Change the first box and check the measurements before converting.
- Can I keep the colours?
- No. STEP can hold a colour per face, but this writer does not put one there. A colour from a rendering material is not useful engineering information, and leaving it out keeps the file smaller and simpler to open.
- Why is my STEP file so much larger than the OBJ?
- Because STEP describes every face with its own boundary, edges and curves, where an OBJ just lists corners. Merging brings it down a long way on flat-sided models. If your model is organic, reduce the triangle count first with the box on this page.
- Does my file get uploaded?
- No. The whole conversion runs inside your browser, and nothing is sent anywhere. That matters more here than on most pages: a part being taken into CAD is usually somebody’s product.
Where to go next
The other direction
Other things to do with a OBJ file
Other ways to get a STEP file
Related guides and tools
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide
- Convert SLDPRT to STLGuide
- Convert SLDASM to STLGuide