Developer tools

Hash generator and checksum checker

Calculate SHA-256, SHA-384, SHA-512, SHA-1 or MD5 for text and files locally. Stream files with progress, compare expected checksums and download useful reports.

Up to 1 MiB of UTF-8. Spaces count, and no newline is added. The editor uses LF line endings. Use File for original file bytes, including CRLF or a byte-order mark.

Choose your input and calculate when ready. Empty text is valid.

Check text or the exact contents of a file

Undo replacement restores your previous text or file together with its algorithm and expected checksum. Trying an example clears the previous expected checksum until you undo it. Clearing the current input keeps the expected checksum available for the next comparison.

Choose Text for a UTF-8 string or File to hash original bytes. Text is not trimmed or normalized beyond the browser editor’s LF line endings. Case, spaces, Unicode representation, byte-order marks and line endings can all change the result. Empty input has a valid checksum. A file’s name does not affect its digest.

SHA-256 is selected by default. SHA-384 and SHA-512 produce longer digests. MD5 and SHA-1 support comparison with legacy checksums; their collision weaknesses make them unsuitable for new security designs. This tool calculates unkeyed digests, not HMACs, password hashes or encryption.

Compare with an expected checksum

Calculate first, then paste the expected hexadecimal value below the result. A clear Match or Mismatch appears, with a separate correction message for the wrong length or non-hexadecimal characters. Paste only the checksum, without a filename, algorithm label or prefix. Formatting changes in the expected value do not require recalculating the file.

A matching value shows that the two checksums agree. It does not identify the publisher, prove a file is safe or replace a digital signature; obtain the expected value from a source you trust.

Progress, cancellation and recovery

Files up to 1 GiB are read in 1 MiB chunks inside a local worker. Progress reports actual bytes processed. Cancel terminates the worker; changing input or algorithm also cancels stale work. Processing stops after 30 seconds without progress or two minutes overall. Large files on slower devices may need a smaller input or a desktop checksum utility.

Text and file inputs are retained when switching workflows. Example, file replacement, clear and large paste provide one Undo replacement; typing clears that history. Invalid file selections preserve useful work. Reports contain the algorithm, digest, source byte count, filename when applicable and comparison outcome, without including the source contents.

Worked example and implementation

The UTF-8 text abc, without a newline, has SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. All hexadecimal results use lowercase letters. Copy selects only the digest; reports are available as TXT or JSON.

Processing uses the locally bundled noble-hashes library with its MIT license. Incremental hashing keeps file memory bounded; the browser’s native digest API requires the complete input in memory. No input is uploaded, automatically stored, executed or sent to external processing services.