Compare two files without uploading either of them
A comparison needs both versions, so a hosted diff receives two files rather than one. Doing it locally means neither the old contract nor the new one, and neither the working config nor the broken one, goes anywhere.
At a glance
- Tool
- /tools/diff-checker
- Input
- Two blocks of text
- Output
- The differences between them
- Exposure in a hosted equivalent
- Two files, not one
- Usual pairs
- Contract versions, a config before and after, two log excerpts
- Do first
- Normalise line endings and formatting on both sides
In detail
Every other job in this cluster involves one file. A diff involves two, and they are the two most closely related versions of the same thing, which together say more than either does alone. The redline of an agreement shows exactly which clause was fought over and how far each side moved, which is often more sensitive than the final document either party would circulate.
Configuration diffs have the same shape and a sharper edge. Comparing a working environment against a broken one means handing over both, and the file that fixes the problem frequently contains the credential that was wrong in the other. You are not comparing two harmless documents; you are comparing the before and after of a live system.
Prepare both sides before you conclude anything. Normalise line endings, run both through the same formatter if one has been reformatted, and trim to the region you actually care about. A diff that reports every line as changed almost always means a formatting pass or a line ending difference rather than a real rewrite.
The offline test is particularly satisfying here because the operation feels like it should need a server and does not. Disconnect, paste both versions, and read the differences. Two confidential documents were compared and neither of them moved. If you would rather watch than disconnect, keep the network panel open while you paste: the second document produces no more traffic than the first, which is to say none at all.
Things that catch people out
- A whole-file diff taken after a reformat is noise. Format both sides the same way first.
- Line ending differences between operating systems can report every single line as changed.
- A diff shows what changed, not what it means. Two lines that look identical can differ by an invisible character.
- Comparing excerpts rather than whole files is usually right, but make sure both excerpts start at the same place, or every line after the offset is reported as changed.
Try it: Hash Generator
The file hasher is on every page here because it takes any file at all and proves the point: disconnect from the network, drop a file in, and it still returns a checksum you can compare against a published one.
Hash Generator
LOCAL · Browser-OnlyGenerate MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, Keccak-256, CRC32, and HMAC hashes from text or files
MD5 is cryptographically broken and should not be used for security purposes. Use SHA-256 or SHA-512 instead.
Related Working without uploading
All working without uploading →View a file as a hex dump without uploading it
Inspect any file's raw bytes in your browser. If you cannot identify a file, uploading it to find out is the wrong first move.
Format and validate JSON without uploading it
Tidy and check JSON in your browser. The JSON people paste into a formatter is usually a live API response full of real records.
Check a .env file without uploading your secrets
Find duplicate keys, mask values and generate a .env.example locally. A .env is nothing but credentials, so uploading one means rotating them.
Minify JavaScript without uploading your source
Minify scripts and stylesheets in your browser. Source carries comments, endpoints and internal names, and minifying is not obfuscation.
Hash a file without uploading it
Checksum a file in your browser with SHA-256 and eight other algorithms. A hash proves the bytes match; it keeps nothing secret.
Decode a JWT without sending it to a website
Read and verify a token in your browser. A JWT is a live credential: pasting one into a hosted decoder hands over a working session.
Tools for this
- Text Diff Checker Free online text diff checker - compare two texts and see the differences highlighted line by line
- Code Formatter Free online code formatter - beautify and format JavaScript, CSS, HTML, and more
- Hex Dump Viewer View hex dumps of files and text online - color-coded bytes, search, and ASCII representation