Someone says “I only changed a little.” The config no longer loads. The legal page has a new clause. The JSON fixture silently dropped a field. Your eyes are bad at spotting a missing comma in 400 lines.
A diff tool shows insertions and deletions. Nicxro’s text comparer is for that moment when git is not in the room: two emails, two CMS drafts, two API responses, two regexes, two minified files you beautified.
This is how to compare so you see the change that matters, not a wall of noise.
What a diff is good at
Line-oriented text. Source code, JSON after formatting, CSV, markdown, logs.
If you compare minified JSON to minified JSON, a single key change can look like the entire line changed, because it is one line. Format both sides first with the JSON formatter. Then diff. The change becomes a few lines.
If you compare Word documents by pasting, you may lose formatting and still catch wording. For contracts, that can be enough. For layout, it is not.
If you compare binary files, use hashes. A text diff of a PNG is theater.
Get both sides into the same shape
Whitespace: trailing spaces and tabs vs spaces will explode a diff. Decide whether whitespace matters. For code, it often does. For prose, you may want to ignore trailing space.
Line endings: CRLF vs LF can mark every line changed. Normalize if you are on mixed OS teams.
JSON key order: two objects with the same keys in different order are equal as data and different as text. Format with sorted keys if your tool can, or compare parsed objects in a script. A text diff will lie about “changes.”
CSV column order: same issue.
Case: OK vs ok is a real change in JSON strings and a fake change in a case-insensitive title. Know which you are looking at.
A workflow for API responses
You have a “before” capture and an “after” capture from a staging deploy.
- Format both with Nicxro’s JSON formatter.
- Redact tokens so you do not paste secrets, and so timestamps do not dominate if you do not care about them. Or keep timestamps if the bug is time.
- Paste into the diff tool.
- Read only the hunks. Ignore brace-only noise if both files were formatted the same. If braces moved, the structure changed.
If the diff is huge, the schema changed. If the diff is one field, you have a lead. If the diff is empty and the app still fails, the change is not in this payload. Look at headers, status, or a different endpoint.
A workflow for copy and legal text
Paste old and new. Look for deleted sentences, not only new marketing adjectives. Deletions are how refund policies vanish.
If the CMS wrapped lines differently, the diff will show almost every line. Soft-wrap in the editor does not add newlines. Hard reflow does. Ask the writer to change sentences, not line breaks, or ignore line wrap if the tool can.
For blogs, a diff against the last published version is how you catch an accidental overwrite. WordPress revisions exist. A raw diff is still useful when you copied from Google Docs and the revision history is a mess.
Minified CSS and JS
Beautify both files first. Then diff. Otherwise one character change restyles the whole file as a single-line replace.
If the minifier reordered rules, the diff is noisy and the behavior might still match. For CSS, noisy diffs after minify/beautify cycles are common. Compare source files from git when you can, not generated files.
What “no difference” should mean
Empty diff means the texts are the same under the comparison rules. It does not mean the files are the same on disk if you only pasted a portion. It does not mean the website is the same if HTML comments or meta tags sit outside the paste.
Hash the files if you need byte identity. Diff the text if you need to understand a change.
Human errors a diff catches quickly
A duplicated paragraph in a post.
A feature flag flipped in a config.
An extra comma removed that made JSON valid, or added that made it invalid. Combine with the JSON validator.
A URL that gained a space.
A price that went from 9.99 to 999.
An email template that dropped {{name}}.
These are easier in a diff than in a read-through at 1 a.m.
Noise you should not chase
Generated timestamps in every object.
Random IDs if they are expected to change.
Minimap-only moves where a block relocated but did not change. Some diffs highlight moves poorly. Read both sides of a big delete-plus-add. It might be a move.
Word wrapping in logs.
If more than a third of the lines are marked and you expected a small change, your normalization is wrong. Format, sort, strip, then compare again.
Comparing CSS and HTML after a theme update
WordPress theme updates rewrite templates. You copied last month’s header.php into a ticket. Beautify both, then diff. You will see the new skip link, the new nav markup, or the removed widget area. Without beautify, minified or one-line PHP/HTML diffs are unreadable.
For CSS, diff the source files, not two minified bundles from the CDN. If you only have bundles, beautify both first. Expect noise from source maps comments and license banners. Skip those hunks.
Comparing regex and small config snippets
A one-line regex change can be invisible in a chat log. Put old and new on two sides of the comparer. You will see a missing $ anchor or a swapped character class. Pair this with the regex tester: the diff shows what changed, the tester shows what that change does to real strings.
.env files: diff carefully and redact. A leaked secret in a screenshot of a “green/red” diff is still a leaked secret. Prefer local diff for those.
When to stop using a visual diff
Thousand-line generated lockfiles: use the package manager’s own explanation.
Images: use hashes or a visual QA tool, not text diff.
Video and fonts: hashes.
If you are merging git anyway, git diff plus a formatter is the native home. Nicxro is for the paste you have now, in two boxes, without making a repo for it.
Word processors vs plain text
Pasting from Google Docs or Word into both sides of a diff can introduce special spaces, smart quotes, and hidden BOM characters. The prose looks identical. The diff lights up every line. Paste through a plain text box first, or replace curly quotes on both sides. Then compare. You want to see the clause that changed, not the typography.
Team use
Put the diff in the ticket when you can, with secrets removed. “It broke” is not a report. “max_retries went from 3 to 0” is a report.
Do not use a public diff tool for customer data. Redact. Prefer in-browser tools.
Nicxro’s comparer is the two-box version of diff. Left is before. Right is after. Your job is to make before and after comparable, then read the red and green like they owe you an explanation. The change is usually smaller than the argument about the change. The tool makes the argument shorter.