Convert STP to OBJ
Upload a .stp file and get one triangulated .obj you can open in Blender, Cinema 4D, Maya or 3ds Max. The mesh is written at a fixed 0.1 mm chord tolerance, with no material file, no object groups and coordinates in millimeters.
Download Started!
How would you rate your experience with MiConvert?
From exact CAD surfaces to triangles
A .stp file is a STEP file, the same ISO 10303 standard as .step, with a three-letter extension that some CAD systems default to. Inside, the part is boundary representation geometry: analytic and NURBS surfaces trimmed against each other. Blender, Cinema 4D, Maya, 3ds Max and every game engine work with polygons instead, which is why a STEP file dropped into any of them simply does not open.
The conversion runs FreeCAD 1.1 on our servers, with Open CASCADE 7.9 doing the reading. The shape is loaded with Part.Shape.read, triangulated by MeshPart at a linear deflection of 0.1 mm and an angular deflection of 0.5 radians, and written as a single Wavefront .obj with one normal per triangle. The reader also patches files before parsing: gzipped STEP is unpacked, UTF-16 is re-encoded, a byte-order mark is stripped, a missing END-ISO-10303-21 terminator is added back, and a STEP that only carries 2D context is lifted onto the z=0 plane. If you were looking for a FreeCAD-based STP to OBJ workflow, this is it, without installing FreeCAD.
Geometry and placement survive. Every solid is triangulated into the same OBJ at its original coordinates, so a multi-part file keeps its layout, and sub-shapes stacked identically are written once instead of twice. Several things do not survive: there is no .mtl file and no materials, because colors, part names and the assembly tree are never read from the STEP, and the OBJ has no o or g groups and no texture coordinates, so your software sees one unnamed mesh. The tessellation setting is fixed and absolute: 0.1 mm chord tolerance and 0.5 radians (about 29 degrees) for every file, so small radii and tiny fillets are the ones that can look faceted, while a large model is tessellated very finely and produces a heavy triangle count. There is no quality slider anywhere in the interface.
This pair suits visualization work where the CAD shape matters more than the CAD data: product renders, turntables, AR and VR props, scene dressing and retopology starting points. If you need part names, colors or a hierarchy on the other side, no STEP conversion here can supply them; export each component as its own STEP and convert the files separately so you can name the objects yourself.
How to convert STP to OBJ
- Export your model as STEP text (AP203, AP214 or AP242) from your CAD system, with geometry embedded rather than referenced: an assembly file that only points to external part files converts to nothing.
- Keep the whole model in one file if you want the parts positioned together, or export components separately if you want to name them individually later.
- Upload the .stp or .step file here. Guests get 50 MB per file, a free account 100 MB, Plus 200 MB and Pro 1 GB, with up to 10 files in one batch (25 on Plus, 50 on Pro).
- Wait for the job to finish. Most files are done in seconds, and only the heaviest ones we see take closer to a minute.
- Download the .obj within about four hours, after which the result is deleted.
- In Blender, import the OBJ and set the import scale to 0.001 if you want the millimeter numbers to read as meters; the file itself carries no unit declaration.
What you get in the OBJ
- One .obj file holding every solid from the STEP, triangulated with a per-triangle normal and no external dependencies
- Millimeter coordinates: STEP files tagged in meters or inches are normalized to millimeters on read, so every output uses the same scale; the OBJ itself carries no unit field, so set your importer's scale accordingly
- Repairs applied before parsing: gzip, UTF-16, byte-order marks, a missing ISO-10303-21 terminator and 2D-context STEP data
- Duplicate sub-shapes sitting at the same position are written once, which keeps the triangle count down on repetitive assemblies
- A result with no vertices is rejected rather than delivered, so an empty OBJ never reaches your download
- Checks the file signature first, so ZIP, PDF and native .sldprt or .ipt files renamed to .stp are refused rather than half-parsed (the on-screen text is the generic "Could not read this 3D file" message)
Video Tutorial
Detailed guide on how to convert STP files to OBJ quickly, for free, and without losing original quality. Perfect if you need to process file formats, reduce size, or upload files to systems that only
STP to OBJ questions
Is STP the same as STEP?
Yes. Both extensions hold ISO 10303 Part 21 text, and this page accepts either. The three-letter form is a leftover from older Windows filename limits.
Do I get an .mtl file with colors?
No. The output is a single .obj with geometry only. The reader loads the shape without building a product structure document, so colors, part names and the assembly tree are never read, and there is nothing to write into a material file. Assign materials in Blender or your renderer.
Can I choose the mesh resolution or get a smoother mesh?
Not here. Triangulation is fixed at 0.1 mm linear deflection and 0.5 radians angular deflection for every file, with no setting exposed. Small curved features can therefore look slightly faceted, and very large models come back with a high triangle count. If you need different values, set the deflection yourself in a desktop tool such as FreeCAD's mesh export dialog before bringing the mesh into Blender.
Does the OBJ keep separate objects for each part of my assembly?
The parts keep their positions, but not their identity: the file is written without o or g groups, so your software loads one mesh. If you need individually selectable parts, export each component to its own STEP file and convert them one at a time, then assemble them in your 3D application.
Why does my model come in enormous in Blender?
The OBJ numbers are millimeters and the format has no unit field, so an importer that assumes meters reads a 200 mm bracket as 200 meters. Set the OBJ import scale to 0.001, or scale the object down after import.
The job failed with a message about no valid 3D geometry. What causes that?
Three cases cover almost all of it: the STEP holds only curves or wireframe with no surfaces to triangulate, it is an assembly file referencing part files that were not uploaded, or the surfaces could not be triangulated. Re-export with solids included and geometry embedded in the single file.
Can I convert several STP files at once, or get them as one ZIP?
Up to 10 files in a batch as a guest, 25 on Plus and 50 on Pro, each converting to its own OBJ. There is no combine-into-one-model option and no download-all-as-ZIP button, so save the results one by one.
Where does the conversion happen and how long do you keep the files?
On our servers, in a queued FreeCAD process, not in your browser. The uploaded STEP is deleted once the job's final attempt ends, and the OBJ can be downloaded for roughly four hours before it is removed automatically. File names, sizes and outcomes are logged on our side.