One job: turn a 3MF plate into an STL mesh.

The 3MF reader, the merge step and the STL writer are the whole product. There is no editor, no cloud library and no account.

How it is built

The reader unzips the 3MF in the tab, walks its build items and applies the declared unit. The merge step bakes each transform into one mesh. The writer emits binary STL.

What the conversion checks

Conversions are compared on four numbers: triangle count, bounding box, unit scale and shell count. A merge that drops an object shows up as a triangle-count gap; a unit error shows up in the bounds.

What it deliberately does not do

When to keep the 3MF

If the print depends on per-part settings, colour or declared units, send the 3MF to the slicer instead of converting it.

Who runs it

This is a small independent project, not a company product. There is no account system and no sales team; email is the support channel. The tool stays limited to 3MF → STL on purpose.

Reporting a problem

Write to editor@3mftostl.io with the file format and version, the triangle count you expected, and what the output looked like. A small anonymised sample speeds up the fix. Corrections are applied as dated revisions on the page that changed.

Privacy in one paragraph

Files are never uploaded. The page loads no analytics script in this build and stores no cookies for the tool itself. Full detail is on the privacy page.

What the fixture record covers

The test page lists nine 3MF fixtures, not a single demo file. They include a 20 mm cube, a two-shell plate and a package that declares the production extension as required. Each result is parsed again for triangle count, bounds, unit and shell count. A 684-byte STL and a 1,042-byte 3MF can describe the same 12 triangles; the difference is the package around them.

Nothing on this page is a promise about a physical print. The test record is the evidence; where a check was not run, the page says so, and corrections are dated on the page that changed.

Convert