Free · Local processing · No signup

Hash Generator

Generate four common checksums for text or a local file. Compare downloaded-file fingerprints, check data changes, or create a reproducible digest without uploading your input.

🔒 Input stays in your browser⚡ No account↗ Copy or export results

Choose input

Text limit: 2 MiB of UTF-8. File limit: 20 MiB. SHA hashing requires HTTPS or localhost. Input is kept in memory for this operation.

Hexadecimal digests

MD5 and SHA-1 have known collision weaknesses. Prefer SHA-256 or SHA-512 where collision resistance matters. These plain hashes are not a password-storage scheme or a digital signature.

How to use Hash Generator

  1. Choose UTF-8 text or a local file, then press Generate hashes. Empty text is a valid input and has its own known digest.
  2. Compare the full hexadecimal value with a checksum from a trusted source, using the same algorithm.
  3. Copy an individual digest or download the four checksums as a text file. Changing input clears old results.

Method and limits

MD5 follows RFC 1321; SHA-1, SHA-256 and SHA-512 use the browser Web Crypto API. A text value is hashed as UTF-8 exactly as entered; a file is hashed as its raw bytes. No trimming or database storage is performed. Browser text editors normalize line endings to LF; file hashing preserves raw bytes, including original line endings.

Reference: MDN Web Crypto digest, RFC 1321 MD5 specification

Frequently asked questions

Can a hash be decoded to recover the original data?

A cryptographic hash is not reversible encoding. However, predictable inputs can be guessed and their hashes compared, so hashing alone does not hide weak passwords.

Why do two similar-looking text values have different hashes?

Spaces, Unicode characters and line endings are bytes too. A single changed byte normally changes the digest.

Should I use this to store website passwords?

No. Password storage needs a dedicated salted password-hashing algorithm and a suitable server-side design, not a plain MD5 or SHA digest.

Worked example: compare the bytes, not the filename

Select UTF-8 text, enter exactly abc with no space or final newline, then generate hashes. The SHA-256 digest should be the complete value below. This is a reproducible tool check, not a checksum for a particular software download.

SHA-256 of the three UTF-8 bytes in abc
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Add a newline or change one letter and generate again. The digest changes because the bytes changed. Two files with different names but identical contents produce the same digest for the same algorithm; renaming alone does not change a file checksum.

A sensible download-verification workflow

  1. Obtain the expected checksum and its algorithm from a source you trust, preferably the publisher's authenticated release page.
  2. Choose Local file and select the exact downloaded file. File mode reads raw bytes, preserving original line endings and any byte-order mark.
  3. Compare the entire matching algorithm's digest, not only its first or last few characters.
  4. If it differs, verify the release version and file selection before relying on that download.

A matching checksum establishes a content comparison against the expected value; it does not independently identify the publisher or prove a file is harmless. An attacker who controls both a file and its published checksum can make them agree. Signed release verification addresses a different part of that trust problem.

Why pasted text can disagree with file mode

Browser textareas normalize line endings to LF. A Windows CRLF file, a UTF-8 byte-order mark, a final newline or visually similar Unicode characters can therefore yield different bytes from pasted text. Select the actual file when checking an existing file's checksum. For modern integrity comparisons choose SHA-256 or SHA-512; MD5 and SHA-1 remain available for matching legacy reference values, not collision-resistant security decisions.

Examples and practical checks

Understand the result before using it elsewhere.