---
title: "Why SpeakCAD exports 3MF (and how we build it in the browser)"
description: "3MF is the modern 3D printing format: units, names, indexed meshes, slicer-native. How SpeakCAD generates a valid 3MF client-side and when you should pick it over STL."
canonical: https://speakcad.com/blog/3mf-export-explained
published: 2026-09-03
updated: 2026-09-03
publisher: SpeakCAD
---

# Why SpeakCAD exports 3MF (and how we build it in the browser)

> 3MF is the modern 3D printing format: units, names, indexed meshes, slicer-native. How SpeakCAD generates a valid 3MF client-side and when you should pick it over STL.

## STL is a triangle soup

An STL file is a list of triangles with no shared vertices, no units and no names. It works, but every slicer has to rebuild connectivity and guess the unit. Files are big, and multi-part layouts collapse into one blob.

## 3MF is a package

3MF is a zip archive with a small XML model inside. It declares the unit (millimetre), names objects, stores vertices once and references them from triangles, and supports several objects with transforms. PrusaSlicer, Bambu Studio and OrcaSlicer use it as their native project format.

## How SpeakCAD produces it

The OpenSCAD engine in your browser outputs a binary STL. SpeakCAD parses it, deduplicates vertices (identical coordinates become one vertex), drops degenerate triangles and writes the 3MF XML: `[Content_Types].xml`, `_rels/.rels` and `3D/3dmodel.model`. The three files are zipped with a tiny pure-JavaScript zip library, all client-side. Your geometry never leaves the tab for export.

## The result

- 30 to 60% smaller than the equivalent STL
- Unit and model name preserved in the slicer
- A clean indexed mesh that slicers do not need to repair

## When STL is still the right choice

Feeding older tools, OpenSCAD's own import(), or services that only accept STL. Both downloads of the same design are covered by one payment, so grab both if in doubt.

## A note on validation

Every 3MF SpeakCAD writes opens in PrusaSlicer, Bambu Studio, OrcaSlicer, Cura, Windows 3D Viewer and Blender's importer. If you find a tool that rejects one, tell us; we treat that as a bug.

## About SpeakCAD

SpeakCAD is the most intuitive CAD for 3D printing, made for people who own a 3D printer and need a part that fits something they have: tap a face and type a size to shape it with simple tools, or describe it to the AI, on your phone or computer, and download a print-ready STL, 3MF or G-code sliced for your printer.

SpeakCAD works inside ChatGPT and Claude as a plugin (an MCP server): ask the assistant for a part with its measurements and SpeakCAD's own CAD AI designs it, shows it in 3D in the chat and hands over a print-ready STL, 3MF or G-code sliced for your printer.

- Live demo, no account: https://speakcad.com/demo
- In ChatGPT, Claude and other MCP clients: https://speakcad.com/chatgpt-plugin, https://speakcad.com/claude-connector, https://speakcad.com/mcp-server
- Pricing: https://speakcad.com/pricing
- FAQ: https://speakcad.com/faq
- Site index for AI assistants: https://speakcad.com/llms.txt
