STL to OBJ converter: the surface, as it is

Drop an .stl and get a zip with the .obj and its files, converted in Blender on our server. The trip keeps the geometry and nothing more; nothing the source holds is lost on the way. Free, no account, nothing to install.

Free · no account neededNeed a VRM avatar instead? →

How do I convert STL to OBJ?

Drop the file on this page, wait while the server converts it, and download a zip with the .obj and its files.

  1. 1Choose an .stl. Files up to 50 MB.
  2. 2The converter opens it in Blender on our server and writes OBJ. Most files take under a minute; the page shows the result in 3D when it is done.
  3. 3Download a zip with the .obj and its files. The upload and the result are deleted 3 days later.
In:
.stl, ASCII or binary
Out:
a zip with the .obj and its files
Keeps:
the geometry
Cost:
free, no account

    What survives the trip

    An STL is a list of triangles and nothing else, ASCII or binary. There are no materials, no texture coordinates, no colours and no unit: the numbers are taken as they are. The Z-up of printing is turned so the part stands upright in Y-up formats.

    The result is a zip with the .obj, its .mtl and the images the materials name, so unpacked into one folder it opens textured. OBJ has no room for a skeleton, shape keys or animation, so those stay behind.

    STL and OBJ do not hold the same things, and the page says so before you upload: the trip keeps the geometry and nothing more, and nothing the source holds is lost on the way. OBJ is what every 3D program since the 1990s reads.

    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 come through as they are; no unit is guessed

    STL has no unit field. A part modelled as 100 millimetres is written as 100 units, and a program that works in metres reads it as a hundred metres tall. Scale it by 0.001 in the program you open it in.

    No rig, no shape keys, no animation

    OBJ stores a mesh and nothing that moves it. A skinned model is written in the pose its skeleton holds, as a statue; the bones, the weights and the blend shapes are not in the file because the format has no place for them.

    Uploads stop at 50 MB

    A larger file is refused before anything is uploaded. Decimate a dense mesh or shrink the textures in your 3D tool first; neither changes the format.

    Frequently asked questions

    ASCII or binary STL?

    Both are read. They hold the same triangles; the ASCII form is several times larger, so it reaches the upload limit with far fewer triangles.

    Why is the download a zip?

    Because a textured OBJ is several files: the .obj, the .mtl and the images. Unpack them into one folder and keep them together; the .obj finds its materials by relative path.

    Is anything uploaded, and for how long?

    Yes: the file you drop goes to our server in New York, is converted there, and both the upload and the result are deleted 3 days after the conversion. Nothing is shared with anyone.

    Can I look at the STL first?

    Yes, without uploading anything: the STL viewer draws it in your browser. Open the STL viewer →

    Can this become a VTuber avatar?

    Not as it is: an avatar needs a skeleton, skin weights and a face that moves, and an .stl has none of them. Rig and texture the model in Blender first, then convert the rigged file to VRM.

    The other format pairs

    All 50 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?

    An .stl is a surface without a skeleton, so no converter can make a VRM avatar out of it directly. Rigged and textured in Blender, the same model converts to VRM on the FBX to VRM converter, with the bones mapped onto the VRM humanoid.

    Open the VRM converter

    More tools for this format