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.

MD4 is cryptographically broken (collisions can be crafted). Use it only for checksums or legacy compatibility, not for security.
MD4

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

  1. Type or paste your input into Text to hash — the digest updates as you type (an empty box shows the hash of empty input).
  2. Choose the Input encoding: Text (UTF-8) hashes the characters as UTF-8, Hex bytes or Base64 hash the decoded raw bytes.
  3. Pick the Output format (hex lowercase, hex uppercase or Base64) and click Copy.

Example

Input
abc
Output
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.

Explore more categories