Windows Guide 2026

    How to Verify File Integrity on Windows: Complete 2026 Guide

    Step-by-step instructions for verifying file integrity on Windows using CertUtil, PowerShell Get-FileHash, FolderManifest desktop, and online tools.

    Published June 8, 202610 min read
    Mehrab Ali

    Author

    Mehrab Ali

    Data Scientist, Researcher & Entrepreneur

    Founder of ARCED Foundation, ARCED International, and Solutions of Things Lab (SoTLab). Built FolderManifest to help teams protect file integrity and stay audit-ready.

    🎯 Key Takeaways

    • +4 methods covered: CertUtil, PowerShell Get-FileHash, FolderManifest Desktop, and online tools
    • +CertUtil is built into Windows: No installation needed — works on Windows 10, 11, and Server
    • +PowerShell is more flexible: Supports automation, batch processing, and pipeline integration
    • +Always use SHA-256: MD5 has known vulnerabilities — SHA-256 is the modern standard
    • +FolderManifest simplifies everything: Visual comparison, batch processing, and HTML reports

    Why Verify File Integrity on Windows?

    File integrity verification confirms that files haven't been corrupted, tampered with, or accidentally modified. On Windows, this is critical for:

    • Downloaded files: Verify that installers and archives match the publisher's checksum
    • Backup verification: Confirm backups are identical to originals
    • Data migration: Ensure files copied correctly to new drives or servers
    • Security auditing: Detect unauthorized file modifications
    • Software deployment: Verify deployed files match build artifacts
    • Compliance: Meet audit requirements for data governance (SOX, ISO 27001, HIPAA)

    Why SHA-256 Over MD5?

    MD5 has known collision vulnerabilities — two different files can produce the same hash. SHA-256 is the modern standard with no known practical collisions. Always use SHA-256 for integrity verification in 2026 and beyond.

    Method 1: CertUtil (Built-in Windows Tool)

    CertUtil is included with every modern Windows installation. It generates file hashes without any additional software — just open Command Prompt.

    Basic SHA-256 Hash

    Open Command Prompt and run:

    certutil -hashfile "C:\path\to\file.txt" SHA256

    Output Example

    SHA256 hash of C:\path\to\file.txt:
    a1 b2 c3 d4 e5 f6 78 90 12 34 56 78 9a bc de f0
    12 34 56 78 9a bc de f0 12 34 56 78 9a bc de f0
    CertUtil: -hashfile command completed successfully.

    Other Supported Algorithms

    AlgorithmCommandRecommended
    SHA-256certutil -hashfile file.txt SHA256
    Yes
    SHA-384certutil -hashfile file.txt SHA384
    Yes
    SHA-512certutil -hashfile file.txt SHA512
    Yes
    MD5certutil -hashfile file.txt MD5
    No
    SHA-1certutil -hashfile file.txt SHA1
    No

    Batch Multiple Files

    Create a batch script to hash multiple files:

    @echo off
    for %%f in (C:\folder\*.txt) do (
      echo === %%f ===
      certutil -hashfile "%%f" SHA256
      echo.
    )
    pause

    Pros

    • + Built into Windows (no install)
    • + Works on all Windows versions
    • + Supports SHA-256, SHA-384, SHA-512
    • + Fast and lightweight

    Cons

    • - Command-line only (no GUI)
    • - Hard to compare two hashes visually
    • - Output format includes spaces
    • - No built-in comparison logic

    Method 2: PowerShell Get-FileHash

    PowerShell's Get-FileHash cmdlet is more flexible than CertUtil. It supports pipeline operations, automation, and produces cleaner output.

    Basic SHA-256 Hash

    Get-FileHash "C:\path\to\file.txt" -Algorithm SHA256

    Output Example

    Algorithm       Hash                                                                   Path
    ---------       ----                                                                   ----
    SHA256          A1B2C3D4E5F6789012345678...                         C:\path\to\file.txt

    Compare Two Files

    Check if two files are identical:

    $hash1 = (Get-FileHash "C:\folder\original.txt" -Algorithm SHA256).Hash
    $hash2 = (Get-FileHash "C:\folder\copy.txt" -Algorithm SHA256).Hash
    
    if ($hash1 -eq $hash2) {
        Write-Host "Files are IDENTICAL" -ForegroundColor Green
    } else {
        Write-Host "Files are DIFFERENT" -ForegroundColor Red
    }

    Hash All Files in a Folder

    Get-ChildItem "C:\folder" -Recurse -File |
      Get-FileHash -Algorithm SHA256 |
      Export-Csv -Path "C:\checksums.csv" -NoTypeInformation
    
    Write-Host "Checksums exported to C:\checksums.csv"}

    Verify Against Baseline

    Compare current files against a saved baseline:

    $baseline = Import-Csv "C:\checksums.csv"
    $current = Get-ChildItem "C:\folder" -Recurse -File | Get-FileHash -Algorithm SHA256
    
    foreach ($file in $current) {
        $base = $baseline | Where-Object { $_.Path -eq $file.Path }
        if ($base -and $base.Hash -ne $file.Hash) {
            Write-Host "CHANGED: $($file.Path)" -ForegroundColor Yellow
        } elseif (-not $base) {
            Write-Host "NEW: $($file.Path)" -ForegroundColor Cyan
        }
    }

    Pros

    • + Built into Windows (PowerShell 4+)
    • + Pipeline support for automation
    • + Clean output format
    • + CSV export for audit trails
    • + Supports comparison logic

    Cons

    • - Command-line only
    • - Requires PowerShell knowledge
    • - Slow on very large folder trees
    • - No visual comparison

    Method 3: FolderManifest Desktop

    Recommended for Windows

    FolderManifest Desktop provides a visual, point-and-click interface for file integrity verification. It combines the accuracy of SHA-256 checksums with an intuitive GUI — no command-line skills needed.

    How to Verify Files

    1. 1. Install FolderManifest Desktop on Windows
    2. 2. Select the two folders or files to compare
    3. 3. Enable SHA-256 checksum calculation
    4. 4. Click "Compare" — FolderManifest hashes every file
    5. 5. Review the visual comparison report
    6. 6. Export HTML report for documentation or auditing

    Features

    Visual comparison — no command-line needed
    SHA-256 checksums for every file in both folders
    Unlimited file sizes — no 10MB limit
    Export HTML reports for audit trails and compliance
    Works offline — no internet required
    Manifest generation for compliance documentation

    Method 4: Online Verification Tools

    If you need to verify a file quickly without installing anything, online tools like FolderManifest's free file comparison tool work directly in your browser.

    Using FolderManifest Online

    1. 1. Visit foldermanifest.com/free-tools/compare-files
    2. 2. Upload the original file to the left panel
    3. 3. Upload the file to verify to the right panel
    4. 4. Click "Compare Files"
    5. 5. Review the SHA-256 checksum results — if they match, files are identical

    Pros

    • + No installation required
    • + Works on any device with a browser
    • + Free forever, no account needed
    • + Privacy-first (in-memory processing)

    Cons

    • - 10MB file size limit per file
    • - One comparison at a time
    • - Requires internet connection
    • - No batch processing

    Method Comparison

    FeatureCertUtilPowerShellFolderManifest DesktopFolderManifest Online
    Installation
    Built-in
    Built-in
    Required
    None
    GUI
    SHA-256
    Batch ProcessingVia script
    Export ReportsCSV
    HTML
    CostFreeFree$39 one-timeFree

    Automating Integrity Checks

    For regular verification, automate your integrity checks with a PowerShell script or Windows Task Scheduler.

    PowerShell Verification Script

    # verify-integrity.ps1
    # Compares current files against a saved baseline
    
    $folder = "C:\ImportantData"
    $baseline = "C:\baseline-checksums.csv"
    $log = "C:\integrity-log.txt"
    
    $results = Get-ChildItem $folder -Recurse -File | Get-FileHash -Algorithm SHA256
    $base = Import-Csv $baseline
    
    $mismatches = 0
    $missing = 0
    
    foreach ($b in $base) {
        $current = $results | Where-Object { $_.Path -eq $b.Path }
        if (-not $current) {
            Add-Content $log "[$(Get-Date)] MISSING: $($b.Path)"
            $missing++
        } elseif ($current.Hash -ne $b.Hash) {
            Add-Content $log "[$(Get-Date)] CHANGED: $($b.Path)"
            $mismatches++
        }
    }
    
    Add-Content $log "[$(Get-Date)] Check complete: $mismatches changed, $missing missing"
    
    if ($mismatches -gt 0 -or $missing -gt 0) {
        Write-Host "INTEGRITY ISSUES FOUND" -ForegroundColor Red
    } else {
        Write-Host "All files verified OK" -ForegroundColor Green
    }

    Schedule with Task Scheduler

    1. Open Task Scheduler (taskschd.msc)
    2. Create a new Basic Task named "File Integrity Check"
    3. Set trigger to Weekly (or your preferred schedule)
    4. Set action to "Start a program"
    5. Program: powershell.exe
    6. Arguments: -ExecutionPolicy Bypass -File "C:\verify-integrity.ps1"
    7. Finish — the script runs automatically on schedule

    Best Practices

    1

    Always Use SHA-256

    Never use MD5 or SHA-1 for integrity verification. SHA-256 is the minimum acceptable standard in 2026. CertUtil, PowerShell, and FolderManifest all support it natively.

    2

    Verify After Every Transfer

    Generate checksums before copying files, then verify after the copy completes. This catches corruption from network errors, USB disconnections, and software bugs.

    3

    Save Baseline Checksums

    Export a CSV of checksums after initial file creation or verification. This baseline lets you detect changes over time. Store the baseline separately from the files being monitored.

    4

    Automate Regular Checks

    Use Task Scheduler (for PowerShell scripts) or FolderManifest Desktop's repeatable verification workflow to run checks automatically. Don't rely on remembering to do it manually.

    Frequently Asked Questions

    How do I check file integrity on Windows?

    The fastest way is to open Command Prompt and run certutil -hashfile filename.txt SHA256. For a visual interface, use FolderManifest Desktop or the free online comparison tool.

    Is CertUtil built into Windows?

    Yes. CertUtil is included with all modern Windows versions — Windows 10, Windows 11, and Windows Server. No installation or download is needed.

    What is the difference between MD5 and SHA-256?

    SHA-256 produces a 256-bit hash and is cryptographically secure with no known collision attacks. MD5 produces a 128-bit hash and has known vulnerabilities where different files can produce the same hash. Always prefer SHA-256 in 2026.

    Can I automate file integrity checks on Windows?

    Yes. Write a PowerShell script using Get-FileHash and schedule it with Windows Task Scheduler. FolderManifest Desktop also supports repeatable verification workflows with HTML report exports.

    How do I compare checksums of two files?

    Generate the SHA-256 hash of both files using CertUtil or PowerShell. If the hash strings match exactly, the files are byte-for-byte identical. FolderManifest automates this comparison visually.

    Does Windows File Explorer show file checksums?

    No. Windows File Explorer does not display file checksums natively. You need to use CertUtil, PowerShell, or a third-party tool like FolderManifest.

    What if two files have different hashes?

    Different hashes mean the files differ — even a single byte change produces a completely different SHA-256 hash. Investigate the cause: corruption, unauthorized modification, or different versions.

    Can I verify files without installing software?

    Yes. Use CertUtil or PowerShell (both built-in) for command-line verification. Or use FolderManifest's free online tool — works in any browser with no installation.

    How long does SHA-256 verification take?

    SHA-256 is fast. A 10MB file hashes in 1-2 seconds. Even large folders (thousands of files) complete in minutes on modern hardware. The security benefit far outweighs the minimal time cost.

    Start Verifying Your Files Now

    Choose your method: quick online comparison, built-in Windows commands, or FolderManifest Desktop for batch processing with reports.

    Continue Learning

    Compare Other File Types