Guide

Compare STL Files — See What Changed

STL is the most common 3D printing format, and the hardest to diff — it's just a triangle soup with no version metadata, no units, and no history. Here's how to actually compare two STL files and know what's different.

Why STL files are hard to diff

An STL file stores nothing but a list of triangles — no object names, no history, no units (everything is assumed to be millimetres), and no concept of "version 2" versus "version 1." Two STL files with the same filename can be wildly different parts, and two files that look identical in a slicer preview can differ by a fraction of a millimetre in exactly the place that matters — a hole diameter, a wall thickness, a boss height. A standard file diff (byte-for-byte, or even a text diff of an ASCII STL) is useless here: a tiny geometric change can rewrite every triangle's vertex order, making the raw file look completely rewritten even when only one feature moved.

What "comparing" two STL files actually means

A useful STL comparison answers three questions: what geometry was added, what was removed, and how far did the surfaces that stayed actually move. Meshdiff answers all three by voxelizing both files into a shared grid and classifying each cell as added, removed, or unchanged — the same technique used for volumetric CSG, applied here purely for visualization and measurement, not for producing a new mesh. A second pass computes a signed-distance field between the two surfaces so you get an actual heatmap of dimensional drift, not just a bounding-box number.

What to look for in an STL diff

  • Volume delta — a quick sanity check. A part that should have lost material but shows a volume increase usually means the wrong file was uploaded as "before."
  • Bounding box changes per axis — catches unintended scaling or a part that grew in one dimension because a sketch constraint moved.
  • Hole diameter changes — a hole that shrank by even 0.2mm can turn a clearance fit into a press fit, or block a fastener entirely.
  • Wall thickness — FDM printing generally needs at least 0.8mm (two perimeters at a 0.4mm nozzle); a revision that thins a wall below that will warp or fail mid-print.
  • New overhangs — a change that adds an unsupported surface past 45°–55° from vertical means new supports, more cleanup, and a rougher surface underneath.

Common situations where this matters

Makers run into this constantly: you download a remix of a model from Thingiverse or Printables and want to know what the remixer actually changed before committing filament to a print. CAD and print engineers hit it every time a part comes back from a design review — "just a minor tweak" needs to be verified, not taken on faith. And anyone maintaining a library of enclosures, brackets, or jigs needs a way to confirm that "v3" and "v4" are actually different in the way the changelog says they are.

How to compare two STL files with Meshdiff

Open the STL comparison tool, drag Version A into the first slot and Version B into the second. Meshdiff aligns and voxelizes both files locally in your browser — nothing is uploaded — and renders the diff in a few seconds for typical part sizes. Adjust the tolerance slider if you're comparing a press-fit part (0.1–0.2mm) versus a clearance-fit part (0.2–0.4mm), since that changes what counts as "changed" versus "manufacturing noise."

Ready to see what changed?

Drop two files into the free diff tool — no account, nothing leaves your browser.

Compare two STL files now