Hash Generator

Calculate MD5, SHA-1, SHA-256 and SHA-512 digests of any text as you type. Your input is hashed locally and never saved. Free, no sign-up — runs locally in your browser.

Never saved: unlike most tools here, this page keeps no draft — what you type exists only in this tab.

MD5 checksum only
SHA-1
SHA-256
SHA-512

What a hash is for

Hashing is the closest thing computing has to a fingerprint kit. Feed in anything — a password candidate, a downloaded ISO, a database row — and out comes a fixed-length string of hex that depends on every single bit of the input. Recompute it later on the same data and you get the same string, bit for bit; change one byte anywhere and the result is unrecognisably different. That gives you a primitive that shows up everywhere: verify a download against the publisher's checksum before you run it; detect that two files are identical without comparing them byte by byte; build content-addressed storage, where the hash is the address (Git works this way); and commit to a value — publish its hash today, reveal the value later — without leaking anything about it. This page computes the four digests you will meet most often, live as you type, using your browser's own cryptography for the SHA family.

How to use this tool

  1. Type or paste the text. All four digests update as you type — there is no button, because there is nothing to send anywhere.
  2. Compare carefully. A digest is only useful compared bit-for-bit against a reference value from a trustworthy source; eyeballing the first few characters is how people end up trusting the wrong file.
  3. Copy the digest you need with its row's button. Digests are shown in lowercase hex, the conventional form; if a tool expects uppercase, it will usually accept lowercase too — the value is the same.
  4. Mind the encoding: the input is hashed as UTF-8 text. A checksum published for a file covers the file's bytes, which for a text file include its line endings — hashing the same words typed here and stored in a file with Windows line endings gives different digests, correctly.

The four algorithms, honestly labelled

MD5 (1992) produces 128 bits and was the web's default checksum for a decade. Collisions — two inputs with the same digest — have been practical since 2004 and cheap since the 2010s, so MD5 is finished anywhere security is claimed. It survives, legitimately, as a corruption check and a legacy fingerprint, which is why it is here, badged as such. SHA-1 (1995) produces 160 bits and fell in 2017, when Google published two different PDFs with the same SHA-1 digest (the SHAttered attack); browsers and Git hosts have been migrating off it since. You will still meet it in Git commit IDs and old release notes. SHA-256 (2001) is the current workhorse — 256 bits, no practical attacks, the digest behind TLS certificates, Bitcoin and most published checksums today; when in doubt, this is the one to use. SHA-512 is its larger sibling: 512 bits, and on 64-bit hardware often faster per byte than SHA-256 because it works on 64-bit words. Length is not automatically better — a truncated SHA-512 can be the right engineering choice — but for a plain file fingerprint either is beyond brute force.

What hashing is not

A hash is not encryption: there is no key and no way back, by design — anything that can be "decrypted" is not a hash. It is not a password scheme by itself, for the reasons in the FAQ: fast and unsalted is precisely what an attacker wants. And a matching checksum proves only that the bytes you received are the bytes the checksum describes — if you fetched both the file and its checksum from the same compromised place, the check proves nothing. The value of a digest is exactly the trustworthiness of the channel you got the digest through. Used with that in mind, these four little hex strings are among the most reliable tools in all of computing.

Frequently asked questions

What is a hash, in one paragraph?

A hash function turns any input — a word, a file, a whole disk image — into a fixed-length fingerprint (the digest), computed so that the same input always gives the same fingerprint, any change to the input changes the fingerprint unpredictably, and the fingerprint cannot be run backwards to recover the input. Those three properties are why hashes are used to check downloads for corruption, to spot duplicate files, and to store password verifiers instead of passwords (with the extra machinery described below).

Why is MD5 listed if everyone says it is broken?

Broken for one job, fine for another. Since 2004 it has been practical to construct two different files with the same MD5 digest, so MD5 must never be used where an attacker chooses the input — signatures, certificates, file-integrity claims in adversarial settings. But for checking that a download was not corrupted by a flaky network, or matching a legacy checksum a vendor still publishes, MD5 is exactly what you need, and it is everywhere in old tooling. Web Crypto refuses to provide MD5 at all; the digest above is computed by a small JavaScript implementation on this page, labelled here for what it is: a checksum, not a security control.

Can I hash a password here and store the result?

No — and this matters. A bare SHA-256 of a password is almost as bad as storing the password: attackers precompute dictionaries and run commodity hardware at billions of guesses per second against fast, unsalted hashes. Password storage needs a slow, salted, purpose-built function — bcrypt, scrypt or Argon2 — with a unique salt per user. Use this page to understand digests and to verify checksums, never as a step in a password scheme.

Why do SHA-1, SHA-256 and SHA-512 of the same text all look unrelated?

By design: that is the avalanche effect. A good hash function flips about half its output bits when a single input bit changes, so digests of "abc" and "abd" share nothing visible. It is also why you cannot compare hashes "approximately" — two digests are either bit-for-bit identical or no more related than chance, and why a checksum detects corruption so reliably: there is no such thing as a small change to the digest.

Is the text I type sent to a server for hashing?

No — and this page is deliberately stricter than most on this site: your input is not even kept as a local draft. The SHA digests are computed by your browser's own Web Crypto implementation and MD5 by JavaScript on the page; close the tab and the text is gone. Hashing something sensitive on a website that uploads it would defeat the entire purpose.

Related tools