Hash Generator
Private: nothing leaves your browser
Type or paste something above and every hash appears.
Get the MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC-32 of any text or file at once, and check a download against the checksum its publisher listed. Files are read on your own device and never uploaded, so this works on a 700 MB ISO and works offline.
Which hash algorithm should you use?
| Algorithm | Output length | Safe for new work | Still seen in the wild for |
|---|---|---|---|
| MD5 | 128 bits, 32 hex | No. Collisions are made to order | Download checksums, non-security IDs |
| SHA-1 | 160 bits, 40 hex | No. Publicly broken since 2017 | Git object IDs, older release checksums |
| SHA-256 | 256 bits, 64 hex | Yes. The default | Packages, certificates, signatures |
| SHA-384 | 384 bits, 96 hex | Yes | TLS suites, subresource integrity |
| SHA-512 | 512 bits, 128 hex | Yes | Large files on 64-bit machines |
| CRC-32 | 32 bits, 8 hex | No, and it never was one | Accidental corruption: ZIP, PNG, Ethernet |
MD5 and SHA-1 are broken for anything that turns on nobody being able to forge a match. Two different files can be built to share an MD5 in seconds on a laptop, and the same was demonstrated for SHA-1 in 2017, so neither proves that a file is the file somebody meant to give you. They are still here because comparing a value you did not choose against a value somebody published is a different job: if a download page lists an MD5 and you want to know whether your copy arrived intact, an MD5 is the only thing that can answer, and it answers that correctly. CRC-32 is not a cryptographic hash at all and never claimed to be; it catches a flipped bit, which is exactly what a ZIP archive needs it for.
About this hash generator
A hash is a fixed length fingerprint of some data. Change one byte anywhere and the whole fingerprint changes, which is what makes it useful for confirming that a file arrived intact, that two records are identical, or that a cache entry is still the one you stored. The same input always gives the same hash, so the value here will match the value your server computes for the same bytes.
The SHA hashes come from your browser's built-in cryptography engine, which is why hashing a large file is fast. MD5 and CRC-32 are implemented on the page because no browser exposes them. Nothing is uploaded: choosing a 700 MB file hashes it locally and your network stays idle throughout, which you can confirm in your own developer tools.
How to hash a file or verify a checksum
- Stay on Text to hash something you type or paste. Every algorithm updates as you go.
- Switch to File to hash a download, an archive or a disk image.
- Press the copy button on the row you need.
- To verify a download, paste the checksum from the publisher's page into the compare box. You can paste the whole
hash filenameline from a.sha256file: the filename is ignored. - A match is reported with the algorithm that matched, so you also learn which one they published.
Common questions about hashing
Does checking a 700 MB download mean uploading it?
Which hash should I use?
Can a hash be reversed back to the text?
Why does my hash differ from the one my server produced?
What is the difference between SHA-256 and SHA-512?
Next