Checksum Calculator

Check a download against its published checksum, or calculate MD5, SHA-1, SHA-256, SHA-512, CRC-32 and CRC-64 for a file or text. Paste the expected checksum and the tool tells you whether it matches.

6 Hash Algorithms
Instant Results
Nothing Stored
Files up to 100MB
🔍

Verify Downloads

Confirm file integrity by comparing checksums with official sources

🛡️

Security Validation

Spot a modified file, when the checksum comes from a source you trust

💾

Backup Verification

Ensure backup files match originals without corruption

Uses Go's standard hash libraries • Files are hashed on our server as they upload and aren't stored

0 characters 0 bytes
Line breaks

Only matters if your text has more than one line.

MD5, SHA-1, SHA-256, SHA-512, CRC-32 or CRC-64. The algorithm is picked from its length; spaces, letter case and a trailing filename are ignored.

Computing hashes...

Complete Guide to Checksums, Hash Functions, and File Integrity Verification

Master file verification with our comprehensive checksum calculator supporting MD5, SHA-1, SHA-256, SHA-512, CRC32, and CRC64. Learn how to verify downloads, detect file tampering, ensure data integrity, and choose the right hash algorithm for your security needs. Essential for developers, system administrators, and security professionals. Need to generate secure hashes for passwords or data? Try our hash generator for creating cryptographic hashes.

What is a Checksum and Why File Integrity Matters

A checksum is a unique digital fingerprint calculated from data using cryptographic hash algorithms. Think of it as a tamper-evident seal for your files—change even a single byte, and you get a completely different checksum. That's what makes them so useful. This makes checksums invaluable for verifying downloaded software hasn't been corrupted during transfer, detecting malware injection, confirming backup integrity, and ensuring file authenticity. Major software vendors publish official checksums alongside downloads, allowing you to verify you received the exact file they intended.

How Checksums Protect You:

🔍 Download Verification
Compare the checksum of your downloaded Linux ISO or software installer against the official hash published by the vendor. Mismatched checksums reveal corruption or tampering before you run potentially dangerous files.
🛡️ Malware Detection
Attackers sometimes swap a legitimate download for a modified one. If you check it against a checksum published by the vendor, the change shows up: even one altered byte changes the entire hash, alerting you to tampering immediately.
💾 Backup Integrity
Calculate checksums of important files before backing them up. Later, verify the backup matches the original by comparing hashes—catching silent data corruption that standard file comparison misses.
📦 Package Verification
Package managers like APT and NPM use checksums to verify every downloaded package. This prevents supply chain attacks where malicious code is injected into legitimate software repositories.

⚠️ What Checksums Can't Catch: The SolarWinds Attack

In the 2020 SolarWinds breach, attackers inserted malicious code into SolarWinds' build process, so the compromised Orion updates were built, signed and published by SolarWinds itself. Their published checksums matched the malicious files. A checksum proves a file is the one the publisher released; it can't prove the publisher's own systems weren't compromised.

Common Use Cases:

  • →
    Linux ISO Verification: Confirm Ubuntu, Debian, or Arch downloads match official hashes
  • →
    Driver Downloads: Verify graphics card drivers haven't been modified
  • →
    Cloud Storage: Detect silent file corruption in Dropbox, Google Drive, or S3
  • →
    Git Commits: Git uses SHA-1 hashes to track every change
  • →
    Digital Forensics: Create cryptographic evidence chains
  • →
    Password Storage: Hash passwords before database storage (use bcrypt, not MD5)

How to Verify a Download:

Step 1: Find the Official Hash
Visit the vendor's website (e.g., ubuntu.com/download) and copy the published SHA-256 checksum listed next to the download link
Step 2: Calculate Your File's Hash
Upload your downloaded file to this tool or use command line: sha256sum filename.iso
Step 3: Compare Checksums
Use our comparison tool to verify both hashes match exactly. Even one different character means the file was modified
✓ Match = Safe to Use
Identical hashes confirm file integrity—proceed with installation
✗ Mismatch = Do Not Use
Different hashes indicate corruption or tampering—delete and re-download

Choosing the Right Hash Algorithm: MD5 vs SHA-256 vs CRC32

Here's the thing: not all hash algorithms provide the same security. MD5 and SHA-1 are cryptographically broken—researchers can deliberately create collisions (two different files with identical hashes): for MD5 in seconds on an ordinary computer, for SHA-1 with a large but achievable amount of computing power. Use them only for non-security purposes like detecting accidental corruption. For anything security-critical, always use SHA-256 or SHA-512. CRC checksums are extremely fast but offer zero security—they're designed for error detection in network packets and ZIP files, not tamper resistance.

AlgorithmOutput SizeSpeedSecurityBest Use Case
SHA-256256 bits (64 hex chars)FastExcellent ✓Download verification, digital signatures, data integrity (not for storing passwords on its own)
SHA-512512 bits (128 hex chars)FastExcellent ✓Maximum security applications, long-term archival, high-value data
SHA-1160 bits (40 hex chars)Very FastBroken ⚠Git commits, legacy systems only—avoid for security
MD5128 bits (32 hex chars)Very FastBroken ✗File deduplication, checksums (non-security), legacy compatibility
CRC3232 bits (8 hex chars)Blazing FastNoneZIP files, network packets, error detection (not security)
CRC6464 bits (16 hex chars)Blazing FastNoneLarge file error detection, database checksums
✓

Recommended

Use SHA-256 or SHA-512 for:
  • • Software download verification
  • • Digital signatures
  • • Certificate generation
  • • Blockchain applications
  • • Any security-critical hashing
  • • Long-term data integrity
⚠️

Use with Caution

MD5 and SHA-1 acceptable only for:
  • • Detecting accidental file corruption
  • • File deduplication systems
  • • Legacy system compatibility
  • • Git commit identifiers
  • • Non-security checksums
  • • Never for passwords!
⚡

Speed-Optimized

CRC32/CRC64 best for:
  • • ZIP/RAR file integrity
  • • Network packet validation
  • • Real-time streaming checks
  • • Database row checksums
  • • Ethernet frame validation
  • • Zero security—just error detection

🚨 Critical Security Warning

Never use MD5 or SHA-1 for password hashing, digital signatures, or security certificates. Both algorithms are cryptographically broken. In 2017, Google demonstrated a practical SHA-1 collision attack. MD5 collisions can be produced in seconds on a normal computer. An attacker who prepares both files can make a harmless-looking file and a malicious one share the same MD5 hash, so a check that trusts MD5 can be fooled. For secure password storage, check out our hash generator guide on proper password hashing techniques.

Real Attack Example:
harmless.exe (prepared by attacker) → MD5: a1b2c3d4...
malware.exe → MD5: a1b2c3d4... (same hash!)
→ A system that approved harmless.exe by its MD5 hash would also accept malware.exe

What Gets Hashed, and How Your Data Is Handled

  • Text is hashed as UTF-8 bytes, exactly as typed: spaces and a trailing line break count. For example, hello world has the SHA-256 b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9, but echo "hello world" | sha256sum gives a different result because echo adds a newline.
  • Line breaks are hashed as LF unless you choose CRLF. To match a text file exactly, upload the file instead of pasting its contents.
  • CRC-32 is the IEEE variant used by ZIP, gzip and PNG. CRC-64 is the CRC-64/XZ variant (ECMA-182 polynomial); other CRC-64 variants give different results.
  • Files up to 100 MB are uploaded to Orbit2x's server and hashed as they arrive. They aren't written to disk or kept after the request, and only the checksums are sent back. For confidential files, you may prefer the command-line tools below, which run entirely on your own computer. See the privacy policy.
  • Only hex checksums are accepted for comparison; Base64-encoded digests (as used in some package files) need converting first.

Command Line Checksum Verification: Windows, macOS, and Linux

Here's something useful: every major operating system includes built-in checksum tools. This calculator is convenient for a quick check, but understanding command-line verification is essential for automation, scripting, and situations where you need to verify files on remote servers. These native tools are faster for large files and integrate seamlessly with CI/CD pipelines and system administration tasks.

🪟

Windows PowerShell

Windows 10, 11, and Server 2016+

Get-FileHash Cmdlet (Recommended)
# SHA-256 (default)
Get-FileHash .\ubuntu-22.04.iso

# Specify algorithm
Get-FileHash .\file.zip -Algorithm SHA512

# MD5 for legacy compatibility
Get-FileHash .\driver.exe -Algorithm MD5

# Compare with known hash
$hash = (Get-FileHash .\download.iso).Hash
if ($hash -eq "ABC123...") { Write-Host "✓ Valid" } else { Write-Host "✗ Invalid" }
CertUtil (Alternative Method)
certutil -hashfile ubuntu-22.04.iso SHA256
certutil -hashfile driver.exe MD5

Pro Tip: Add Get-FileHash to your PowerShell profile for quick access. Right-click any file while holding Shift → "Open PowerShell window here" for instant verification.

🍎

macOS Terminal

All macOS versions (BSD-based tools)

Built-in Hash Commands
# SHA-256
shasum -a 256 ubuntu-22.04.iso

# SHA-512
shasum -a 512 backup.tar.gz

# SHA-1 (legacy)
shasum -a 1 file.dmg

# MD5
md5 installer.pkg

# Verify against known hash
echo "abc123... ubuntu-22.04.iso" | shasum -a 256 -c

Quick Verification: Drag and drop files into Terminal after typing the command. macOS auto-fills the file path with proper escaping for spaces and special characters.

🐧

Linux Terminal

Ubuntu, Debian, Fedora, Arch, CentOS

Standard GNU Tools
# SHA-256 (most common)
sha256sum ubuntu-22.04-desktop-amd64.iso

# SHA-512 (maximum security)
sha512sum backup.tar.gz

# SHA-1 (legacy)
sha1sum file.deb

# MD5 (compatibility only)
md5sum driver.rpm

# Verify downloaded ISO
sha256sum -c SHA256SUMS
# This checks all files listed in SHA256SUMS file

# Quick inline verification
echo "abc123def456... ubuntu.iso" | sha256sum -c -
Batch Verification Script
#!/bin/bash
# verify_downloads.sh

EXPECTED="abc123def456..."
ACTUAL=$(sha256sum ubuntu.iso | awk '{print $1}' )

if [ "$EXPECTED" = "$ACTUAL" ]; then
  echo "✓ Checksum verified - safe to install"
  exit 0
else
  echo "✗ Checksum FAILED - file corrupted or tampered"
  exit 1
fi

Advanced Tip: Use parallel to verify multiple files simultaneously: parallel sha256sum ::: *.iso

📊 Algorithm Availability Across Platforms

AlgorithmWindowsmacOSLinux
SHA-256✓✓✓
SHA-512✓✓✓
SHA-1✓✓✓
MD5✓✓✓
CRC32Not built incrc32Not built in*

* Most Linux systems need an extra package (such as libarchive-zip-perl, which provides crc32). The built-in cksum command uses a different CRC, so its output won't match the CRC-32 used by ZIP and this tool.

Common Checksum Mistakes and How to Avoid Them

❌ Mistake #1: Comparing Different Hash Algorithms

The Problem: You calculate SHA-256 for your file but the vendor published an MD5 hash. These will never match—they're completely different algorithms producing different output lengths. It's like comparing inches to centimeters.

Your SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Vendor's MD5: d41d8cd98f00b204e9800998ecf8427e
→ Different algorithms = Always mismatch

Solution: Always verify which algorithm the vendor used. Check the filename (SHA256SUMS vs MD5SUMS) or the hash length: MD5=32 chars, SHA-1=40 chars, SHA-256=64 chars, SHA-512=128 chars.

⚠️ Mistake #2: Case Sensitivity Confusion

The Problem: Hashes are displayed in both uppercase and lowercase. Some people think "ABC123" and "abc123" are different hashes—they're not. Hexadecimal is case-insensitive, so don't worry if the casing doesn't match.

Vendor: E3B0C44298FC1C14...
Your hash: e3b0c44298fc1c14...
→ These match! (case doesn't matter)

Solution: Our comparison tool automatically normalizes case. When comparing manually, convert both to lowercase or use case-insensitive comparison.

⚠️ Mistake #3: Including Whitespace in Comparisons

The Problem: Copy-pasting hashes from websites often includes hidden spaces, tabs, or line breaks that cause comparison failures even when hashes are identical.

Hash with spaces: " e3b0c442 98fc1c14 "
Hash clean: "e3b0c44298fc1c14"
→ Same hash, but string comparison fails!

Solution: Our tool automatically strips all whitespace. Manual verification? Use string.trim().replace(/\s/g, '') before comparing.

🔍 Mistake #4: Verifying the Wrong File

The Problem: You downloaded "ubuntu-22.04-desktop-amd64.iso" but verified "ubuntu-22.04-server-amd64.iso" by accident. The hashes don't match, but both files are legitimate.

✗ Downloaded: ubuntu-desktop.iso → Hash: abc123...
? Verified: ubuntu-server.iso → Hash: xyz789...
→ Result: Mismatch (but both are valid!)

Solution: Double-check filenames. Many distributions provide a single SHA256SUMS file listing all variants. Use sha256sum -c SHA256SUMS to verify the correct file automatically.

💡 Mistake #5: Trusting Hashes from Untrusted Sources

The Problem: You download software from a mirror site, and they provide a checksum—but here's the thing: if the mirror was compromised, the attacker can publish a matching hash for their malicious file. Checksum verification only works if you trust the source of the checksum itself.

Scenario:
1. Mirror site hacked → malware.exe uploaded
2. Attacker updates checksum on mirror → matches malware
3. You verify hash against mirror → ✓ Match!
4. But you installed malware, not legitimate software

Solution: Always get checksums from the official source, not download mirrors. For extra security, verify PGP signatures (GPG) in addition to checksums—this proves the file was signed by the actual developer. For validating other types of data, explore our card validator or UUID generator tools.

✓ Best Practice: The Complete Verification Workflow

1.
Download from official source: Go directly to the vendor's website (ubuntu.com, not ubuntu-downloads.com)
2.
Get checksum from official source: Find SHA256SUMS or similar file on the same official site, preferably over HTTPS
3.
Verify GPG signature (advanced): Download SHA256SUMS.gpg and verify with gpg --verify
4.
Calculate your file's hash: Use our tool or command line with the same algorithm as the vendor
5.
Compare carefully: Use our comparison tool or verify character-by-character. One wrong character = compromised file
6.
Document verification: Save successful verification output for audit trails and security compliance