MD5 Hash Generator & File MD5 Checker
Hashes each nonblank line separately
MD5 Hash Generator & File Checker
This free online MD5 hash generator turns text into a fixed 128-bit digest as you type. It also checks local files: drop a file or click "Open file" to hash its raw bytes with progress, then copy any of four formats — 32 or 16 hex characters, upper or lower case. Text and files share one set of result boxes, so editing the input switches straight back to text.
Features:
- Live text hashing: the input is used exactly as typed. Text is encoded as UTF-8, and spaces, punctuation and line breaks all change the result.
- Four formats at once: 32-character and 16-character MD5, each in lower and upper case. The 16-character value is the middle 16 characters of the 32-character digest (characters 9–24), not a separate algorithm.
- Hash each line: turn on "Hash each line" to hash every nonblank line separately. Blank lines are skipped, leading and trailing spaces are kept, and each result box expands into one result per line in the same order.
- Local file MD5 checker: drop a file onto the input or use "Open file". Files are read in 4 MB chunks as raw bytes, so large files show progress without freezing the page. The text box is not overwritten and no file is uploaded.
- Checksum comparison: paste a 32- or 16-character MD5 into the Compare box. Case and surrounding spaces are ignored, and the check follows the current source — text or file. Comparison is unavailable in per-line mode because there is no single text digest.
- Source switching: after hashing a file, edit the input or click "Back to text" to restore the text results and switch the comparison back to the text MD5. Your text is never replaced by file contents.
- Copy: every result box has its own copy button, shown only when that box has a value. In per-line mode you can copy a whole column at once.
FAQ:
- Q: How are 16-character and 32-character MD5 related?
A: They are the same digest written in two lengths. The 16-character value takes characters 9–24 from the 32-character result; changing letter case changes nothing else. All four result boxes come from one calculation, so you can copy whichever format the other system needs. A 32-character value can produce the 16-character form, but not the other way round. - Q: Why is my result different from md5sum or another website?
A: The input has to be byte-for-byte identical. This tool uses the text exactly as entered, encodes it as UTF-8, and counts leading/trailing spaces and line breaks. A command such asecho abc | md5sumadds a newline, and pasted text often brings extra spaces. Also check that the other side uses a single plain MD5: salted hashes, HMAC, repeated MD5 and non-UTF-8 encodings all produce different values. - Q: Does "Hash each line" skip blank lines or trim spaces?
A: It skips lines containing only whitespace. Every other line is hashed separately in its original order, and leading and trailing spaces are part of the hashed text. The result boxes expand to one line each, so you can copy a column straight back into a spreadsheet. While this mode is on, the Compare box is paused because there is no single digest for the whole input. - Q: Can I hash a file and use per-line mode at the same time?
A: No. Text and files share one set of result boxes: selecting a file makes those boxes show that file's four MD5 formats, and per-line mode pauses. Click "Back to text" or edit the input to return to the per-line results. The comparison source switches with them — file MD5 after choosing a file, text MD5 after switching back. - Q: How do I check a downloaded file against a published MD5?
A: Drop the file onto the input or click "Open file", then paste the publisher's value into Compare. Upper/lower case and surrounding spaces do not matter, and both 32- and 16-character values are accepted. "Match" means the bytes you selected have the same digest; it does not by itself prove the file is safe, so get the expected value from a trusted source. A mismatch usually means an incomplete download or a different version. - Q: After checking a file, what happens if I edit the text above?
A: Editing the input or clicking "Back to text" switches the result boxes and the Compare target back to the text MD5 in one step. The old file value is still available if you select the file again, but it will not be used to compare your text. The hint under the Compare box always names the current source. - Q: Is a file hashed as the text shown in the box?
A: No. The text box is only for text hashing; a file is read as raw bytes in 4 MB chunks, so binary files such as images, archives and installers are handled correctly. The file's contents are never pasted into the text area and never leave your browser. - Q: Can an MD5 hash be decrypted or reversed?
A: No. MD5 is a one-way hash and the digest contains no recoverable copy of the input. Sites advertising "MD5 decryption" are looking up known values in rainbow tables or dictionaries, which only works for common short strings and weak passwords. There is no key to reverse a real MD5 digest. - Q: Is MD5 still suitable for passwords or API signatures?
A: Not for new security-sensitive work. MD5 has known collision weaknesses and unsalted short values are easy to look up. Use bcrypt or Argon2 for password storage, and SHA-256 HMAC or a similar construction for signatures. MD5 remains useful for checking legacy checksums and matching systems that explicitly require it.
Common uses:
- Check a downloaded ISO, firmware or archive against the MD5 published by its vendor
- Produce 32- or 16-character hashes in upper or lower case for older APIs, database fields and config files
- Hash a list of IDs, URLs or log lines one by one and paste the column back into a spreadsheet
- Compare the same string in different environments to find encoding, whitespace or line-ending differences
- Save a local file's checksum now and compare it later to spot accidental changes or corruption
Related tools: