← Back

MD5 Tool

Compute the MD5 hash of text

MD5 (32-char hex)
—

MD5 is known to have collision vulnerabilities and isn't recommended for security-sensitive uses like password storage — it's best suited for general purposes like file verification and deduplication. All computation happens locally in your browser; nothing is uploaded.

About MD5 Tool

MD5 is a hash algorithm that condenses data of any length into a 128-bit digest, usually written as a 32-character hexadecimal string. This tool has two modes. In 'Text' mode you type some text and get its MD5 immediately. In 'File' mode you pick any file and get the MD5 of its entire contents. Typical uses are checking that a download wasn't corrupted or swapped, and creating a quick fingerprint for de-duplication. One thing should be clear up front: MD5 has well-known collision weaknesses, so it must not be used to store passwords or sign anything security-sensitive, and the page itself carries the same warning. Hashing is also one-way, so this tool can compute an MD5 but cannot turn one back into the original text.

How to use it

  1. Use the 'Text' and 'File' buttons at the top to choose a mode. 'Text' is selected by default.
  2. Text mode: type or paste into 'Input text'. The 'MD5 (32-char hex)' result updates as you type, and the copy button copies it. With an empty box the result shows a dash.
  3. File mode: click the dashed box labelled 'Click to choose any file'. After you choose a file its name appears in the box, the result area first says 'Computing…', then shows the 32-character hash, which you can copy.
  4. To compare against a checksum published by someone else, put the two strings side by side and check them character by character. Hex is not case-sensitive in meaning, but this tool outputs lowercase letters.

A worked example (actually computed)

The MD5 of 'hello' is 5d41402abc4b2a76b9719d911017c592. Capitalise the first letter to get 'Hello' and the digest is completely different: 8b1a9953c4611296a827abf8c47804d7. Changing one character changes the whole result. Non-English text works as well: the MD5 of the Chinese text 你好 is 7eca689f0d3389d9dea66ae112e5cfd7. All three values were cross-checked against Node.js's built-in MD5 and matched the algorithm used on this page.

What it supports and where it stops

  • Text is encoded as UTF-8 before hashing, so Chinese and emoji give the same result as most programming languages and command-line tools. Line endings are part of the content: the same paragraph saved with Windows CRLF line breaks and with Linux LF line breaks has different MD5 values, and a trailing space or newline also changes the result.
  • With an empty text box the tool shows a dash rather than the MD5 of the empty string.
  • Output is 32 lowercase hex characters only. There is no uppercase switch and no other algorithms such as SHA-1 or SHA-256.
  • File hashing runs on the browser's main thread and reads the whole file into memory first. Padding needs only one extra buffer of the same size, but very large files (hundreds of megabytes or more) may still freeze the page for a while, or fail if memory runs out. For big files, use a command-line tool that comes with your operating system.
  • Only one file at a time. Folders and batch hashing are not supported, and there is no built-in box for pasting an expected checksum to compare automatically.
  • If a file can't be read, an alert says 'Failed to read the file, please try again'. The file input is reset after each selection, so to hash the same file again you need to pick it again.

FAQ: Can I use MD5 to store passwords?

No. MD5 is extremely fast to compute, practical collision attacks exist, and large lookup tables make common passwords easy to reverse. Passwords should be stored with a deliberately slow, salted algorithm such as bcrypt, scrypt or Argon2.

FAQ: Can an MD5 be 'decrypted'?

Strictly speaking, no. A hash is one-way and the original information is discarded. Websites that offer 'MD5 decryption' are really looking your hash up in a table of precomputed common strings. This tool only goes forward: it computes hashes and does no lookups.

FAQ: My result doesn't match the official checksum. What now?

First make sure you used the right mode. To verify a download you need 'File' mode with the file itself, not text mode with the file name pasted in. Then check that the download is complete and is the version the checksum belongs to. For text, look for stray trailing spaces or newlines and for CRLF versus LF line endings. Invisible characters change the digest.

FAQ: Why can another tool give a different MD5 for the same text?

Usually it is the character encoding or the line endings. This tool encodes text as UTF-8. If the other tool uses a different encoding for Chinese, such as GBK, the bytes and therefore the digest differ. Plain English letters and digits have the same bytes in common encodings, so those rarely disagree.

FAQ: Is there still a reasonable use for MD5?

In non-adversarial settings, yes: detecting accidental corruption during a transfer, generating a short fingerprint for de-duplication, or matching a checksum that an older system still publishes as MD5. Whenever you need to guard against someone deliberately tampering with data, use SHA-256 or something newer.

Privacy and processing

The MD5 is computed locally by JavaScript in your browser. Neither text nor files are uploaded or stored, and the code makes no network requests. A selected file is only read into memory for the calculation and is released when you close or reload the page.