Hash Calculator
Paste text, hex or Base64, or load a file, and read every digest at once — MD5, SHA-1, CRC32, SHA-2 and SHA-3. Turn on HMAC to key them, and paste a digest you were given to check it against the rows. All processing happens in your browser.
Text is encoded as UTF-8. A file is hashed exactly as it is on disk, up to 10 MB.
The key is read as bytes in the format above, so 0B0B is two bytes as hex
and four as text. An empty key is legal and produces a real digest.
Algorithms
CRC32 is off while HMAC is on: it is a checksum, and no keyed construction is defined for it.
Notes on this input
Digests
Nothing entered
| Algorithm | Bits | Digest | Copy |
|---|
Type, paste or load a file above to see its digests
0
Input bytes
0
Digests
—
Key bytes
Notes
- Which hash should I use?
- SHA-256, unless something you integrate with specifies otherwise. MD5 and SHA-1 both have practical collisions and are here because terminal and host interfaces still specify them — matching one is a legitimate reason to compute it, signing something new is not.
- Will a file digest match sha256sum or certutil?
- Yes. A loaded file is hashed byte for byte as it sits on disk: no line-ending translation, no text decoding, and no hex auto-detection even when the file happens to contain only hex characters.
- What does HMAC mode do?
- It computes HMAC as defined in RFC 2104: the key is padded to the hash block size and mixed through an inner and an outer digest. The key is read as bytes in whichever format you pick, so a hex key and a text key spelled the same way give different results. CRC32 has no keyed construction and is disabled while the mode is on.
- Does anything leave my browser?
- No. There is no backend and no analytics on this page. Input, keys and files are hashed in the tab and are gone when you close it.
These are debugging aids, not certified reference implementations. If a tool disagrees with your specification, trust the specification.