Reproduce a legacy value

Generate an MD5 hash from text or a file

Enter up to 5,000,000 UTF-16 code units or select a file up to 64 MiB, then copy the complete legacy checksum. Files are buffered whole in browser memory rather than streamed.

Loading the MD5 generator…

Enable JavaScript to calculate the legacy digest locally. The migration and security guidance remains available below.

A compact legacy digest

What MD5 produces

MD5 maps any input byte sequence to a 128-bit digest. The familiar output is 32 hexadecimal characters because each character represents four bits. Padded standard Base64 represents the same 16 bytes in 24 characters. Those encodings are interchangeable presentations; neither repairs the algorithm's security weaknesses.

The function remains deterministic and fast, which explains why old download pages, asset pipelines, databases, protocols, and cache systems still contain MD5 values. Text mode converts the current textarea value to UTF-8; browser textarea or paste handling can normalize original CR or CRLF line endings to LF. Use file mode when the source's original newline, BOM, or other bytes must be reproduced exactly.

MD5's fundamental limitation is collision resistance. Attackers can deliberately construct different inputs with the same digest. A matching MD5 value therefore cannot support a claim that one adversarial document is the exact document a signer or publisher approved. The age of a system does not reduce that risk; compatibility and security are separate requirements.

The page accepts at most 5,000,000 UTF-16 code units in text mode. File mode accepts at most 64 MiB and loads the complete selected file into browser memory before hashing. This bounded whole-file design is not streaming; large artifacts and automated batches belong in native tools.

Digest
128 bits, 16 bytes, or 32 hexadecimal characters.
Text limit
5,000,000 UTF-16 code units.
File limit
64 MiB, buffered completely in browser memory.
Unsafe role
Signatures, certificates, secure publishing, passwords, or hostile collision resistance.
Preferred migration
SHA-256 for modern general integrity, with authentication when origin matters.

Broken collision resistance

Why MD5 is unsafe for security

A collision is a pair of different inputs that produce the same digest. Collision resistance is central when a hash stands in for a document during signing, certificate issuance, package publication, content approval, or forensic comparison. Once practical chosen-prefix collision techniques exist, an attacker can influence two distinct messages so their MD5 values agree under conditions relevant to those workflows.

This is different from simply finding the original input for an arbitrary digest, and it is different from guessing a short password. MD5 has multiple independent problems in practice: broken collision resistance for document integrity and very high speed for password guessing. A warning about one does not make the other safe.

Switching the textual output from hex to Base64, adding a constant prefix, or calculating MD5 twice does not create a modern construction. Use a vetted protocol. For ordinary published checksums, SHA-256 is a better baseline; for authentic origin, use a digital signature or authenticated MAC as the trust model requires.

New workflow?

Do not choose MD5 merely because it is shorter. Choose SHA-256 unless a reviewed specification requires a different current algorithm.

Generate SHA-256 instead →

Contain legacy use

A safe MD5 compatibility workflow

  1. 1

    Confirm the requirement

    Verify that the external system specifically requires MD5 and document whether the value is a cache identifier, corruption check, database field, or security decision.

  2. 2

    Match exact bytes

    Specify UTF-8, line endings, normalization, whitespace, and serialization. Compare the full 32-character value rather than a shortened display.

  3. 3

    Plan the replacement

    Store a SHA-256 value beside MD5 during transition, update producers and consumers, and remove MD5 from every security-sensitive acceptance path.

Fast is wrong for password storage

MD5, salts, and password hashes

Passwords have low and uneven entropy because people choose memorable strings. An attacker with a leaked verifier can test dictionaries, mutations, and breached-password lists offline. MD5 is designed to run quickly, so commodity hardware can test enormous numbers of guesses. A unique salt prevents identical passwords from sharing one stored value and defeats a single universal lookup table, but it does not slow each individual guess enough.

Use an established password-hashing library configured for Argon2id, scrypt, bcrypt, or PBKDF2. Store the salt and cost parameters with the verifier, tune cost for the real server, rate-limit online attempts, and rehash successful logins when parameters need upgrading. Do not invent a loop, concatenate a secret manually, or route password handling through a browser hash utility.

Legacy MD5 password records should be treated as migration debt. A common transition is to verify the old value only at a controlled login boundary, then immediately replace it with the current password-hashing scheme after successful authentication. The exact strategy needs review for account takeover, reset, and pepper handling in the owning application.

This page is not a password tool

It performs one fast MD5 calculation for compatibility. It provides no salt management, cost tuning, account policy, or secure verifier storage.

Understand hashing and encryption roles →

Questions answered

MD5 generator FAQ

How long is an MD5 hash?

An MD5 digest is 128 bits, or 16 bytes. Its conventional hexadecimal form has 32 characters, and standard padded Base64 represents the same bytes in 24 characters.

Is MD5 secure?

No for collision-sensitive security. Practical attacks can create distinct inputs with the same MD5 digest, so MD5 must not secure digital signatures, certificates, software publication, or other adversarial integrity decisions.

When is an MD5 generator still useful?

It can reproduce a value required by a legacy database, protocol, cache key, or non-adversarial corruption check. Preserve compatibility only where necessary and migrate security decisions to SHA-256 or a suitable authenticated construction.

Can MD5 be reversed?

MD5 has no decryption operation, but weak or common inputs can often be recovered by hashing guesses or looking up previously computed values. One-way hashing does not make a low-entropy secret confidential.

Can I store passwords as salted MD5?

No. A salt does not make the fast MD5 function an adequate password KDF. Use Argon2id, scrypt, bcrypt, or PBKDF2 with unique salts, reviewed parameters, and a migration plan for old records.

Is my text or file sent to an MD5 service?

No. Entered text is converted to UTF-8 and selected file bytes are read in the current browser tab. Clipboard history, browser extensions, screenshots, and other device software remain outside that local calculation boundary.

What are the MD5 generator input limits?

Text input is limited to 5,000,000 UTF-16 code units. Files are limited to 64 MiB and are read completely into browser memory before hashing, so this page is not a streaming file hasher.

Does MD5 text mode preserve original newline bytes?

Not necessarily. MD5 text mode hashes the current textarea value as UTF-8, and browser textarea or paste handling can normalize original CR or CRLF line endings to LF. Use file mode when original newline bytes must be retained.