Decrypt a hash in milliseconds
Paste an MD5, SHA-1, SHA-256, SHA-512 or MySQL hash and get the original text back — matched in real time against a database of over a million real-world passwords.
- 1,000,000+passwords indexed
- 8hash algorithms
- FreeJSON API
Supported hash types
8 algorithms, recognised automatically from the hash you paste.
-
MD5 128-bit
The classic. Still everywhere.
32 hex characters
-
MD5(MD5) Double
md5(md5($pass)) — a common “salt-free” scheme.
32 hex characters
-
SHA-1 160-bit
Legacy, but far from gone.
40 hex characters
-
SHA-224 SHA-2
Truncated SHA-256.
56 hex characters
-
SHA-256 SHA-2
The modern default.
64 hex characters
-
SHA-384 SHA-2
Truncated SHA-512.
96 hex characters
-
SHA-512 SHA-2
64-bit words, 512-bit digest.
128 hex characters
-
MySQL41 PASSWORD
MySQL’s PASSWORD() — a “*” then 40 hex.
“*” + 40 hex
How it works
Three steps, none of which involve breaking any cryptography.
-
1
Paste your hash
One or many, one per line. We read the length and shape to work out which algorithm produced each.
-
2
We look it up
Every hash is matched against a pre-computed index of a million common passwords — a single seek, not a brute-force search.
-
3
Get the plaintext
If the original text is one we know, it comes straight back, ready to copy. If not, you get an honest “not found”.
A hash is one-way, so this is a dictionary lookup rather than true decryption: we can only return text that is already in our database. Why that matters ›
Developers
Automate it with the API
Every lookup the site makes is a call you can make yourself. One endpoint, JSON in and out, no API key.
- POST a batch, or GET a single hash
- Type detected for you
- The same “never stored” promise
curl -s https://md5decrypt.io/api/decrypt \
-d hash=5f4dcc3b5aa765d61d8327deb882cf99
{
"hash": "5f4dcc3b5aa765d61d8327deb882cf99",
"type": "md5",
"found": true,
"plain": "password"
}
Questions & answers
What this tool is, and — just as important — what it isn’t.
What is MD5Decrypt?
MD5Decrypt is a free online tool that reverses cryptographic hashes. You give it a hash — an MD5, SHA-1, SHA-256, SHA-512 or MySQL fingerprint — and it returns the original text, whenever that text is one it already knows.
Is this actually “decryption”?
Not in the strict sense. Hashes are one-way: you cannot compute the input from the output. What this tool does is a dictionary lookup — it has already hashed millions of known passwords, so it can recognise a hash it has seen before and hand back the matching text. A truly random or never-seen input will not be found.
Which hash types are supported?
MD5, double MD5 (md5(md5())), SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 and MySQL41 — the MySQL PASSWORD() function. The type is detected automatically from the hash you paste.
Why wasn’t my hash found?
Either the original text isn’t in our dictionary of common passwords, or the hash is salted, or it is simply a random string. A “not found” result means we don’t have that plaintext — not that the hash is invalid.
Do you store the hashes I submit?
No. Lookups are answered in memory and the hashes are never written to our logs or our database. The API endpoint even runs with request logging switched off for exactly this reason.
Is it free?
Yes — the website and the JSON API are both free to use, with no signup and no API key.