Compare Hashes
Two hashes can look the same and still differ by one character, and they can look different and still be the same bytes. Eyeballing a 64-character hex string is how a bad ISO ships.
Two hashes can look the same and still differ by one character, and they can look different and still be the same bytes.
Paste Hash A and Hash B. Ignore case and ignore whitespace are on because a checksum page almost always adds a newline or switches case.
How to use it
- Same algorithm, same encoding. MD5 vs SHA-256 never matches. Hex vs Base64 of the same digest never matches until you decode one.
- Leave Ignore case on for hex.
5D41…and5d41…are the same digest. - Leave Ignore whitespace on. A trailing newline is not a mismatch.
- If they still fail, the inputs were not the same bytes. Windows CRLF vs Linux LF hashes as two different files.
When it breaks
- A match on SHA-256 or SHA-512 means the bytes are the same. A match on MD5 or SHA-1 is almost certainly the same file, unless someone engineered a collision.
- This is not password checking. Do not treat SHA-512 as secure password storage.
- Don't
===raw hex in JS without normalizing case. That's why auth scripts reject hashes that are actually equal.
Hash A
0 chars
Hash B
0 chars
Tips
- • Case insensitive - MD5 hashes are often shown in uppercase or lowercase
- • Verify downloads - Compare downloaded file hash against expected value
- • Data integrity - Ensure files weren't corrupted or modified
Features
- Side-by-side Hash A and Hash B with a clear match or mismatch
- Ignore case is on for hex: `5D41…` and `5d41…` are the same digest
- Ignore whitespace is on so a trailing newline is not a mismatch
- Character-level visual diff when the normalized strings still differ
- Does not treat SHA-512 as password storage
Common Use Cases
- Checking a downloaded ISO checksum without eyeballing 64 hex characters
- Comparing two digests that differ only in case or a trailing newline
- Catching MD5 vs SHA-256 or hex vs Base64 before calling it a mismatch
- Seeing that Windows CRLF and Linux LF hash as two different files
Two hashes can look the same and still differ
Two hashes can look the same and still differ by one character, and they can look different and still be the same bytes. Eyeballing a 64-character hex string is how a bad ISO ships.
Paste Hash A and Hash B. Ignore case and ignore whitespace are on because a checksum page almost always adds a newline or switches case. Leave Ignore case on for hex. 5D41… and 5d41… are the same digest. Leave Ignore whitespace on. A trailing newline is not a mismatch.
Same algorithm, same encoding. MD5 vs SHA-256 never matches. Hex vs Base64 of the same digest never matches until you decode one. If they still fail, the inputs were not the same bytes. Windows CRLF vs Linux LF hashes as two different files.
A match on SHA-256 or SHA-512 means the bytes are the same. A match on MD5 or SHA-1 is almost certainly the same file, unless someone engineered a collision. This is not password checking. Do not treat SHA-512 as secure password storage.
Examples
Hash A: 5D41402ABC4B2A76B9719D911017C592
Hash B: 5d41402abc4b2a76b9719d911017c592
Result: Match (Valid)Hash A: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Hash B: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9825
Result: Mismatch (Invalid)Frequently Asked Questions
A match on SHA-256 or SHA-512 means the bytes are the same. A match on MD5 or SHA-1 is almost certainly the same file, unless someone engineered a collision.
Paste Hash A and Hash B. Ignore case and ignore whitespace are on because a checksum page almost always adds a newline or switches case. Leave Ignore case on for hex. 5D41… and 5d41… are the same digest. Leave Ignore whitespace on. A trailing newline is not a mismatch.
Same algorithm, same encoding. MD5 vs SHA-256 never matches. Hex vs Base64 of the same digest never matches until you decode one. If they still fail, the inputs were not the same bytes. Windows CRLF vs Linux LF hashes as two different files.
This is not password checking. Do not treat SHA-512 as secure password storage.
Don't === raw hex in JS without normalizing case. That's why auth scripts reject hashes that are actually equal.
Tips
- Two hashes can look the same and still differ by one character, and they can look different and still be the same bytes. Eyeballing a 64-character hex string is how a bad ISO ships.