Skip to content
2dto3D

Convert OBJ to STL

Drop in a .obj and get a binary STL back, ready for PrusaSlicer, Cura or Bambu Studio. Parsed and written on your own machine.

OBJ โ†’ STL

Drop a OBJ file

or click to choose one. Your file never leaves your browser.

Runs locally ยท nothing uploadedOBJ

Runs entirely in your browser. Your file is never uploaded, and there is no sign-up.

How to convert OBJ to STL

  1. Drop your .obj file onto the panel, or click to browse for it.
  2. The file is read and converted on your own machine. Nothing is uploaded to a server.
  3. Download the STL file. You get binary .stl, geometry only.

What changes, and what does not

Geometry passes through unchanged. What goes away is everything OBJ carried that STL has no way to represent: UV coordinates, material references, and the separation between named objects and groups. STL is one bag of triangles by design, so a multi-object OBJ arrives as a single merged shape.

That is not a loss for printing. A slicer only ever reads the triangles. It is a loss if you were hoping to keep textures, in which case keep the OBJ or export 3MF instead.

OBJ and STL, side by side

PropertyOBJSTL
StoresVertices, normals, UVs, faces, named groupsTriangles only
MaterialsVia a sidecar .mtl fileNone
Face typesTriangles, quads, n-gonsTriangles only; others are triangulated
UnitsNone; conventions varyNone; slicers assume millimetres
EncodingPlain textBinary or ASCII; this tool writes binary
Built forEditing and interchange3D printing and slicers

The .mtl question

An OBJ usually sits next to a .mtl file describing its materials, which in turn points at texture images. None of that reaches an STL, so you do not need the sidecar files here. Converting the .obj alone produces exactly the same result.

Before you print

Check the mesh, not just the conversion. OBJ files from photogrammetry and AI generators, ours included, can contain holes, self-intersections, or non-manifold edges that render fine and slice badly. Every major slicer has a repair pass, and it is worth running:

  • PrusaSlicer: right-click the object, then Fix by Netfabb.
  • Cura: Extensions, Mesh Tools, Fix simple holes.
  • Bambu Studio: right-click, Fix model.

Where the converted file works

The output is a standard binary STL: PrusaSlicer, Cura, Bambu Studio, OrcaSlicer, Simplify3D, mesh repair tools, CAD packages that import meshes, and every online print service accept it. The converter itself is a web page, so it runs on any current browser on Windows, macOS, Linux, Android or iOS with nothing to install.

When to keep the OBJ instead

Convert when a printer is the destination. Keep the OBJ when an editor is: the UVs and material references you would lose here are exactly what an editor uses. And if your slicer already opens OBJ directly, converting first buys you nothing except a smaller file; the slicer discards the same data either way.

Your file never leaves your browser

This tool is JavaScript running on your own machine. Your file is read into memory, processed there, and gone when you close the tab. It is never sent to us, so there is no upload, no queue, no retention period, and no account to create. You can disconnect from the network after the page loads and it will still work.

No 3D model yet?

Turn a single product photo into a realistic 3D model, usually in about 5 minutes. Explore it, view it in AR at real size, embed it, or export it to any of 7 formats. Pay as you go from $5, no subscription.

Upload a product photo
JPEG or PNG, up to 4 images, 18 MB each. We'll generate the angles.

Frequently asked

Why convert OBJ to STL at all?

Slicers want STL. OBJ is a modelling and interchange format that carries UVs and material references, none of which a 3D printer uses. Converting drops what the printer ignores and leaves the triangles it needs.

Do I need the .mtl file?

No. STL has no concept of materials or colour, so the .mtl is irrelevant to the output. You can convert the .obj on its own and lose nothing that would have survived the format anyway.

Is the result printable as-is?

It will open in a slicer, which is not the same as being printable. This converts the mesh faithfully rather than repairing it, so run the repair pass in PrusaSlicer, Cura or Bambu Studio if the model came from a scan or an AI generator, ours included.

Is anything uploaded?

No. The OBJ is parsed and the STL written in your browser, using your own machine. Nothing is transmitted and there is no sign-up.

What about scale?

Both formats are unitless, so the numbers pass through unchanged. Slicers generally read them as millimetres. If the model lands a thousand times too big or too small, that is the mismatch, and scaling in the slicer fixes it.

What is an OBJ file?

OBJ is a plain-text 3D format from Wavefront, dating to the early 1990s. It lists vertices, normals, texture coordinates and faces, with materials in a separate .mtl file. It is one of the most widely readable 3D formats in existence, which is why so much software still emits it.

What is an STL file?

STL is the standard input format for 3D printing, dating to 1987. It stores a surface as raw triangles and nothing else: no colour, no units, no separate objects. Every slicer and print service reads it, and this tool writes the compact binary variant.

Do quads and n-gons survive?

They are triangulated, because STL can only store triangles. The shape is unchanged; a face with four or more sides simply becomes two or more triangles. Your slicer would have done the same thing internally anyway.

What happens to multiple objects and groups?

They are merged into one solid, positioned as they were. STL is a single bag of triangles by design, so named objects and groups have nowhere to go. If you need parts as separate files, split them in your editor first and convert them one at a time.

Does it work on a phone, Mac or Windows?

Yes. It is a browser page, so it runs on any current browser on any operating system. The limit is the device's memory: a multi-million-triangle scan may need a laptop rather than a phone.

Last updated 2026-08-20