Drop file here or click to select

All file types supported

For a deeper dive into hash algorithms, SRI, and CI/CD applications, see the File Integrity Verification Guide.

Practical Example

Select a downloaded installer or build artifact and compare its hash with the official checksum. A matching hash means the file bytes did not change in transit, and generation plus verification are handled on the same page.

What is File Hashing?

A hash function transforms input data of any size into a fixed-length output (hash value or digest). It is a one-way function — recovering the original data from a hash is computationally infeasible. Identical inputs always produce identical hashes, but even a single bit change produces a completely different output (the Avalanche Effect).

This tool calculates SHA-256, MD5, and SHA-1 hashes for any file using the browser's Web Crypto API. No file data leaves your device.

Algorithm Comparison

SHA-256 produces a 256-bit (64-character) hash. No practical collision attacks have been found, making it the recommended choice for integrity verification, TLS certificates, and software signing.

MD5 produces a 128-bit (32-character) hash. Fast but collision-vulnerable since 2004. Use only for legacy compatibility or non-security checksums.

SHA-1 produces a 160-bit (40-character) hash. A real-world collision was demonstrated in 2017 (SHAttered attack). Major browsers and CAs reject SHA-1 certificates. Git uses SHA-1 internally but is transitioning to SHA-256.

Practical Use Cases

Software Download Verification — Compare the SHA-256 checksum published on official release pages with the hash of your downloaded file to detect corruption or tampering during transfer.

Backup Integrity — Record file hashes at backup time and compare after restoration to detect bit rot, transfer errors, or software bugs that silently corrupt data.

CI/CD Pipeline Artifacts — Hash build outputs on the build server and verify on the deployment server to detect tampering in the build-to-deploy chain. Docker image digests and npm integrity fields use this principle.

SRI (Subresource Integrity) — Add Base64-encoded hashes to integrity attributes on <script> and <link> tags. Browsers automatically block execution if CDN-served files don't match the expected hash.

Hash Verification (Integrity Check)

Hash verification confirms whether a downloaded file matches the original byte-for-byte and was not tampered with during transfer. Software publishers release files alongside SHA-256 (or other) checksums. Users compute the hash of their download and compare it to the official value to verify authenticity.

Click the Verify tab above to reveal the expected-hash input field. Paste the official checksum and upload your file — the algorithm (SHA-256, MD5, or SHA-1) is auto-detected by input length and the match result is displayed.

Verification failure checklist — (1) trim whitespace and line breaks from the expected hash, (2) confirm the algorithm matches the publisher’s documentation, (3) verify you downloaded the exact same version. A failure does not always mean tampering — transfer corruption or version mismatch are common causes.

Important Notes

Hash Match ≠ Safe File — A matching hash confirms byte-identical content, but does not guarantee the file is free of malware. Verify that the checksum source is an official, trusted channel.

Password Hashing is Different — SHA-256 and MD5 are designed to be fast. For password storage, use intentionally slow algorithms like bcrypt, scrypt, or Argon2 that add salt and configurable iteration counts.

File Size Limits — Very large files may exceed browser memory. For files over 100 MB, consider command-line tools like sha256sum (Linux/macOS) or certutil -hashfile (Windows).

Choosing an Algorithm — Is MD5 Ever OK?

AlgorithmSecurity statusStill valid forNever use for
MD5Collisions practical (broken)Non-security deduplication, cache keys, legacy checksum matchingTamper detection, passwords, signatures
SHA-1Collision demonstrated (SHAttered, 2017)Legacy compatibility (e.g. Git object IDs)Any new security use
SHA-256SecureIntegrity verification, signatures, the checksum standard—

Some older download sites still publish only MD5 checksums. Matching those is still meaningful for detecting corruption in transit — just not for defending against deliberate tampering. Keep the two purposes separate.

Where Official Checksums Live

Open-source release pages conventionally ship a SHA256SUMS, *.sha256, or CHECKSUM file next to the download links — Ubuntu ISOs use SHA256SUMS in the release directory, Node.js uses SHASUMS256.txt per version. Generate the SHA-256 of your downloaded file here and compare. To also defend against a tampered checksum file itself, verify its GPG signature (SHA256SUMS.asc). The underlying math is in the file integrity guide.

FAQ

Which algorithm should I use?

Use SHA-256 for all modern integrity workflows. MD5 and SHA-1 have known collision vulnerabilities and should only be used when a legacy system requires them.

Does renaming a file change its hash?

No. Hash values are calculated from file content (bytes) only. Renaming or changing the extension has no effect if the underlying bytes remain identical.

Can I hash multiple files at once?

This tool processes one file at a time for predictable performance. For batch hashing, use CLI tools like sha256sum *.zip or scripting with the Web Crypto API.

Why do two identical-looking files have different hashes?

Invisible differences like BOM (Byte Order Mark), line endings (LF vs CRLF), or metadata (EXIF in images) cause byte-level differences. Use a file comparison tool to identify the exact differences.

Is my file uploaded to a server?

No. All hash calculations run in your browser using the Web Crypto API and JavaScript. No network requests are made — verify in your browser's DevTools Network tab.

What is the maximum file size I can process?

This tool supports files up to 30 MB. Since the browser must load the entire file into memory, larger files may take longer. For files over 100 MB, use CLI tools like sha256sum (Linux/macOS) or certutil -hashfile (Windows).

Can I recover the original file from a hash?

No. Hash functions are one-way — recovering original data from a hash value is computationally infeasible. This property (preimage resistance) is a fundamental security feature of cryptographic hash functions.

What is the difference between file hash and text hash?

File hash processes the raw bytes of a file. Text hash encodes a string to UTF-8 first, then hashes the bytes. For identical text content, both should produce the same result, but BOM or line ending differences can cause mismatches. Use the Text Hash tool for string hashing.