Hash Calculator

Hash text or multiple files sequentially with 39 algorithms. Compare expected digests, track speed and ETA, and export results as TXT, CSV or JSON—all locally in your browser.

Your inputs and files stay in your browser

Type or paste text to hash, add one or more files, or load an example.

Files take priority over text. New picks and drops are added to the removable list.

Algorithms
Hashes

Digests for the selected algorithms appear here after you press Calculate.

Hex digest to compare with the selected algorithms. Letter case and surrounding spaces are ignored.

SHA256SUMS, *.sha256, md5sum or BSD-style list. Files are matched by name; the algorithm it needs is selected automatically.

On this page

Hash Calculator computes up to 39 hash and checksum algorithms for text or multiple files: MD5, SHA-1, the SHA-2 and SHA-3 families, BLAKE2/BLAKE3, RIPEMD, Streebog, CRC32, xxHash and more. Files are processed sequentially in a Web Worker in your browser and are never uploaded; each file keeps its own result or error.

Detailed Functionality

Pick any combination of the 39 algorithms (the list can be filtered by name; Reset to defaults brings back MD5, SHA-1 and SHA-256). Only the algorithm selection is remembered in localStorage. Text is hashed as its UTF-8 bytes exactly as typed, including spaces and line breaks, and results are lowercase hexadecimal.

Add files by picking or dropping them; each new selection is appended to a removable list and takes priority over text. A Rust/WebAssembly module reads one file at a time in 1 MiB chunks inside a Web Worker, feeding every selected algorithm in the same pass. Progress includes processed bytes, speed, elapsed time and ETA. An error affects only that file and processing continues. Cancel stops the active worker immediately, preserves completed results and marks the active and remaining files as canceled; Calculate starts a fresh run.

An optional expected hexadecimal digest is compared with every completed text or file result without hashing again, and only the matching algorithm rows are marked. Changing text, files or algorithms makes results stale until the next calculation. Downloadable TXT, CSV and JSON reports include source type, file name and size, status, elapsed time, algorithm IDs and digests, and terminal errors—but never the original contents. Completed, failed and canceled entries remain visible in exports.

Cryptographic hashes (SHA-2, SHA-3, BLAKE2/BLAKE3, Streebog) are suitable for integrity checks; MD5 and SHA-1 are only for matching old checksums. CRC32, Adler-32, xxHash, FNV-1a, FxHash, SeaHash and MetroHash are fast non-cryptographic checksums, and SipHash/HighwayHash are computed with an all-zero key. This tool does not compute keyed MACs or password hashes.

Practical Examples

Hash a short string: hello gives MD5 5d41402abc4b2a76b9719d911017c592, SHA-1 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d and SHA-256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.

A trailing newline changes the hash: hello followed by Enter gives SHA-256 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03, the same as echo hello | sha256sum, while printf hello | sha256sum matches the value above.

Verify a download: choose the downloaded file, keep SHA-256 selected and compare the result with the checksum published next to the download. Empty input always gives e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.

Non-ASCII text: привет is hashed as UTF-8, so SHA-256 is e58f1e8c55fa105bdd3f40e5037eb0b039b5998d52c05e6cd98878dd2da5cab2, identical to sha256sum on a UTF-8 file with that word.

Check a release against SHA256SUMS: select the downloaded files, click Checksum file and pick the SHA256SUMS (or *.sha256, md5sum output, BSD SHA256 (file) = … list) published with the release, then click Calculate. Files are matched by name; each gets an OK or Mismatch badge, and the summary lists mismatched files, entries you did not select and selected files missing from the list. The algorithm named by the checksum file is selected automatically. A matching checksum only proves the file is intact; that the list itself is genuine needs its signature (SHA256SUMS.asc, .sig).

How to Use This Tool

  1. Enter text or add files

    Type or paste into Input Text, or pick or drop one or more files under Files (optional). More picks are appended, individual files can be removed, and any selected files take priority over text.

  2. Select algorithms and an expected digest

    Tick the algorithms you need in Algorithms. Optionally paste a hexadecimal digest to compare with every completed result.

  3. Calculate or cancel

    Click Calculate. Files run sequentially; progress shows bytes, speed, elapsed time and ETA. Cancel stops the active file while preserving completed results and marks files not processed as canceled.

  4. Review and export

    Inspect each file's hashes, match marker, status or error. Copy individual digests or download the current results as TXT, CSV or JSON.

Tips and Best Practices

  • To reproduce sha256sum file, hash the file itself rather than pasting its contents: copying text can change line endings or drop the final newline.
  • Integer checksums (CRC32, Adler-32, xxHash, FNV-1a) are shown as the number in hex, exactly as zlib, crc32 and xxhsum print them: CRC32 of hello is 3610a686.
  • MD5 and SHA-1 collisions are practical, so use them only to compare with existing checksums; prefer SHA-256, SHA-3 or BLAKE3 for new ones.
  • Files are processed one at a time, and all selected algorithms share one read of each file. Browser memory limits still apply.
  • A bad file does not stop later files. Canceling preserves completed results, and failed or canceled rows can be included in TXT, CSV and JSON exports.
  • For API request signatures or webhook checks you need a keyed hash, which is what the HMAC Calculator does.