MD4 Hash Generator
Generate the MD4 hash of any text instantly in your browser. UTF-8, hex or Base64 input; hex or Base64 output. Free, private, no upload.
Runs entirely in your browser. Your data is never uploaded.
What is MD4 Hash Generator?
MD4 is a 128-bit hash function by Ron Rivest (RFC 1320, 1990) and the direct ancestor of MD5, SHA-1 and RIPEMD. This tool computes the 128-bit MD4 digest of text or raw bytes (hex or Base64) as you type and shows it as 32 hex characters or Base64.
How to use MD4 Hash Generator
- Type or paste your input into Text to hash — the digest updates as you type (an empty box shows the hash of empty input).
- Choose the Input encoding: Text (UTF-8) hashes the characters as UTF-8, Hex bytes or Base64 hash the decoded raw bytes.
- Pick the Output format (hex lowercase, hex uppercase or Base64) and click Copy.
Example
abc
a448017aaf21d8525fc10ae87aa6729d
MD4 of the 3 ASCII bytes "abc" (UTF-8, hex lowercase output), the standard test vector.
When to use MD4 Hash Generator
Use the MD4 text tool to hash strings: reproduce a value from documentation or code, build test vectors, compare an API signature input, or check what a program should output. Do not use it to protect anything against attackers — it is cryptographically broken. Do not use it to check a downloaded file: copying file contents into a text box changes line endings and encoding, so use the MD4 file checksum tool. Use SHA-256 for new integrity checks.
How MD4 Hash Generator works
MD4 pads the message with a 1 bit, zeros and the 64-bit little-endian message length to a multiple of 512 bits, then runs each 512-bit block through three rounds of 16 operations on four 32-bit words using the nonlinear functions F, G and H, additions and left rotations. The four final words, written little-endian, form the 128-bit digest. The text is first converted to bytes (UTF-8 by default), so the same characters always give the same hash.
Common Use Cases
- Check the expected MD4 of a string in a unit test or fixture
- Hash hex bytes copied from a debugger, packet capture or protocol spec
- Compare MD4 output between two programming languages that disagree
- Generate deterministic identifiers or cache keys from text
- Reproduce legacy MD4 values stored by an old system
Security Note
MD4 is completely broken. Collisions can be found by hand-sized computation, and it is still the core of the NTLM password hash, which is why NTLM hashes are cracked so easily. Use it only for compatibility (e.g. eDonkey/ed2k links, NTLM research); never for security. Plain hashes are also not suitable for storing passwords: use a slow, salted password hash such as Argon2, scrypt or bcrypt. Everything is computed locally in your browser; nothing you type is sent anywhere.
FAQs
Where is MD4 still used?
The Windows NT/NTLM password hash is MD4 over the UTF-16LE password, and ed2k (eDonkey) file links are built from MD4 hashes of file chunks. This tool computes plain MD4; NTLM is MD4 of UTF-16LE bytes, so you would have to enter the password as hex in UTF-16LE.
Why does my system not support MD4?
OpenSSL 3 moved MD4 to the legacy provider, so openssl md4 or Node.js crypto.createHash("md4") may fail by default. This tool implements MD4 in the browser (hash-wasm), so it works regardless.
Why does the hash change completely when I change one character?
That is the avalanche effect every cryptographic hash is designed for: flipping one input bit changes about half of the 128 output bits, so similar inputs give unrelated digests.
Does a trailing space or newline matter?
Yes. The hash covers every byte, so abc and abc followed by a newline give different MD4 values. Make sure the input contains exactly the bytes you intend to hash.