Local File Hash Verifier

All hashing runs locally in your browser. No file data is ever uploaded.

ZERO UPLOAD · ALL LOCAL
  1. Drop a file onto the drop zone or click it to browse — any file type is supported, including large ISOs and firmware images.
  2. Wait for the tool to compute all four hashes: SHA-256, SHA-512, SHA-1, and MD5. A progress bar is shown for large files.
  3. Find the expected checksum on the software download page — it is usually labelled SHA-256 or SHA-512.
  4. Paste the expected checksum into the Compare field — a green match badge confirms the file is unmodified.
  5. Prefer SHA-256 or SHA-512 when the publisher offers multiple algorithms. MD5 and SHA-1 are legacy and can be forged by an attacker.

Input (File)

Drop any file here

or click to browse

MD5 LEGACY SHA-1 SHA-256 SHA-512
Reading file… 0% Finalizing digests…

Output (Checksums)

MD5 LEGACY — not cryptographically secure
SHA-1
SHA-256 RECOMMENDED
SHA-512

Why verify file checksums

A checksum is a short fingerprint derived from a file's contents. If even a single byte changes, whether through corruption in transit, a failed download, or deliberate tampering, the resulting checksum changes completely.1 Publishers of firmware, OS images, and software installers post expected checksums alongside their downloads so you can confirm that what you received is exactly what was released.

Verification matters most for security-sensitive files, where the consequences of a bad download are severe. A tampered installer can silently backdoor an entire system the moment you run it, and a corrupted firmware image can brick a device that has no easy recovery path. A failed checksum match catches both failure modes before you execute or flash anything, turning a potentially irreversible mistake into a quick re-download.

SHA-256: the current standard

SHA-256 is a NIST-approved SHA-2 algorithm, and many modern software publishers, package managers, and operating systems use it to publish checksums.1 Producing a 64-character hex digest, it carries 128 bits of collision-resistance strength according to NIST's hash-function guidance:2 no practical technique can make two different real files share the same SHA-256 output. Because both NIST and major OS vendors treat it as the current standard, SHA-256 is the hash to match whenever a publisher lists multiple algorithm options alongside a download.

When to choose SHA-512

For large files on 64-bit hardware, SHA-512 often computes faster than SHA-256 because its internal operations align naturally with 64-bit CPU registers.3 It uses a 512-bit internal state and produces a 128-character hex digest, which gives it a wider security margin than SHA-256.4 Both algorithms remain unbroken for all practical purposes, so choosing between them comes down to what the publisher provided: match the algorithm they listed rather than switching to a different one on your own.2

A concrete digest makes the concept tangible. A file containing exactly the five bytes hello, with no trailing newline, hashes to SHA-256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824. Add, remove, or change a single character and every one of those 64 hex digits shifts, which is the avalanche effect that makes a checksum match meaningful in the first place.

TIP Most Linux distribution download pages list SHA-256 checksums in a dedicated file such as SHA256SUMS or CHECKSUMS placed alongside the ISO image. Copy the published digest for your exact image, hash the downloaded file with this tool, and paste the expected value into the Compare field to confirm a match.

Why MD5 is legacy

Through the 1990s and early 2000s, MD5 was the dominant checksum algorithm for software distribution. Researchers broke it cryptographically in 2004 by demonstrating that two different files can be deliberately crafted to produce the same MD5 hash.5 That collision capability means an attacker can substitute a malicious file that passes an MD5 check, so MD5 provides no protection against an adversary who controls the download source.

MD5 still catches accidental corruption reliably: a damaged download will produce a different hash in nearly every case.5 It is not safe for security-critical verification where an active attacker is a concern, because a determined adversary can craft a valid-looking MD5 match. If the publisher offers SHA-256 or SHA-512 alongside MD5, always use the stronger option.

When older hashes still appear

Like MD5 but through a different class of attack, SHA-1 lost its security guarantees when researchers from Google and CWI Amsterdam demonstrated a practical collision in 2017, an event known as SHAttered.6 Older package mirrors and legacy build pipelines still produce SHA-1 checksums, but no new infrastructure should rely on them for security verification. Treat a SHA-1 match the same way you treat an MD5 match: it confirms the download was not accidentally corrupted, but does not protect against deliberate substitution by an attacker.

Large file support

This tool processes files in 2 MB chunks, feeding each chunk to all four hash algorithms simultaneously so every digest finishes at the same time. Only one chunk is held in memory at any point, which means multi-gigabyte ISO images and firmware dumps verify without exhausting browser memory, regardless of how large the file is.

What affects hashing speed

The hashing engine runs on the main browser thread and yields control between chunks, so the page stays responsive during long computations. Actual completion time depends on storage speed, browser overhead, and the selected algorithms. Because the browser File API reads only files the user explicitly selects, you can verify sensitive payloads like firmware images, medical device software, or security tool downloads without passing them through a third-party service.7

NOTE The file is read directly from your local storage through the browser File API and is never uploaded or transmitted to any remote server. This tool works entirely offline once the page has loaded, so sensitive firmware images and private binaries stay on your machine from start to finish.

Checksums, signatures, and the chain of trust

A checksum proves that a file's contents are intact, but it does not prove the file came from the actual publisher. Both the binary and its posted checksum live on the same server, so a compromised download origin or CDN can swap them out together and the hash would still match the tampered file.

For most personal downloads over HTTPS from the publisher's own domain, a matching SHA-256 hash is sufficient because the TLS connection already authenticates the server.8 Fetching the checksum from a different location than the file itself, such as a GitHub release page while downloading the binary from a mirror, partially reduces this risk: an attacker would need to compromise both locations simultaneously, and GitHub release assets expose SHA-256 digests through the REST API.9

Adding a GPG signature

GPG signatures add the authenticity layer that checksums alone cannot provide. When a publisher signs a release, they use a private key that only they hold to sign the checksum file; you verify the signature against their published public key, and a valid result confirms two things at once: the file is unmodified and it was signed by whoever holds that private key.10

Linux distributions commonly publish checksums in files such as SHA256SUMS or CHECKSUMS in the same directory as the ISO image.1112 Fedora signs its CHECKSUM file before verification.10 For production deployments or security-critical tools, treating a checksum match as the first step and a GPG signature verification as the second is the professional standard.

Where publishers post checksums

Knowing where publishers post checksums saves the search time before you can verify anything. GitHub releases pages list SHA-256 digests in the release notes or as separate .sha256 files attached to the release. Popular Linux distributions post checksums in a file typically named SHA256SUMS or CHECKSUMS in the same directory as the ISO image.

GitHub release assets make expected checksums available alongside downloads.9 Linux distribution mirrors also publish checksums in the same directory as the ISO image.1112 CapyToolkit's hash verifier handles the computation side for these workflows: drop the downloaded file onto the tool, paste the expected hash from the publisher's page into the Compare field, and a green match badge confirms the download is exactly what the publisher released.

Before You Trust a Match Checklist

  • Algorithm matches You compared the same algorithm the publisher listed. A matching MD5 means nothing if they published a SHA-256 checksum.
  • Full digest compared Every character of the hash matches, not just the first few. A single differing character means a different file.
  • Reference hash source is trusted The expected checksum came from the publisher's own site over HTTPS, not a mirror or a third-party forum post.

Drop your own file above and check its computed hash against these three conditions before you trust a green match badge.

Sources
  1. 1.

    NIST, "FIPS 180-4, Secure Hash Standard (SHS)," csrc.nist.gov, August 2015. https://csrc.nist.gov/pubs/fips/180-4/upd1/final

  2. 2.

    NIST, "Hash Functions," csrc.nist.gov, accessed June 2026. https://csrc.nist.gov/projects/hash-functions

  3. 3.

    Shay Gueron, Simon Johnson, and Jesse Walker, "SHA-512/256," IACR Cryptology ePrint Archive, 2010. https://eprint.iacr.org/2010/548

  4. 4.

    D. Eastlake 3rd and T. Hansen, "US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)," RFC 6234, IETF, May 2011. https://www.rfc-editor.org/rfc/rfc6234

  5. 5.

    S. Turner and L. Chen, "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms," RFC 6151, IETF, March 2011. https://www.rfc-editor.org/rfc/rfc6151.txt

  6. 6.

    Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini, and Yarik Markov, "The first collision for full SHA-1," IACR Cryptology ePrint Archive, 2017. https://eprint.iacr.org/2017/190

  7. 7.

    Mozilla Developer Network, "FileReader," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/FileReader

  8. 8.

    E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.3," RFC 8446, IETF, August 2018. https://datatracker.ietf.org/doc/html/rfc8446

  9. 9.

    GitHub, "REST API endpoints for releases," github.com, accessed June 2026. https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28

  10. 10.

    Fedora Project, "Verify your Downloaded Image," alt.fedoraproject.org, accessed June 2026. https://alt.fedoraproject.org/en/verify.html

  11. 11.

    Ubuntu, "Ubuntu 26.04 LTS (Resolute Raccoon)," releases.ubuntu.com, accessed June 2026. https://releases.ubuntu.com/26.04/

  12. 12.

    Debian, "SHA256SUMS," cdimage.debian.org, accessed June 2026. https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA256SUMS

FAQ