Skip to content
← Back

MD5 Hash Generator - Online MD5 Hash Calculator

Security
Runs locally · Not uploaded

Online MD5 hash generator: enter text to get a 32-character MD5 hash. Computed locally in browser, data never sent.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Next steps

Usage Guide

MD5 is a 128-bit hash from 1991. Default output is 32 hex characters; you can switch to Base64. It has retired from security (collisions are constructible) but remains handy for non-adversarial jobs — dedupe, cache keys, quickly checking whether two files are identical. Supports text and file input plus side-by-side MD5 / SHA-1 / SHA-256 / SHA-512, all computed locally.

1. Text, files, and output format

  1. Text: hashes as you paste — good for checking whether two configs or logs are byte-identical.
  2. File: drop into the upload zone; the hash is computed over a local ArrayBuffer, never uploaded.
  3. Output format: Hex (CLI / checksum files) or Base64 (JSON, some APIs) — same digest, different encoding.
  4. Copy and compare character by character; with Linux md5sum, use the first field only.

2. Using multi-algorithm compare

  1. Set display mode to “MD5 + SHA compare” to list MD5 / SHA-1 / SHA-256 / SHA-512 for the same input.
  2. When a publisher only ships SHA-256, read that row instead of opening another tool.
  3. Switch back to “MD5 only” when you want a quieter UI.
  4. For keyed integrity checks, use the HMAC generator — not a bare digest.

3. Where MD5 is fine, and where it is not

Fine: telling whether two large files match (compare hashes before contents), building cache keys, change detection. Not fine: password storage (any fast hash is disqualified — use bcrypt), digital signatures or security verification (collision attacks have been practical since 2004), verifying downloads from untrusted sources. The banner at the top states that boundary. When collision resistance matters, use SHA-256 or the Hash Verifier.

4. Hash mismatch?

  • Text mismatch is nine times out of ten an invisible character: trailing newline, full-width space, BOM. Re-pasting beats eyeballing.
  • File mismatch: first confirm the file was not altered in transit (FTP text mode rewrites line endings).
  • Comparing Base64 against a Hex published value will always fail — unify the encoding first.
  • When comparing with Linux md5sum: its output is "hash, two spaces, filename" — compare against the first field only.

5. MD5 internals in one minute

MD5 splits any input into 512-bit (64-byte) blocks, compresses each through 64 mixing rounds into a 128-bit internal state, and outputs that state in hex — which is why the digest is always 32 hex characters regardless of input size. The fatal weakness sits in the compression structure: Dobbertin and later Wang Xiaoyun's team proved collisions constructible, and fast-collision attacks today produce a colliding pair on an ordinary CPU within seconds. The conclusion is blunt: any assumption of the form different content implies different MD5 no longer holds.

6. Where MD5 remains legitimate today

  • Non-adversarial dedup fingerprints: deciding whether a file was already uploaded inside your own system, where nobody profits from forging a collision — MD5 speed still wins.
  • Cache keys and ETags: content-addressed invalidation likewise needs low collision probability, not forgery resistance.
  • Fast checksums: detecting transport bit errors and truncation, where integrity rather than security is the goal.
  • Draw the line: password storage, certificate signatures, adversarial integrity checks and API signing all start at SHA-256; passwords additionally call for Argon2/bcrypt.

FAQ

No cost, no sign-up, no usage cap. Text and files are hashed right in your browser — MD5 via spark-md5, files read into memory only — and nothing is sent to a server.

Hex by default (32 hex characters), switchable to Base64 — the same digest in a different encoding. The “MD5 + SHA compare” mode lists MD5 / SHA-1 / SHA-256 / SHA-512 side by side, so when a vendor only publishes SHA-256 you don't need another tool; switch back to MD5-only for a cleaner view.

Work through this order: suspect invisible characters first — a trailing newline, full-width space, or BOM changes everything, and re-pasting cleanly beats eyeballing; then align encodings, since comparing Base64 against a published Hex value can never match; with Linux md5sum compare only the first field (its output is “hash + two spaces + filename”); for files, also consider in-transit modification — FTP text mode rewrites line endings.

Yes, when there is no adversary: internal checks for duplicate uploads, cache keys and ETags, detecting bit errors from network transfer (truncation, jitter). These only need a low accidental-collision probability, not forgery resistance, and MD5's speed still pays off.

Password storage, signatures and certificates, download verification from untrusted sources, API signing — start from SHA-256 in all four (collisions have been constructible since 2004, and an ordinary CPU produces a pair in seconds). For passwords add a slow hash like bcrypt or Argon2; for keyed integrity use HMAC.

Related Tools

Related Articles