STL to OBJ converter — the same mesh, as text

VTubeMe's STL to OBJ converter writes your .stl as an OBJ — the format nearly every sculpting, CAD and rendering tool opens. The mesh and its coordinates are unchanged. Free, five conversions a day, up to 50 MB.

Free · 5 conversions a day per accountNeed a VRM avatar instead? →

How do I convert an STL to OBJ?

Drop the .stl on this page and download a zip holding the .obj.

  1. 1Drop your .stl into the box above, binary or ASCII, up to 50 MB; sign in when prompted.
  2. 2The file is opened in Blender on our server and written as an OBJ, turned from Z-up to OBJ's usual Y-up, with no scaling.
  3. 3Download the zip and unpack it: the .obj is the model, and the .mtl beside it is there only because OBJ importers look for one.
Accepts:
one .stl, binary or ASCII, up to 50 MB.
Returns:
a zip with the .obj and its .mtl; no textures, because there are none.
Costs:
nothing, and no credits — an account, though: five conversions per account per rolling 24 hours, shared across all the free format pairs. Conversions that fail are not counted.
Measured:
8,696 vertices and 16,867 triangles in, the same out; a 100-unit cube is 100 units in the OBJ.
  • OBJ has no unit either, so the numbers mean whatever the program opening it assumes.
  • OBJ is text: a 50 MB binary STL of 999,698 triangles came out as 77 MB.

What actually happens to the file

Both formats are from the same era and say nearly the same thing. STL lists triangles with every corner written out; OBJ lists the vertices once and the faces as indices into them, and can also hold UVs, normals and material names. So this conversion loses nothing, and what it gains is reach: ZBrush, Meshmixer, older CAD tools and almost every renderer read OBJ.

On our test model the 8,696 vertices and 16,867 triangles came through unchanged. Like STL, OBJ stores no unit, so the 100 that meant 100 mm in your slicer is still just 100.

What this conversion cannot do

Measured on real files, not assumed. Everything below is a property of the formats or of the pipeline, and knowing it beforehand is cheaper than discovering it in your 3D tool.

The numbers are kept and the unit is not guessed

An STL stores coordinates and no unit. A cube written as 100 units on a side came out 100 units on a side in the GLB, in the FBX and in the OBJ — nothing is multiplied or divided. What changes is how the target reads those numbers: glTF defines its unit as the metre, so a part modelled as 100 mm arrives as a 100-metre object, and the FBX is marked as metre-sized units with the same 100 in it. Scale by 0.001 in the program you open it in if your STL was in millimetres. The Z-up axis of the STL is turned so the model stands upright in Y-up formats.

No colour, no UVs, no rig — there were none

STL is a list of triangles and nothing else: no materials, no texture coordinates, no vertex colours, no skeleton. The result is the same surface in a container that could hold all of those, with all of them empty. Colour has to be added in a 3D tool afterwards; no converter can recover what the file never had.

Uploads stop at 50 MB

This pair takes files up to 50 MB — half of what the GLB, FBX and OBJ pairs take among themselves, because dense scans and print files cost the converter far more memory per megabyte than a game character does. For scale: a binary STL of 50 MB is about a million triangles, and we converted one of 999,698. If your file is larger, decimate it first; MeshLab and Blender both do that without changing the format.

Five conversions a day, per account

This pair is free and takes no credits, but one account gets five conversions per rolling 24 hours across all the free format pairs together — the converter is one machine and this is what keeps it answering. Each slot frees itself 24 hours after it was used; nothing expires at midnight. Conversions that fail are not counted.

Frequently asked questions

Why a zip, when there are no textures?

Every OBJ pair on this site hands over the folder the exporter wrote — the .obj and the .mtl it names — so the download is the same shape whether or not there are images. Here the .mtl is a default material and you can ignore it.

Is the mesh changed?

No. Same vertices, same triangles, no decimation and no repair. The model is turned so that Z-up becomes Y-up, which is a rotation of the whole thing and not an edit to its shape.

Binary or ASCII STL — does it matter?

Both are read. We checked a binary STL and a hand-written ASCII one; they convert the same way. ASCII writes the same triangles out as text and is several times larger, so it reaches the 50 MB limit with far fewer triangles than the million or so a binary STL holds.

Can I just look at the STL first?

Yes, and nothing is uploaded for that: the STL viewer runs in your browser. Open the STL viewer →

The other format pairs

All 30 are free, all run the same pipeline, and all say what they drop.

Only want to look at the file? GLB viewer, FBX viewer and OBJ viewer all run on your own device — nothing is uploaded.

Is your model going into VTubing?

A scan, a print file or a CAD part is not an avatar, and no format change makes it one: a VTubing avatar needs a humanoid skeleton and a face that moves. If what you have is a rigged character in FBX or GLB, the VRM converter maps its bones onto the VRM humanoid and carries the materials over, ready for VSeeFace, Warudo and VNyan.

Open the VRM converter

More tools for this format