Hash Generator

Compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes for any text or file. Runs in your browser via WebCrypto — your input never leaves your device.

  • Runs in browser
  • No signup
  • No tracking
Share

How to use Hash Generator

  1. Paste text — hashes update live.

  2. Or click 'Hash file' to hash any file's bytes.

  3. Copy a specific digest with its row's Copy button.

  4. Use the Verify field to check whether a known hash matches the current input.

When to use it

  • Verifying a downloaded ISO or installer against the publisher's checksum.

  • Generating cache keys for static assets.

  • Producing deterministic IDs from canonical content.

  • Spot-checking that two files are byte-identical.

What it fixes

  • Online hashers that upload your file to a server.

  • Switching to the terminal just to run `shasum`.

  • Hash mismatches caused by invisible line-ending or BOM differences.

About Hash Generator

Hash functions take bytes and return a fixed-length fingerprint. SHA-256 is the modern default — it's what package managers, git, and TLS use. MD5 and SHA-1 are broken for security but still useful as fast checksums (CDN cache keys, dedup IDs).

This tool runs everything locally. SHA variants come from the browser's WebCrypto API, which is hardware-accelerated on most platforms. MD5 uses a small RFC 1321 implementation included on the page. Drop a file or paste text and all five digests update live.

References: MDN — SubtleCrypto.digest · RFC 1321 — MD5 Message-Digest

Frequently asked

  • Are the hashes computed locally?

    Yes. SHA hashes use the browser's WebCrypto SubtleCrypto API; MD5 uses a small in-page JavaScript implementation. Neither sends data anywhere.

  • Which hash should I use?

    Use SHA-256 (or SHA-512) for new code — verifying downloads, fingerprinting content, etc. MD5 and SHA-1 are insecure for anti-tamper but are still common as fast checksums where collision resistance isn't required.

  • Can I hash a file, not just text?

    Yes. Click 'Hash file' and pick any file. The bytes are read in your browser and hashed locally.

  • Why are my hashes different from the command line?

    Hashes are exact byte-for-byte. A trailing newline or different line endings (LF vs CRLF) changes the input and therefore the output. Make sure the bytes match.

Discussion

All tools