File hash
SHA-256 and SHA-1 of a file you drop here, via Web Crypto. Nothing is uploaded.
Runs in this tab. The file stays here.
This runs in your browser. Nothing is uploaded.
About File hash
Computes SHA-256 and SHA-1 of a file you drop here using the browser's Web Crypto API, with no upload to a checksum server.
Text hash tools are for strings. File hash tools are for bytes. When someone sends a firmware image, a PDF, or a zip and asks 'does this match', you need a digest of the file as read from disk, not UTF-8 interpretation of its contents. Most online checksum pages want an upload. I won't take yours. Drop the file in the tab, and crypto.subtle.digest runs over the ArrayBuffer locally. The filename is shown so you remember which object you hashed; it does not change the digest. One file at a time keeps the UI honest about what was read.
SHA-256 and SHA-1 print as lowercase hex, the same shape you see from sha256sum and shasum on the command line. SHA-1 is here because older release notes and legacy APIs still mention it, not because I think you should start new work on it. Prefer SHA-256 for anything security-adjacent. The hash is of the raw bytes of the file; rename the file and the digest stays the same, change one byte and it won't. Compare against the publisher's published checksum character for character, including leading zeros. Line endings and metadata inside a container file count, so do not expect the same digest if something re-saved the file.
This is not virus scanning, not code signing, and not HMAC. It won't tell you whether the file is safe to open, only whether it matches a digest you already have. Large files will take a moment and memory on the main thread because I didn't add a streaming worker for a tool this small. For multi-gigabyte images on a weak laptop, a desktop checksum utility may feel faster, but your bytes still never leave this machine. Close the tab when you are done if the file is sensitive; I do not keep a history. If you only need a string digest, the text hash generator is the sibling page for pasted content.
How to use File hash
- 1Drop a file onto the workbench, or use the file picker to choose one.
- 2Wait for SHA-256 and SHA-1 to appear as lowercase hex strings.
- 3Copy SHA-256 when you want the digest on the clipboard for comparison.
What it won't do
- SHA-256 and SHA-1 only. No MD5, no SHA-3, no HMAC.
- Whole file is loaded into memory; very large files may be slow or fail on low-RAM devices.
Common questions
How is file hash different from the text hash generator?
The text hash generator digests UTF-8 bytes of whatever you paste. This page reads the file as binary. Dropping a PNG into the text tool would hash replacement characters, not the image file. Use this tool for files, that one for strings.
Does the file leave my computer?
No. The file is read in the browser and digested with Web Crypto in the tab. Open the network panel after load if you want proof; there should be no upload of the file bytes.
Why is there no MD5 option?
MD5 is not in Web Crypto, and adding a library to emit a broken digest would only help people put MD5 in new places. If a legacy system demands MD5, use the same environment that talks to that system.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation