Runs on your device · Your file never leaves your device.
STL files come off scanners, slicers and printing sites, and they hold shape alone. Turning one into an OBJ gives you a file that most modelling programs prefer to import, and one that can carry material and texture information once you add it.
An STL almost never carries colour, so the OBJ usually arrives with a single plain material — there is nothing for the conversion to invent (the rare binary STL with a colour per triangle keeps it as point colours). What it does give you is a mesh in a format you can open in Blender, Maya, 3ds Max and many other programs, and start assigning surfaces to.
The conversion runs on your own machine, which for a 3D file is the whole point: a model is usually a client’s product, a scanned property or something not yet announced. Nothing is sent to a server, so there is nothing to delete afterwards and nothing to take anyone’s word for.
Not for: Adding colour or texture that was never in the STL — no converter can recover information the source format cannot store.
An STL lists each triangle with three corners of its own; it never records that two triangles share a corner. The OBJ writes each distinct corner position once and lets the triangles share it, so a modelling program opens the model as one connected surface. Each triangle keeps the facing direction the STL stored for it, so the surface looks faceted, as it did in the STL.
The OBJ has no texture coordinates, because the STL had none. It names one material, default, on a usemtl line, without an .mtl file, so the program you open it in gives that material its own plain surface. A binary STL that stores a colour for each triangle, in the non-standard way some printing software uses, keeps those colours, written after each point's position. An STL holding several named solids comes out as one object, without the names.
An OBJ is text. Each number is written with all the digits needed to give back the exact value the STL stored, so a coordinate saved as 37.3 appears as 37.29999923706055. The values are unchanged; it is the text form that makes the OBJ larger than the binary STL, even with shared corners written once.
STL files made for printing are almost always in millimetres, but the format does not say so, and neither does OBJ, so by default the OBJ carries the same numbers as the STL. If the program you will open the OBJ in reads its numbers as metres, as Blender does by default, choose A millimetre: the numbers are rewritten in metres, so a 45 mm part arrives there as 45 mm. /3d-converter lists which formats state their own unit.
Print files stand on the Z axis, and an OBJ is usually read with Y as up. Unless you choose to keep the axes, the model is given a quarter turn so it stands upright where the OBJ is opened.
This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা