Free tool · NC1 / DSTV diff

What changed between two NC1 files?

Drop in two .nc1 files — the old one and the revision — and get a semantic compare: every real change explained in shop language, with the raw lines beside it. Line endings, spacing and 18.0 vs 18.00 are reported as no-ops and folded into one counted line. Each finding says what it means on the part and what your cutting software will most likely do with it. New to the format? Read the guide →

Read this firstRuns entirely in your browser. Your files are never uploaded — there is no server to upload to.

The report is built on this page too. The only external request this page makes is loading its font.

Drop two NC1 files anywhere in this box — first is A (Before), second is B (After). Drop or pick two folders to pair them by filename. Nothing is compared until both slots are filled.

Try it
A · Before
No file yet
B · After
No file yet
file units — values are compared as written; this page never converts units.

Limits, stated plainly: plate diffs (profile code B) are what this page describes best; section files are compared, but faces (o/u/h) and section-only fields are reported as labelled values, not interpreted — the verdict says so. One part per file: a file holding more than one ST is refused. No unit conversion — a 25.4× scale is named and a common-unit re-compare offered, never applied silently. Radius and bevel values are compared as numbers; a radius re-expressed as short segments reports as geometry rows; o/u/h faces are compared as labelled sets. Countersink and threaded-hole extras are compared as numbers in the standard's field order. What a table does with a change is stated from the DSTV standard and published CAM documentation, not from your machine. The tolerance in force is always printed, and “same part” is never printed without the count of sub-tolerance deltas.

FAQ

Questions people ask about NC1 diffs

What does this NC1 diff actually compare?

Both files are parsed into parts — header, outline, cutouts, holes, marks, bend lines — and the parts are compared, not the text. Every real change becomes one worklist entry with what it means on the part and what your cutting software will most likely do with it. Line endings, spacing and 18.0 vs 18.00 are reported as no-ops and folded into one counted line. The raw lines sit beside every finding, so the screen always equals the bytes.

Can this tell me if the revised file will import?

It flags documented blockers only; your CAM's import settings decide the rest. Where a finding rests on published behaviour it carries a source chip you can click through to the references; where it does not, it says “depends on your CAM's import settings” rather than guessing about your machine.

What changed in a revised NC1 — how do I see it at a glance?

The verdict banner is one fixed sentence: only marks were added, geometry changed, process changes only, header only, or same part — formatting only. Under it the worklist is grouped blocking, geometry, process, info, then the folded no-ops. A screenshot of the banner is unambiguous in an email.

Are my files uploaded?

No. Your files are never uploaded — there is no server to upload to. The report is built on this page too. The only external request this page makes is loading its font.

Why does it say “same part” when the two files are different sizes?

Because the bytes changed and the part did not. Re-exports routinely change line endings, indentation and number padding. Those land under “Looks different, reads the same” with a reason and a count, and the raw pane still shows you every one of them.

Can I compare two folders of files?

Yes — pick or drop a folder into A and another into B, and files are paired by filename. Pairs that are byte-identical are marked as such without parsing; the rest are compared one at a time when you click them. Folder pickers are partial on Safari and iOS; if the folder buttons do nothing there, drop the files themselves instead.

References

Where the “does” column comes from

A finding that asserts what a CAM will do names its basis. Anything without a basis is phrased “depends on your CAM's import settings”.

We build tools that batch-process files like this — john@curioustech.org