Bulk File Hash Generator

Reads one or more files you select (or drag and drop) as raw bytes and hashes each one with MD5, SHA-1, SHA-256, or SHA-512, matching what a command-line tool like sha256sum would produce, without uploading any file content anywhere. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-25

Overview

Introduction

Hashing several files one at a time, copy-pasting each into a text-based hash tool, doesn't work for actual binary files, and it's slow for even a handful of them.

This tool reads real files directly from disk (or a drag-and-drop) as raw bytes and hashes every one at once, entirely in your browser.

What Is Bulk File Hash Generator?

A real file-upload hash calculator: unlike this category's other calculators, which hash pasted text, this one reads actual file bytes via the browser's File API and hashes as many files as you select in one pass.

It supports MD5, SHA-1, SHA-256, and SHA-512, and reports each file's name, size, and resulting hex digest.

How Bulk File Hash Generator Works

Each selected file is read into memory with `file.arrayBuffer()`, then hashed with either the browser's native `SubtleCrypto.digest()` (SHA-1/256/512) or @noble/hashes' MD5 implementation (since SubtleCrypto doesn't support MD5), one file at a time.

Results are displayed as a list of filename, size, and lowercase hex digest, matching what a command-line hashing tool would produce for the same files.

When To Use Bulk File Hash Generator

Use it to generate checksums for a batch of files you're about to distribute or archive, so recipients can verify integrity later.

It's also useful for spot-checking that two files are byte-identical by comparing their hashes, without needing a command-line tool installed.

Often used alongside Checksum File Verifier and Hash Generator.

Features

Advantages

  • Hashes real file bytes, not pasted text, so results match what command-line tools produce for the same files.
  • Handles multiple files in one batch instead of requiring one tool run per file.
  • Uses the browser's native, hardware-accelerated digest API for SHA-1/256/512, and a well-audited library for MD5.

Limitations

  • Each file is capped at 25 MB to keep everything in-memory and responsive; larger files need a desktop hashing tool.
  • Files are hashed sequentially, not in parallel, so a very large batch takes proportionally longer.

Examples

Hashing two uploaded files with SHA-256

Input

photo.jpg (2.1 MB), notes.txt (4 KB)

Output

photo.jpg: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
notes.txt: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Each file is hashed independently as raw bytes, producing a standard 64-character SHA-256 hex digest per file.

Best Practices & Notes

Best Practices

  • Publish generated hashes alongside a file you're distributing so recipients have something to verify against.
  • Prefer SHA-256 over MD5 for anything where an adversary might try to construct a colliding file; MD5 remains fine for accidental-corruption checks.
  • Re-run this tool on a downloaded copy of a file and compare against a publisher's published hash to confirm the download wasn't corrupted or tampered with.

Developer Notes

SHA-1/256/512 use `crypto.subtle.digest()` directly on each file's `ArrayBuffer`; MD5 uses `@noble/hashes/legacy.js`'s `md5()` since the native SubtleCrypto API doesn't implement it. Both paths reuse this category's shared `toHex()` helper for consistent lowercase hex formatting.

Bulk File Hash Generator Use Cases

  • Generating checksums for a batch of files before distributing or archiving them
  • Verifying that two files (perhaps with different names) are byte-for-byte identical
  • Producing a hash list to pair with the Checksum File Verifier for later integrity checks

Common Mistakes

  • Expecting a hash computed here to match a hash of the same *text* pasted into a text-based hash calculator; line-ending and encoding differences between a file and pasted text can produce different results.
  • Using MD5 for anything beyond accidental-corruption detection; it's not resistant to deliberate tampering.

Tips

  • Use the Checksum File Verifier afterward (or instead) if you already have an expected hash and just want a match/mismatch answer rather than raw output.

References

Frequently Asked Questions