OBJ to STL converter — straight to the slicer

VTubeMe's OBJ to STL converter writes your .obj as one binary STL for a slicer. Triangles and coordinates are unchanged; the model is turned Z-up. Materials have no place in STL. 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 OBJ to STL?

Drop the .obj on this page and download one binary .stl.

  1. 1Drop your .obj into the box above, up to 50 MB; sign in when prompted. The .mtl and textures are not needed — STL cannot hold them.
  2. 2The file is opened in Blender on our server and written as a binary STL: every object merged into one, turned from Y-up to Z-up, no scaling.
  3. 3Download the .stl and open it in your slicer.
Accepts:
one .obj (or a .zip of its folder) up to 50 MB.
Returns:
one binary STL.
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:
16,867 triangles in, 16,867 out, 0.80 MB; a model 1.8143 units tall in the OBJ is 1.8143 units tall in the STL.
  • Neither format has a unit: the slicer reads the OBJ's numbers as millimetres.
  • Materials and textures are dropped.
  • The mesh is not repaired or made watertight.

What actually happens to the file

This is the plainest pair on the site. OBJ and STL both describe a static surface; OBJ adds UVs and material names, STL does not. Sculpting and CAD tools export OBJ, slicers prefer STL, and the conversion is a matter of writing the same triangles in the other layout.

Measured: 16,867 triangles in and out, and the same coordinates — 1.7605 × 1.8143 × 0.3017 in the OBJ's Y-up, 1.7605 × 0.3017 × 1.8143 in the STL's Z-up. Nothing was scaled; the model was only turned so that it stands on the build plate rather than lying on its back.

The model's 10 materials and 15 textures are left behind, and its ten objects become one.

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; the slicer decides what they mean

Neither OBJ nor STL stores a unit. A model 1.8143 units tall stays 1.8143 units tall, and a slicer reads that as 1.8 mm. If the OBJ was modelled in millimetres it will open at the right size; if it was modelled in metres, as game and avatar assets are, scale it by 1000.

Only the surface survives

STL stores triangles and nothing else. Measured on the sample avatar: 10 materials, 15 textures, 73 bones and 118 shape keys in; none of them out, and all ten meshes merged into one object with the same 16,867 triangles. A skinned model is written in the pose its skeleton holds, so it arrives standing the way it stood, as a statue.

Converted is not the same as printable

Nothing is repaired, thickened or made watertight. A character built for real-time rendering is a set of open shells — hair cards, an eyeball inside a head, clothes with no inside — and a slicer will show holes and zero-thickness walls. That is a modelling job (or the repair step in your slicer, or Meshmixer), not something a format conversion does, and we do not pretend to.

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

Do I need to upload the .mtl and textures too?

No. STL holds triangles only, so the materials would be read and thrown away. The .obj on its own gives the same STL. A zip of the folder is accepted if that is what you have.

Is the model rotated?

Yes, on purpose: OBJ is conventionally Y-up and slicers are Z-up. The model is turned a quarter turn so it stands upright on the plate. Its shape and size are untouched.

My model has several parts. Do I get several STL files?

No — one file with every mesh in it. The sample avatar's ten meshes (body, hair, clothes, eyes) became a single object. If you want to print parts separately, split them in your slicer or 3D tool; most slicers offer “split to objects”.

Is the STL binary or ASCII?

Binary: 50 bytes per triangle, so the sample avatar's 16,867 triangles came to 0.80 MB. Every slicer reads binary STL.

Can I check the STL before printing?

Yes — open it in the STL viewer, which 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