OmniTools
securityDifficulty: 4/5

File Hash Calculator

Calculate the SHA-256, SHA-384 or SHA-512 checksum of a file locally, with real progress on large files and a compare box for verification.

Algorithm

Streams — no size limit

Why SHA-256 has no size limit here: SHA-256 is computed incrementally, so only about 4 MB of the file is in memory at any moment. SHA-384 and SHA-512 use the browser’s one-shot digest, which needs the whole file resident, so those are capped at 256.0 MB.

How it works

  1. Choose a file. It is read from disk in your browser and never uploaded.
  2. Pick an algorithm — SHA-256 streams, so it handles files of any size.
  3. Paste a published checksum to verify a download matches byte for byte.
Privacy & Processing: The file is read locally in 4 MB pieces and hashed in your browser. Nothing is uploaded, and the file name is never sent to analytics.

Frequently Asked Questions

Is my file uploaded?

No. The file is read from disk in 4 MB pieces inside your browser and hashed incrementally. Nothing is transmitted, and the file name is never sent to analytics.

How large a file can it handle?

For SHA-256, very large files — the hash is computed incrementally, so memory use stays at roughly one 4 MB chunk regardless of file size. SHA-384 and SHA-512 must load the whole file at once, so those are limited to 256 MB and the tool explains why rather than crashing the tab.

How do I verify a download?

Paste the checksum published by the source into the compare box. The tool reports a match or mismatch on the exact bytes, ignoring case and spacing. A mismatch means the file differs from the one that was published.

Is the incremental hash trustworthy?

It is cross-checked against your browser’s own Web Crypto implementation in the test suite, across every buffer-boundary length and the published NIST test vectors, so it produces identical digests to the platform primitive.

Why is MD5 not offered?

The Web Crypto API does not implement MD5, and shipping a JavaScript implementation would add weight to advertise a hash that is broken for integrity checking. SHA-256 is the right default.

Related Tools