utilyfe

Hash Generator

Get every common hash of a piece of text or a file at once, and check one against a published value.

Runs entirely in your browser. Nothing you enter is uploaded or stored.

MD5checksums only
SHA-1checksums only
SHA-256
SHA-384
SHA-512

Check against a known hash

Paste the hash someone published and we'll tell you whether it matches, and which algorithm produced it.

How to use the Hash Generator

  1. 1Type or paste your text, or drop a file onto the page to hash its exact bytes. All five hashes appear at once and update as you type or as soon as the file's read.
  2. 2Tick Uppercase if the system you're comparing against prints hashes that way.
  3. 3Press Copy next to the algorithm you need.
  4. 4To verify something, paste the published hash into "Check against a known hash": the page says whether it matches and which algorithm made it.

What a hash is for

A hash turns any amount of data into a short, fixed-length fingerprint. The same input always produces the same fingerprint, and any change at all (one byte, one space) produces a completely different one.

That makes hashes good for three jobs:

  • Checking that data arrived intact, by comparing the fingerprint with the published one.
  • Spotting duplicates without comparing the whole contents.
  • Proving a value hasn’t changed, when combined with a key, as JWTs do.

It’s a one-way trip. A hash can’t be turned back into the text.

Which algorithm to use

Algorithm Length Use it for
MD5 32 hex characters Non-security checksums only; broken since 2004
SHA-1 40 Legacy systems and git object ids; broken for security since 2017
SHA-256 64 The sensible default for anything new
SHA-384 96 When a standard or a certificate requires it
SHA-512 128 Like SHA-256, often faster on 64-bit machines

“Broken” has a specific meaning here: researchers can build two different inputs that share a hash. That destroys any use where the hash proves authenticity, such as signatures or software downloads. It doesn’t stop MD5 being useful for catching an accidental corruption, which is why you’ll still see it published alongside downloads.

Hashing is not encryption, and not password storage

Not encryption: there’s no key and no way back. If you need to recover the original later, you want encryption, not a hash.

Not password storage: plain SHA-256 of a password is a well-known mistake. These algorithms are designed to be fast, and an attacker with a leaked database will try billions of guesses per second. Passwords need a deliberately slow, salted algorithm (bcrypt, scrypt or Argon2) where every password also gets its own random salt, so two identical passwords don’t share a hash.

Why your hash doesn’t match

Almost every mismatch comes down to the bytes, not the algorithm:

  • A trailing newline. Files usually end with one; a text box doesn’t. abc and abc\n have nothing in common as hashes.
  • Line endings. A file written on Windows uses \r\n, one from macOS or Linux uses \n.
  • A byte-order mark, an invisible three-byte marker some editors put at the start of a file.
  • Encoding. This page hashes the UTF-8 bytes, which is what almost everything uses today. A system hashing UTF-16 will produce a different result for anything non-English.
  • Copy-paste damage, like a leading space or a line break inserted by an email client.

Hashing the file itself, instead of pasting its contents, sidesteps all of this: a dropped file is hashed byte for byte, the same way sha256sum or certutil -hashfile would read it, with no encoding or copy-paste step in between.

When you paste a hash to check, the box also tells you when the length matches a known algorithm but the value doesn’t, which means the algorithm is right and the input differs.

Hex, and other ways to write a hash

A hash is bytes. Hex is the usual way to print them: two characters per byte, which is why SHA-256 shows as 64 characters. Some tools print the same bytes as Base64 instead, which is shorter, and some insert colons every two characters. Those are the same fingerprint in different clothes, and pasting any of them into the check box works, since spaces, colons and an algorithm prefix are ignored.

Questions

Is my text sent anywhere?
No. MD5 is computed by code on this page, and the SHA hashes use your browser's built-in Web Crypto. Nothing is uploaded, logged or saved, which matters when you're hashing something sensitive to compare it.
Why doesn't my hash match the one I was given?
Almost always because the bytes differ slightly, not because the algorithm does. The usual culprits are a trailing newline (a file ends with one, a text box doesn't), Windows line endings versus Unix, a byte-order mark at the start of a file, or trailing spaces. Hashing is all-or-nothing: one byte changes the whole result.
Can I hash a file here?
Yes: drop a file onto the page, or click to browse, and it hashes the file's exact bytes the same way `sha256sum` or `certutil` would, entirely in the browser. Nothing is uploaded; the file never leaves your device.
Is MD5 still safe to use?
Not for anything security-related. Collisions (two different inputs with the same hash) can be produced on a laptop, so MD5 must never guard a signature, a certificate or a download you don't control. It's still fine as a fast, non-security checksum, such as spotting an accidentally corrupted copy, and plenty of systems still publish MD5 for that.
Can a hash be reversed?
Not by undoing the maths. But hashing is quick, so anyone can hash billions of likely inputs and look yours up, which is exactly how leaked password hashes get cracked. That's why passwords need a slow, salted algorithm rather than any of these.