Developer Tools
Hash & Checksum Generator
Generate SHA digests and CRC32 checksums and compare them.
Text to hash
The text is encoded as UTF-8 before hashing, so a trailing newline changes the result.
Compare with an expected digest
optionalAbout Hash Generator
Hash functions turn input of any length into a fixed-size fingerprint. They are used to verify downloads, deduplicate content, key caches, and store password verifiers behind a proper KDF. Getting a hash by hand is impossible, so a generator is the practical way to check a checksum or compare two payloads.
This tool computes SHA-1, SHA-256, SHA-384 and SHA-512 through the Web Crypto API and adds a CRC32 checksum for legacy verification use cases. You can paste an expected value and have the tool compare it for you, which removes the most error-prone step of comparing long hex strings by eye.
How it works
- Text is converted to UTF-8 bytes before hashing, so results are stable across platforms.
- SHA-1, SHA-256, SHA-384 and SHA-512 come from the browser SubtleCrypto implementation.
- CRC32 is computed locally in JavaScript for compatibility with legacy checksums.
- Every digest is shown in lowercase hex and Base64 at the same time.
- Paste an expected digest to compare it against the calculated value.
Input and output
Accepts
Text to hash, and optionally an expected digest to compare against.
Produces
Hex and Base64 digests for each algorithm, plus a match or mismatch verdict.
Privacy
Hashing uses the Web Crypto API in your browser. The input is never sent to a server.
Hash Generator FAQ
Can I hash a password with SHA-256?
No. Fast general-purpose hashes are unsuitable for passwords because they are cheap to brute force. Use a memory-hard KDF such as Argon2id, scrypt or bcrypt with a per-user salt.
Why is MD5 not included?
MD5 is broken for collision resistance and is no longer exposed by the browser crypto API for new work. If you must verify a legacy MD5 checksum, use a dedicated tool and treat it as integrity checking only.
What is CRC32 used for?
CRC32 detects accidental transmission errors in formats such as ZIP, PNG and Ethernet frames. It is a checksum, not a cryptographic hash, and provides no security.
Why do two tools give different hashes for the same text?
Almost always an encoding difference, such as a trailing newline, a byte order mark, or UTF-16 instead of UTF-8. Compare the exact bytes rather than the visible text.