Guide
OBJ vs STL
Updated · Mesh OBJ to STL only
Compare OBJ geometry, materials, and editing flexibility with STL’s triangle-only print workflow. Then convert OBJ to STL privately in your browser.
OBJ and STL both describe surfaces, and they are not interchangeable. An OBJ is a flexible mesh file from the Wavefront family. An STL is a list of triangles aimed at fabrication and at slicers. Converting is the right move when you are about to print. It is the wrong move when you still need the information STL cannot hold. This page is the decision, not a second copy of the converter.
What each file is for
Use the OBJ while you are still modeling, splitting objects, or assigning materials. Use the STL when Bambu Studio, Cura, or PrusaSlicer needs a solid to place on a bed. Many pipelines keep both: the OBJ (and its MTL, if any) in the project, and a binary STL next to the print profile. Deleting the OBJ because an STL downloaded is how people lose UVs and object names they later want back.
| OBJ | STL from this tool | |
|---|---|---|
| Typical job | Edit, render, exchange meshes | Slice and print |
| Faces | Polygons, stored as faces | Triangles only |
| Several objects | Named objects in one file | Merged into one triangle list |
| Materials | Often a separate MTL | Dropped |
| UVs and textures | Can be referenced | Dropped |
| Units | Whatever you authored | Not stored; we scale numbers toward millimeters |
| Repair | Not automatic | Not automatic |
The merge matters. An OBJ of a figurine plus a separate base can arrive as two objects. The converter writes one STL so a slicer imports a single body. If you needed two print jobs, export two OBJs and convert them separately. Object names do not become separate STL files.
What conversion drops
Triangles stay. Positions are scaled and, by default, rotated so the up axis you chose points to Z. Everything else is out of scope for this MVP.
Smoothing groups and vertex normals in the OBJ are not a feature you can round-trip. The STL format stores a face normal per triangle, which the exporter computes from the corners. A slicer does not use that normal the way a renderer uses a smooth shaded OBJ.
UVs, texture filenames, and the MTL file are ignored on purpose. A print in one filament color does not need them. A full-color pipeline does, and it should not pretend an STL from this page still has them. Keep the OBJ.
Vertex colors, if your exporter wrote them, are not copied. Curves and standalone points are skipped. If the file has no faces, conversion stops and says so. There is nothing honest to put in an STL.
Hierarchy and animation do not exist in STL. A posed character should be exported from Blender as the pose you want, with modifiers applied, so the OBJ already contains the final surface.
What conversion does not promise
People treat “I exported STL” as “the mesh is printable.” Those are different sentences. A non-manifold edge, a hole in the shell, an inverted patch, or a wall thinner than your nozzle will still be there. The bounding box can look perfect while the slicer refuses the file. Repair it in Blender or another mesh tool, then export again. This site does not run a repair kernel, and the terms say the same thing in plainer legal language.
Scale is the other false promise. The STL will not remember that you meant millimeters. The converter writes larger or smaller numbers based on the unit you pick, and the slicer reads those numbers as millimeters. Pick the unit that matches the OBJ. The box on the tool page is there so you can see the result before the printer does.
A practical rule
Keep the OBJ if any of these are true: you will edit the mesh, you still render it, it has more than one object you might print separately, or it has materials you care about. Make an STL when a slicer is the next app on the screen. Make a new STL when you change units or repair the mesh. Do not keep a stack of mystery STLs whose millimeter size you never checked.
If you are still unsure which file you were handed, read what an OBJ is and what an STL is. If you already know you want the print file, the conversion steps are the Blender-to-slicer version of this table.
The binary default is covered in binary vs ASCII STL. Use ASCII only when you want to read coordinates as text. For a slicer, binary is the file you just decided to make, not a worse copy of the OBJ.
Questions
Should I delete the OBJ after I have an STL?
No, not if you might edit the model, re-render it, or re-export at another scale. The STL is the print copy. The OBJ remains the richer mesh file.
Does converting to STL fix holes?
No. Faces are copied. A hole in the OBJ is a hole in the STL. Repair is a separate step in a modeler or a mesh tool you trust.
Will color survive?
Not in this converter. Materials, MTL files, UVs, and vertex colors are ignored. The STL is a triangle shell.
Related guides
- What is an OBJ fileWavefront OBJ, faces, and the MTL file we do not read.
- What is an STL fileTriangle meshes, unitless coordinates, and slicers.
- How to convert OBJ to STLBlender export, this converter, then Bambu, Cura, or Prusa.
- Binary vs ASCII STLWhy the download defaults to binary STL.
- Units mm vs metersWhy a print can come out 1000× too big, and how to check the box.
- FAQPrivacy, size, textures, STEP, and image files.