SHA-256 hash generator & file checksum checker
Get SHA-1, SHA-256, SHA-384 and SHA-512 hashes of text or files and verify a download against its published checksum. Files never leave your device.
Runs on your deviceRuns entirely in your browser: nothing you type or upload leaves your device.
How to use it
- Type text, or drop a file (up to 1 GB).
- Copy the hash you need from the table.
- To verify a download, paste the checksum from the publisher's site: a green match means the file is intact.
A fingerprint for text and files
A hash is a fixed-length fingerprint calculated from data. The same content always gives the same hash, and changing even one letter gives a completely different one. You can't rebuild the content from the hash; you can only check whether two things are identical.
That makes it useful to confirm a downloaded installer or disk image wasn't corrupted or swapped, to prove that the contract you have is byte for byte the one that was sent, or to detect duplicate files. You may also have seen one on a Colombian electronic invoice: the CUFE is a SHA-384 hash, 96 hexadecimal characters long.
Example: one capital letter, one line break
Type hola and the SHA-256 row shows b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79. Change it to Hola and it becomes e633f4fc79badea1dc5db970cf397c8248bac47cc3acf9915ba60b5d76b0e88f: nothing in common. Add a line break after hola and you get a third, unrelated value, 133ee989….
That is why hashes from the command line sometimes don't match this page: echo hola | sha256sum hashes hola plus a line break. To verify a download, drop the file and paste the publisher's checksum in the comparison box. A green message means the file is identical; red means it differs, so don't open it.
What a hash can't do
A hash says whether two files are the same, not whether a file is safe. A malicious installer has a valid hash too, so a match is only useful when you trust where the checksum came from. And the hash tells you nothing about what the file contains.
SHA-1 is broken against deliberate collisions, so prefer SHA-256 for anything that matters. A fast hash like SHA-256 on its own is also not a safe way to store passwords; systems use slow algorithms made for that, such as bcrypt or Argon2. Files are read whole into memory, up to 1 GB on a computer and less on a phone.
FAQ
Can I paste a line from a SHA256SUMS file?
Yes. The comparison box takes the first run of 32 or more hexadecimal characters it finds, so a line like `<hash> file.iso` or a value like `sha256:<hash>` works, in capitals or not. The length tells the tool which algorithm to compare: 40 characters is SHA-1, 64 is SHA-256, 96 is SHA-384 and 128 is SHA-512.
Why can't I get an MD5 hash?
The cryptography built into browsers leaves out MD5 on purpose because it is broken. Most projects publish SHA-256 checksums today; use those.
What does a matching checksum prove?
That your file is bit-for-bit identical to the one the checksum was made from, so it wasn't corrupted or swapped in transit. It only proves authenticity if the checksum itself came from a trusted source, such as the official site over HTTPS.
Can I check the CUFE of an electronic invoice here?
Not really. The CUFE is a SHA-384 hash, but the invoicing software calculates it from several invoice fields in an exact order, including data that isn't on the printed invoice. To confirm an invoice exists, look up its CUFE on the DIAN's website.
How do I get a file's hash without a browser?
On Windows, open PowerShell and run `Get-FileHash file.iso` (SHA-256 by default) or `certutil -hashfile file.iso SHA256`. On macOS, use `shasum -a 256 file.iso`, and on Linux `sha256sum file.iso`. The result should match what this page shows for the same file, maybe in capital letters; the comparison box accepts both.
More in this chapter
- 5.1JSON formatterFormat or minify JSON and find syntax errors by line and column.
- 5.2CSV to JSON converterConvert CSV to JSON or JSON to CSV with comma, semicolon or tab separators.
- 5.3YAML to JSON converterConvert YAML to JSON and back in your browser.
- 5.4Base64Encode or decode Base64 in your browser: UTF-8 text, URL-safe Base64, files to Base64 or data URLs, and Base64 back to a downloadable file.
- 5.5Color contrast checkerCheck the contrast ratio of a text color on its background against WCAG 2.2 AA and AAA, for normal text, large text and UI components.
- 5.6Cron explainerRead a 5-field cron expression as a plain sentence and see its next 5 run times in your time zone.
- 5.7Number base converterConvert whole numbers between decimal, hexadecimal, binary and octal, with bit length and grouped digits.
- 5.8HTML entity encoderEncode text as HTML entities (named, decimal or hex) or decode entities back to text: <, >, &, quotes, Spanish accents, Latin-1 symbols.
- 5.9URL encodePercent-encode or decode URLs and query values, and break any URL into protocol, host, path, query parameters and fragment.
- 5.11UUID generatorGenerate random UUID v4 or time-ordered UUID v7 (RFC 9562) in your browser, 1 to 1000 at a time, in uppercase or without dashes.
- 5.12Unix timestampConvert Unix timestamps in seconds or milliseconds to ISO 8601, UTC and your local time, or a date back to epoch.
- 5.13JWT decoderDecode a JSON Web Token in your browser: see the header and payload as formatted JSON and whether it has expired.
- 5.14Regex testerTest regular expressions live: highlighted matches, capture and named groups, flags and clear errors.
╌╌ END ╌╌