How to convert OBJ to STL, or STL to OBJ
- Drop the file on the box above, or click Open an OBJ or STL. An OBJ is converted to STL, and an STL to OBJ. The switch above the results follows the file you open.
- Check Units in the file. Neither format stores a unit. For OBJ to STL, a part drawn in inches or metres is scaled to millimetres.
- Read the size, the volume, and the mesh check, then click Download STL or Download OBJ.
The OBJ sample is a star knob whose top and bottom are concave polygons with 170 corners each. Switch to STL to OBJ and click Try a sample for an STL of a hex standoff.
Splitting polygons into triangles
An STL holds triangles only, while an OBJ face can be a quad or a polygon with many corners. The OBJ specification requires at least three vertices for a face. The specification also says that corners listed counter-clockwise make the face point toward the viewer.
Splitting every face as a fan from its first corner works for a convex face. A fan folds a concave face, such as an L or a star, over itself, and the volume of the STL comes out wrong. This converter splits a quad along whichever diagonal keeps both halves facing the same way. A larger polygon is split by ear clipping in the polygon's own plane. Every triangle is then checked to face the same way as the polygon. On the sample knob, the STL's volume matches the volume of the polygons in the OBJ.
The converter reads vertex numbers counted from the start of the file. Negative numbers, which count back from the face, also work, as the specification allows.
What carries across
- The shape. Every face, split into triangles, in the order the file lists them.
- Not the materials. An OBJ keeps colours and textures in a separate MTL file, according to the Library of Congress format description, and an STL cannot hold them.
- Not the groups. All objects and groups go into one STL.
- Not lines, points, or free-form surfaces. An STL holds triangles only, so the results count what was left out.
The other way, STL to OBJ, joins the repeated corners of the STL into shared vertices, which is how an OBJ stores a mesh. The coordinates keep every digit, so an STL converted to OBJ and back gives the same triangles.
Units
A slicer reads the numbers in an STL as millimetres. If the OBJ came from a program that works in metres, the part comes out 1,000 times too small. Choose Metres under Units in the file, and convert again. STL to OBJ keeps the numbers as they are.
What the converter cannot do
- Read free-form geometry. Curves and surfaces defined by equations rather than polygons are left out.
- Keep the look of the model. Colours, textures, normals, and texture coordinates do not carry across.
- Fix the mesh. A hole or a flipped face in the OBJ stays in the STL. The mesh check shows each one, and the STL repair tool fixes the common faults.
- Open very large files. The limit is 150 MB.
Your file is read and converted in this browser and never uploaded. The page counts how often the converter is used, with the direction and the number of triangles.
From a mesh to a quote
When a customer sends an OBJ from modelling or scanning software, a print shop needs it as a closed STL. A print quote starts from the volume and the bounding box. The 3D printing cost calculator turns those two figures into a cost from your own prices. If the mesh check finds holes or flipped faces, fix them with the STL repair tool first.
ThriveAI builds quoting systems that read each request for quote and its models, and price the parts from your own rates and material costs. An estimator approves each quote before it goes out.