🔑

Hash Generator

Generate SHA-1, SHA-256, and SHA-512 hashes using the browser's native Web Crypto API. No server needed.

Input
Hashes
Type text above to generate hashes
Hash Comparator

Paste two hashes to check if they match:

About Hash Generator

A cryptographic hash function takes arbitrary input — a string of text or an entire file — and produces a fixed-length fingerprint. This tool computes SHA-1 (160 bits), SHA-256 (256 bits), and SHA-512 (512 bits) digests simultaneously using the browser-native Web Crypto API, so results appear in milliseconds without any server round-trip.

Because hashing is entirely one-way and runs locally, sensitive data — source code, configuration files, private keys — never leaves your machine. The built-in comparator lets you paste two hashes side-by-side to instantly verify whether they are identical.

Common Use Cases

How to Use

  1. Type or paste text into the Input panel — all three hashes update in real time as you type
  2. To hash a file, click "Hash a File" and select any file from your disk (processed locally, never uploaded)
  3. Toggle Uppercase if the hash comparison you're checking against uses capital hex letters
  4. Paste two hashes into the Hash Comparator section to check whether they match

Frequently Asked Questions

Why is SHA-1 still shown if it is considered broken?

SHA-1 is collision-vulnerable (two different inputs can produce the same hash), which makes it unsuitable for digital signatures and certificates. However it remains widely used in legacy systems, Git object IDs, and non-security checksum scenarios where collision resistance is not a threat model requirement. This tool shows it for compatibility; for new security work, prefer SHA-256 or SHA-512.

Can I hash binary files like images or executables?

Yes. Click "Hash a File," select any file, and the tool reads the raw binary content via the FileReader API and feeds it to crypto.subtle.digest(). The resulting hash is identical to what sha256sum or certutil would produce on the command line.

Does the tool support MD5?

MD5 is not available here because browsers' Web Crypto API does not implement it — MD5 is cryptographically broken and excluded from the standard on purpose. If you need an MD5 digest for legacy compatibility (e.g. S3 content-MD5 headers), you would need a JavaScript polyfill or a command-line tool like md5sum.

Advertisement