Hash Generator & Checker
A tool that computes MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text or a file using the Web Crypto API, right in your browser. It supports drag-and-drop file input and can check whether a hash matches an expected value.
-
-
-
-
-
How to use
- Type text, or drag and drop a file (or click "Choose file").
- MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes are computed in real time and listed.
- Each hash can be copied to the clipboard with its copy button.
- Paste an "expected" hash value published by a distributor into the input field, and the matching row shows "Match" while a mismatched row shows "Mismatch".
About this tool
This tool computes MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text or a file, right in your browser. It's useful for detecting tampering in a downloaded file, checking it against a published checksum, or verifying the hashing behavior of an API key or password.
SHA-1, SHA-256, SHA-384, and SHA-512 are computed using the browser's standard Web Crypto API (SubtleCrypto). MD5 isn't implemented in the Web Crypto API for security reasons, so this tool uses a verified pure JavaScript implementation for it instead.
Even large files can be processed as long as your browser's memory allows it. File contents are never sent to a server.
Frequently asked questions
I've heard MD5 and SHA-1 aren't secure anymore. Is it okay to use them?
MD5 and SHA-1 are known to be vulnerable to collision attacks and aren't recommended for security-critical uses like password storage or signatures. But for purposes like checking file integrity against a checksum in the format a distributor provides, they're fine to use with this tool.
Won't a case difference cause a match to fail?
No. Comparison against the expected value ignores case and surrounding whitespace, so differences like "ABCDEF" vs. "abcdef" are treated as a match.
Can I hash a file and text at the same time?
No. Dropping or selecting a file switches the input to the file's contents. To go back to text, click "Back to another input".
Is my input file or text sent to a server?
No. Hash computation all happens in your browser using the Web Crypto API and JavaScript.