T
THINKFORU
Submit Feedback

MD5 Hash Generator & Verifier: Hex & Base64

MD5 Hash Generator & Verifier: Hex & Base64
MD5 Generator
● LOCAL ONLY
🔒 Zero Data Storage: All MD5 hashing runs in your browser in plain JavaScript, because the Web Crypto API does not offer MD5. Your text, hex bytes and files never leave your device. Read our Zero Data Storage Policy →

No file chosen. Files are hashed in your browser and never uploaded.

Checksums only. MD5 has practical collision attacks, so never use it for passwords, signatures or tamper detection. Use SHA-256 or stronger for security.

Inputs are stored after the # in the link, which browsers do not send to the server. Untick the box if your input is sensitive. Files are never added to a link.

Modern Security & Hashing Utilities

Hash Algorithm Reference

AlgorithmSample digest of abcSpecDigest / BlockSecurity status
MD5900150983cd24fb0d6963f7d28e17f72RFC 1321128 bit / 512 bitBroken: practical collisions since 2004. Never use for security.
SHA-1a9993e364706816aba3e25717850c26c9cd0d89dFIPS 180-4, RFC 3174160 bit / 512 bitCollision attacks are practical (SHAttered, 2017). NIST is retiring it by 2030.
SHA-256ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015adFIPS 180-4, RFC 6234256 bit / 512 bitNo known practical attacks. About 128-bit collision resistance.
SHA-384cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7FIPS 180-4, RFC 6234384 bit / 1024 bitNo known practical attacks. Truncated SHA-512 family.
SHA-512ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49fFIPS 180-4, RFC 6234512 bit / 1024 bitNo known practical attacks. Faster than SHA-256 on 64-bit CPUs.
SHA3-2563a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532FIPS 202256 bit / 1088-bit rateKeccak sponge design. No known practical attacks.

Sample input for all rows: abc (3 bytes, UTF-8). MD5 is fine for quick checksums and legacy compatibility. Choose SHA-256 or stronger whenever someone could tamper with the data.

MD5 Test Vector Dataset (30 Vectors & Standards)

RFC 1321 test vectors, reference strings, padding boundaries, a real collision pair and output formats. Click Copy next to any hash. Enter the same input in the tool above to verify your own implementation. Every value was computed with Python hashlib and the RFC ones match the published suite.

Identifier / Standard NameSample MD5 HashUnderlying AlgorithmTechnical Specs / InputOutput Length
1. RFC 1321 Test Suite
RFC 1321: empty stringd41d8cd98f00b204e9800998ecf8427eMD5 (RFC 1321)Input "" (0 B); the hash of nothing32 chars
RFC 1321: a0cc175b9c0f1b6a831c399e269772661MD5 (RFC 1321)Input "a" (1 B)32 chars
RFC 1321: abc900150983cd24fb0d6963f7d28e17f72MD5 (RFC 1321)Input "abc" (3 B)32 chars
RFC 1321: message digestf96b697d7cb7938d525a2f31aaf161d0MD5 (RFC 1321)Input "message digest" (14 B)32 chars
RFC 1321: abcdefghijklmnopqrstuvwxyzc3fcd3d76192e4007dfb496cca67e13bMD5 (RFC 1321)Input "abcdefghijklmnopqrstuvwxyz" (26 B)32 chars
RFC 1321: ABCDEFGHIJKL...d174ab98d277d9f5a5611c2c9f419d9fMD5 (RFC 1321)Input "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" (62 B); full string is part of the RFC test suite32 chars
RFC 1321: 123456789012...57edf4a22be3c955ac49da2e2107b67aMD5 (RFC 1321)Input "12345678901234567890123456789012345678901234567890123456789012345678901234567890" (80 B); full string is part of the RFC test suite32 chars
2. Common Reference Strings
Reference: hello world5eb63bbbe01eeed093cb22bb8f5acdc3MD5 (RFC 1321)Input "hello world" (11 B)32 chars
Reference: Hello, World!65a8e27d8879283831b664bd8b7f0ad4MD5 (RFC 1321)Input "Hello, World!" (13 B)32 chars
Reference: The quick brown fox jumps over...9e107d9d372bb6826bd81d3542a419d6MD5 (RFC 1321)Input "The quick brown fox jumps over the lazy dog" (43 B); classic pangram32 chars
Reference: The quick brown fox jumps over...e4d909c290d0fb1ca068ffaddf22cbd0MD5 (RFC 1321)Input "The quick brown fox jumps over the lazy dog." (44 B); one extra period changes the whole hash32 chars
Reference: The quick brown fox jumps over...1055d3e698d289f2af8663725127bd4bMD5 (RFC 1321)Input "The quick brown fox jumps over the lazy cog" (43 B); one letter changed (dog to cog), completely different hash32 chars
Reference: test098f6bcd4621d373cade4e832627b4f6MD5 (RFC 1321)Input "test" (4 B)32 chars
3. Padding Boundaries and Encoding Edge Cases
55-byte messageef1772b6dff9a122358552954ad0df65MD5 (RFC 1321)Input "a" x55 (55 B); longest message that fits one block with padding32 chars
56-byte message3b0c8ac703f828b04c6c197006d17218MD5 (RFC 1321)Input "a" x56 (56 B); padding no longer fits, so a second block is added32 chars
63-byte messageb06521f39153d618550606be297466d5MD5 (RFC 1321)Input "a" x63 (63 B); one byte short of a full block32 chars
64-byte message014842d480b571495a4a0363793f7367MD5 (RFC 1321)Input "a" x64 (64 B); exactly one full block of data, padding makes a second32 chars
65-byte messagec743a45e0d2e6a95cb859adae0248435MD5 (RFC 1321)Input "a" x65 (65 B); spills into a second block32 chars
Trailing newline0bee89b07a248e27c83fc3d5951213c1MD5 (RFC 1321)Input "abc" + LF (4 B); echo adds the LF, printf and echo -n do not32 chars
Windows line endingc13b6afecf97ea6b38d21a8f5167fa1eMD5 (RFC 1321)Input "abc" + CR LF (5 B); differs from LF-only32 chars
Single NUL byte93b885adfe0da089cdf634904fd59f71MD5 (RFC 1321)Input hex 00 (1 B); use Hex bytes input type32 chars
Unicode NFC (precomposed e-acute)07117fe4a1ebd544965dc19573183da2MD5 (RFC 1321)Input "caf" + U+00E9 (UTF-8: 63 61 66 c3 a9, 5 B)32 chars
Unicode NFD (e + combining acute)10a85865ce7a7d2f0dc3faf37c617a8dMD5 (RFC 1321)Input "cafe" + U+0301 (UTF-8: 63 61 66 65 cc 81, 6 B); looks identical, hashes differently32 chars
Emoji (4-byte UTF-8)2a02eac39d716a70ecf37579185927b6MD5 (RFC 1321)Input U+1F600 grinning face (UTF-8: f0 9f 98 80, 4 B)32 chars
All byte values 0x00-0xFFe2c865db4162bed963bfaa9ef6ac18f0MD5 (RFC 1321)Input hex 00 01 02 ... fe ff (256 B); use Hex bytes input type32 chars
4. Known Collision Pair (why MD5 is broken)
Collision message A (Wang et al. 2004)79054025255fb1a26e4bc422aef54eb4MD5 (RFC 1321)Input hex d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f8955ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5bd8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70 (128 B); paste into Hex bytes mode32 chars
Collision message B (differs in 6 bytes)79054025255fb1a26e4bc422aef54eb4MD5 (RFC 1321)Input hex d131dd02c5e6eec4693d9a0698aff95c2fcab50712467eab4004583eb8fb7f8955ad340609f4b30283e4888325f1415a085125e8f7cdc99fd91dbd7280373c5bd8823e3156348f5bae6dacd436c919c6dd53e23487da03fd02396306d248cda0e99f33420f577ee8ce54b67080280d1ec69821bcb6a8839396f965ab6ff72a70 (128 B); same MD5 as message A, proof that MD5 cannot detect tampering32 chars
5. Output Formats (digest of abc)
Hex uppercase900150983CD24FB0D6963F7D28E17F72MD5 + HexSame 16 digest bytes as uppercase hex; hex comparison is case-insensitive32 chars
HTTP Content-MD5 header (RFC 1864)kAFQmDzST7DWlj99KOF/cg==MD5 + Base6424 characters including == padding, the format used by Content-MD5 headers and some object stores24 chars
Base64URL (RFC 4648 section 5)kAFQmDzST7DWlj99KOF_cgMD5 + Base64URL22 characters, URL-safe alphabet, no padding22 chars

FAQ

Is MD5 still safe to use?

Not for anything an attacker could tamper with. Practical MD5 collisions have been known since 2004, and chosen-prefix collisions were used to forge a rogue CA certificate in 2008 and in the Flame malware in 2012. MD5 is acceptable only for non-adversarial uses such as quick checksums, cache keys and de-duplication. Use SHA-256 or stronger when integrity matters.

Can an MD5 hash be reversed or used to store passwords?

MD5 is a one-way function, but it is so fast that GPUs test billions of guesses per second and precomputed tables cover most weak passwords, so a leaked MD5 password hash is effectively plain text. Never store passwords with MD5. Use Argon2id, bcrypt or PBKDF2 with a unique salt, as the OWASP Password Storage Cheat Sheet advises.

How long is an MD5 hash and why do two tools give different results?

MD5 produces 128 bits: 16 bytes, shown as 32 hex characters or 24 Base64 characters. Different results almost always mean different input bytes: a trailing newline (echo adds one, echo -n does not), CRLF versus LF line endings, Unicode normalization (NFC versus NFD) or another text encoding. This tool hashes the exact UTF-8 bytes you type.