Other tools hand you a list of every difference and leave you to sort it out. StrandDiff ranks the findings, flags what's uncertain instead of guessing, and only taps you when something actually counts.
| Row | Change | Verdict |
|---|---|---|
| SKU-1042, Widget A | $12.00 → $14.50 | VERIFY Real price move |
| SKU-1098, Widget C | Same price, new position in file | SWAP Moved, not changed |
| SKU-1105, Widget F | Did not exist last week | NEW First seen today |
| SKU-1077, Widget D | $9.99 pack vs $8.49 each — unit changed | AMBIGUOUS Unit mismatch, not called a move |
This is the whole pitch. Every other comparison tool stops at the list. StrandDiff does the triage.
Other tools show you all 400 differences and call it a day. You get the 3 that matter first, then the rest — so a 400-row file becomes a 5-minute read, not a 30-minute hunt.
A pack price and a per-lb price are not a price move, even when they look like one. Other tools assert it or drop it. We flag it with the reason — a flagged row you check beats a confident row that's wrong.
Set a pair of files once and we re-check them on a schedule. No daily re-pasting, no "something changed" spam — an alert only when a finding matters, or when your own rules say so.
The biggest comparison tool on the market admits a moved block reads as a deletion plus an insertion. StrandDiff aligns the two versions like a sequence, so a row that moved is reported as moved — never delete-plus-add, and a brand-new row is never buried.
No AI summary, no story, no silently omitted rows. The comparison is deterministic: run it twice, get the same verdicts twice. An AI will tell you a confident story about your data. StrandDiff shows you every row's verdict.
Customer zero: Towntemp already compares yesterday's grocery basket against today's across 20 towns. It once refused to call a beef "price move" — the two prices were a pack price and a per-lb price hiding behind the same "apx 1.1 lb" label. That catch is the product in one story.
| Tool | What you get | What you don't get |
|---|---|---|
| Basic file comparers | Added / removed / changed rows | Ranking, moves-as-moves, uncertainty flags |
| AI chat summaries | A readable story about the changes | Every row accounted for — rows get dropped, confidently |
| Page-change monitors | "Something changed" | What changed, row by row, and whether it matters |
| StrandDiff | Ranked verdicts, flagged uncertainty, watches that only alert on what matters | Noise. Guesses. Silent drops. |
When you open a file here, your browser reads it on your own machine and compares it right there. Nothing is sent to us — no upload, no storage, no copy on our servers.
Don't take our word for it: once this page loads, disconnect from the internet and it still works. If your files went to a server, that would be impossible.
The one exception is scheduled watches. A watch has to remember your files to check them later, so watch snapshots are stored — only for that watch, only because you asked for it.
Does it fetch my data? No. You bring the snapshots — it compares versions you already have. It is a processing layer, not a collection tool.
What happens when something is ambiguous? It gets flagged with the reason, never guessed. A flagged row you check beats a confident row that's wrong.
What's a watch? You set up a pair of files once — say, your supplier list — and we re-check it on a schedule. Instead of you pasting both files every week, the watch taps you only when something that matters changes. That's why it's a subscription: the checking recurs, so the cost recurs. (Exact schedule options aren't decided yet.)
What happens to my files? Free tier: nothing stored by default. Paid tiers never sell files or verdicts. Watches store only their own snapshots, because that's how a scheduled check works.
What about very large files? Built for snapshot-size files. Large-file handling is on the roadmap before any large-file launch.