OFF to STL Converter - Binary STL, Upright | MiConvert

Convert OFF to STL Online

Upload an OFF mesh and get a binary STL with the same vertices, triangulated faces and a consistent normal direction, in the correct upright orientation for a slicer. Neither format records units, so the numbers in your OFF become millimetres as far as the slicer is concerned, and that is the first thing worth checking after import.

📁

Drop your file here

or click to browse

Select File

Max 10 files, 50MB each

SSL Encrypted Auto-deleted No Sign Up 100% Free
OFF → STL

From a research mesh format to a printable file

OFF, the Object File Format from the Geomview world, is about as bare as a mesh container gets: a line reading OFF, counts of vertices, faces and edges, then the vertex coordinates, then one line per face listing how many corners it has and which vertices they are. It is everywhere in geometry processing, in CGAL examples and in academic mesh collections such as the Princeton Shape Benchmark, and it is almost nowhere in manufacturing. Slicers, printer firmware and print services expect STL, the triangle-soup format they have accepted for decades.

The conversion runs as a Python job on our servers, using trimesh. The OFF is loaded, face winding and normals are recomputed, and the mesh is written as a binary STL. One file goes in and one file comes out, with nothing to zip and no sidecars to lose.

Vertex positions and connectivity come through untouched. Faces with four or more corners are split into triangles, since STL stores nothing else. Anything an extended OFF variant might hold beyond geometry is gone: our reader loads geometry only, and STL has no place for color. There is no scaling step anywhere in the path, so a model authored in inches or metres will arrive in the slicer with those same numbers read as millimetres. Unlike several of our other mesh targets, this pair does not suffer an axis flip: the STL comes out upright.

The typical user is someone holding a mesh from a paper, a dataset or a geometry library who wants to see it on a print bed, or who needs it in a CAD or inspection tool that only imports STL. If you intend to keep editing topology, keep the OFF as your master copy, because STL discards shared vertex indexing and any notion of polygons.

How to convert OFF to STL

  1. Make sure the file is a standard OFF: the OFF keyword on the first line, then the vertex, face and edge counts, then the data. Files truncated mid-download or exported in an unusual binary variant are the main cause of read errors.
  2. Confirm the scale your mesh was authored in. Because no unit is stored, divide or multiply the coordinates in MeshLab beforehand if you know they are not already in millimetres.
  3. Upload the OFF here. Guests can send files up to 50 MB, a free account 100 MB, Plus 200 MB and Pro 1 GB, with up to 10 files per request on the lower plans.
  4. Wait while the mesh is loaded, triangulated and re-exported. Each conversion step has a 600-second ceiling; only very dense meshes get near it. An output with zero triangles is rejected rather than handed to you.
  5. Download the .stl file and open it in your slicer. Check the reported bounding box first: if the part is 1000 times too small or too large, scale it there rather than re-converting.
  6. If the slicer reports holes or non-manifold edges, run its repair function or fix the mesh in MeshLab. Our conversion rewrites the geometry but never repairs it.

What you get

  • Binary STL output, which stays far smaller than ASCII STL for the same triangle count
  • Automatic triangulation of quads and n-gon faces that OFF is allowed to contain
  • Face winding and normals recomputed with trimesh before export, which makes the triangle direction consistent on closed meshes
  • Correct upright orientation for this pair, with no post-import rotation needed in the slicer
  • A strict empty-result check: if the conversion produces an STL with no triangles, it is reported as a failure instead of delivered as a working download
  • Plain single-file output named after your upload, with no archive to unpack

Video Tutorial

Why use MiConvert for OFF to STL? It's free, fast, and works in your browser! 🔗 https://miconvert.com/en/off-to-stl?utm_source=youtube&utm_medium=social&utm_campaign=off-to-stl ✨ Why MiConvert? • N

OFF to STL questions

Will the model come out at the right size?

Only if the OFF coordinates were already in millimetres. No step in the conversion touches units, and OFF does not record one, so the slicer interprets the raw numbers as millimetres. A mesh built in metres lands 1000 times too small, and scaling it by 100,000 percent in the slicer corrects it; a mesh in inches needs a 2540 percent scale.

Does it keep the colors some OFF files carry?

No. Binary STL has no color channel, and our OFF reader loads geometry only, so nothing on this path carries color to any target. If color matters, keep the OFF as your master copy and re-apply or bake color in MeshLab or Blender after converting.

Is the result print-ready and watertight?

Not automatically. The converter normalizes normal direction but performs no repair: holes, self-intersections, duplicate vertices and non-manifold edges in the OFF remain in the STL. Most slicers will flag and patch mild problems on import; for anything worse, clean the mesh in MeshLab or Blender first.

Can I get an ASCII STL instead?

No, the writer always produces binary STL, which every current slicer reads and which is several times smaller. If a legacy tool genuinely needs ASCII, convert the downloaded file with MeshLab or admesh.

The conversion failed and said the file could not be read. Why?

That error comes from the loader rejecting the file: an incomplete download, counts in the header that do not match the data that follows, stray text before the OFF keyword, or a variant the reader does not recognize. Re-export the mesh as ASCII OFF from MeshLab, Blender with an exporter add-on, or whatever tool produced it, and try again.

Can I convert a batch of benchmark meshes?

Up to 10 files go in one request without an account or on a free account, 25 on Plus and 50 on Pro, and each is converted and downloaded individually. Requests are also rate limited per IP address, at 10 jobs an hour on the guest and free tiers.

What about very large meshes?

Triangle count is limited mainly by your plan's file size cap and by the 600-second limit per conversion step. If a dense research mesh times out, decimate it in MeshLab first.

What happens to the files I upload?

Conversion takes place on our servers, not in your browser, and the transfer uses HTTPS. The uploaded OFF is deleted once the job ends, and the STL remains downloadable from a random, unlisted link for roughly four hours before automatic deletion. File names and conversion outcomes are recorded in our logs.