Articles ยท Security Tools

Verify a download with SHA-256, SHA-384, or SHA-512

Installers, firmware, and dataset zips often publish a checksum. If you skip the check, a truncated or substituted file looks fine until it fails in production. Online hash sites that ask you to upload the file are the wrong tool for a private build. Computing SHA-256, SHA-384, and SHA-512 in the browser, then comparing a pasted expected value (whitespace and hex case ignored), is the integrity workflow that belongs next to File Share.

Why this is worth doing in the browser

Web Crypto digest needs the whole buffer, which is fine up to a configured limit and dangerous for multi-gigabyte blobs. DevNestro hashes small files with Web Crypto and larger files with a chunked, incremental implementation in a web worker so the UI can show Hashing file... with real chunk progress. SHA-1 is not offered. Comparison does not rewrite the expected string beyond trim, hex case, and optional colon or hyphen separators. Invalid extra characters do not get silently stripped into a lucky match. The file never leaves the device.

How to use the tool

Drop or choose a file, wait for three hex digests, copy the one your vendor published, paste Expected checksum, and read Checksum matches or Checksum does not match with a symbol as well as color. Related File Share is for handing the file to a person, not for hashing it in the cloud.

  1. Use the algorithm the publisher printed; do not mix SHA-256 and SHA-512.
  2. Paste the full hex string; extra words will fail the comparison on purpose.
  3. For huge files, let the worker finish; do not assume the tab has frozen.
  4. Treat a match as integrity of bytes, not as a virus scan.

Privacy

File bytes are never uploaded. Hashing runs in the browser. Filenames and checksums are not sent to analytics.

Before you run an installer, open the File Hash Checker, compare SHA-256 locally, and only then trust the download.

Open File Hash & Integrity Checker

An unhandled error has occurred. Reload Dismiss

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.