Guide
Compare 3MF Files — See What Changed
3MF carries more structure than STL — explicit units, multiple objects per file, and material/color metadata — but comparing two revisions still comes down to the same question: what changed, and by how much?
Why 3MF is a step up from STL — and still hard to diff
3MF (3D Manufacturing Format) is a structured XML-based container: unlike STL, it stores explicit units, can bundle multiple objects and build items in a single file, and carries color and material assignments — which is why slicers like Bambu Studio and PrusaSlicer default to it. That extra structure helps a slicer, but it doesn't help you answer "what changed between these two exports." The geometry itself is still a triangle mesh per object, and a small edit anywhere in the model can touch every triangle's index order, so a raw file or XML diff is just as noisy as it is for STL.
What a real 3MF diff needs to handle
- Multiple objects per file — a 3MF export from a slicer can contain several parts arranged on a build plate. A useful diff needs to compare the actual model geometry, not get confused by plate arrangement or a part that moved position without changing shape.
- Units are explicit — 3MF declares its unit (millimetre, centimetre, inch, etc.) instead of assuming mm like STL. Comparing two 3MF files with different declared units without normalizing first will produce a nonsense diff.
- Production Extension exports — some slicers (Bambu Studio, PrusaSlicer) export multi-file 3MF packages under the 3D Manufacturing Format's Production Extension rather than a single flat geometry stream, which a naive parser can silently fail to read.
What Meshdiff actually compares
Meshdiff parses the 3MF geometry (including Production Extension multi-file exports), normalizes units, and voxelizes both versions into a shared grid the same way it does for STL — added geometry in green, removed in red, plus a surface-heatmap pass showing dimensional drift as a gradient rather than a single bounding-box number. Color and material metadata inform the viewer's rendering but aren't treated as part of the geometric delta, since the product question is almost always "did the part change shape," not "did someone recolor it."
When to reach for a 3MF diff instead of STL
If your workflow already exports 3MF — most Bambu Lab and Prusa users do, since it's the slicer default — stick with it end to end. Keeping the native format avoids an unnecessary STL round-trip that can introduce its own small triangulation differences, which would otherwise show up in the diff as noise unrelated to your actual design change.
How to compare two 3MF files
Open the 3MF comparison tool, drop Version A and Version B into their slots, and Meshdiff runs the voxel and heatmap diff locally in your browser. Files are never uploaded to a server for the free comparison — parsing, alignment, and diffing all happen client-side.
Ready to see what changed?
Drop two files into the free diff tool — no account, nothing leaves your browser.
Compare two 3MF files now