STL Mesh

STL → OBJ · FREE · NO UPLOAD

STL to OBJ Converter — For Editors That Want OBJ

Turn a .stl into a clean .obj for Blender, Maya, CAD importers and asset stores — in the browser, nothing uploaded.

Demo model — drop a file to replace it
Conversion runs locally in your browser.

Into Blender for editing, back out for printing

Sometimes the STL is close but not done: you need to cut a hole, thicken a wall, or boolean a logo before it goes back to the slicer. Blender is a common place to do that work, and Blender is happier with OBJ than with a raw STL triangle soup. This page is the inbound conversion. The outbound conversion is Blender's own STL export.

Binary STLraw 50-bytetriangle recordsINPUTIndexed meshvertices welded,faces rebuiltIN THIS TABOBJ textv/f lines anyeditor can readOUTPUT
The same geometry, re-expressed as the plain text v/f format editors have read since the 1990s.
  1. Drop the STL on the converter above. Download the OBJ. Open that OBJ in Blender and edit it. When the mesh is right, export a print file with File → Export → STL. Open that STL in Bambu Studio or PrusaSlicer and slice as usual. Nothing in this hop changes the triangles on the way in; vertex positions are written in plain text. You will not get a .mtl — an STL has no material to carry over — and Blender will open a material-less OBJ without complaint.
  2. The unit trap is the step people skip. Blender's default scene unit is meters. Slicers assume STL numbers are millimeters. A 40 mm bracket stored as 40 in the STL arrives in Blender as a 40-meter object if you take the numbers literally, or as a speck if a later export writes meters back out as millimeters. Before you trust the first slice, check dimensions in the viewer. The homepage preview shows bounding-box size in the model's native units. If a part that should be 40 mm reads as 0.04 or 40,000, you know whether to scale in Blender or in the slicer before you print.
  3. A practical order that avoids that surprise: convert STL to OBJ here, glance at the bounds so you know the number you are about to import, edit in Blender at whatever scale is comfortable, then File → Export → STL and look at the new file in the viewer again. Only then open the slicer. If you needed a web preview rather than an editable mesh, use STL to GLB instead. If you are going the other way — an OBJ sculpt toward the printer — that is OBJ to STL.

That loop is the whole point of this page: STL in, OBJ out, Blender in the middle, STL back to the printer. Keep the meter-versus-millimeter check in the viewer and the round-trip stays boring, which is what you want from a format conversion.

FAQ

Is the STL uploaded to convert it?+

No. Parsing and OBJ writing both happen in this tab with JavaScript. There is no upload endpoint; the tool works offline once the page has loaded.

Why OBJ instead of STL?+

Some tools and marketplaces simply prefer OBJ: older 3D packages, certain CAD importers, texture-painting workflows, asset stores. OBJ also stores the mesh as indexed vertices, which many editors handle more gracefully than STL's repeated-vertex triangle soup.

Does the OBJ include materials?+

No .mtl is generated — an STL has no color or material to carry over. Editors open material-less OBJ files without complaint and let you assign materials there.

Is geometry changed in any way?+

No. Every triangle crosses over exactly; vertex positions are written in plain text with full precision. The OBJ will be larger than the binary STL because text encoding is verbose — that's expected.

Related: OBJ to STL (the reverse), STL to GLB for web and AR use.

🧊
Written by Casey Marlin · Last updated
This update: conversion covered by scripts/test-stl.mjs