Hash Generator
Hash text or files with MD5, SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 side by side, and paste a published checksum to find out which algorithm matches your download.
Private by design: anything you enter is processed in your browser only. It is never uploaded to or logged on our servers. Files are hashed locally and never uploaded. Share links contain only typed text, never file contents.
About cryptographic hash functions
A hash function turns input of any length into a fixed-length fingerprint called a digest. The same input always produces the same digest, and changing even a single byte produces a completely different one. That makes hashes ideal for checking that a download was not corrupted or tampered with, detecting duplicate files, building cache keys and signing data.
MD5 (128-bit) and SHA-1 (160-bit) are fast and still widely published as checksums, but both are broken for security purposes: practical collision attacks exist, so they must not be used for signatures or certificates. SHA-224, SHA-256, SHA-384 and SHA-512 belong to the SHA-2 family and are the current standard for integrity checks, TLS, code signing and blockchains.
To verify a file checksum, open the File tab, drop the file, and paste the checksum published by the vendor into the Compare field. The tool tells you which algorithm matches, comparing hex case-insensitively and also accepting Base64 digests such as those used in Subresource Integrity attributes.
Plain hashes are not suitable for storing passwords because they are designed to be fast, which helps attackers guess at billions of attempts per second. Use a slow, salted algorithm such as bcrypt (try the bcrypt generator), scrypt or Argon2 instead, and use the HMAC generator when you need to authenticate a message or webhook with a secret key. All hashing here runs locally using the Web Crypto API, SparkMD5 and js-sha256 (for SHA-224); no data is uploaded.
Reference Guide
Supported algorithms:
| Algorithm | Bits | Hex chars | Base64 chars | Status | Typical uses |
|---|---|---|---|---|---|
| MD5 | 128 | 32 | 24 | Broken | Non-security checksums, cache keys, deduplication |
| SHA-1 | 160 | 40 | 28 | Broken | Git object IDs, legacy checksums |
| SHA-224 | 224 | 56 | 40 | Secure | Specifications that require it, space-constrained protocols |
| SHA-256 | 256 | 64 | 44 | Secure | File checksums, TLS certificates, code signing, Docker digests |
| SHA-384 | 384 | 96 | 64 | Secure | Subresource Integrity, TLS cipher suites |
| SHA-512 | 512 | 128 | 88 | Secure | Linux download checksums, Ed25519, sha512crypt |
Command-line equivalents (shown for SHA-256; swap in the algorithm you need):
| Task | Command | Other algorithms |
|---|---|---|
| Linux | sha256sum file.iso | md5sum, sha1sum, sha224sum, sha384sum, sha512sum |
| macOS | shasum -a 256 file.iso | -a 1, 224, 384, 512; md5 file.iso |
| Windows PowerShell | Get-FileHash -Algorithm SHA256 file.iso | MD5, SHA1, SHA384, SHA512 (no SHA-224) |
| Windows cmd | certutil -hashfile file.iso SHA256 | MD5, SHA1, SHA384, SHA512 |
| OpenSSL (any OS) | openssl dgst -sha256 file.iso | -md5, -sha1, -sha224, -sha384, -sha512 |
| Verify a checksum list | sha256sum -c SHA256SUMS | Same -c flag for the other *sum tools |
| Hash a string | printf '%s' 'Hello, World!' | sha256sum | echo without -n adds a newline and changes the hash |
| SRI value | openssl dgst -sha384 -binary app.js | openssl base64 -A | Prefix the result with sha384- |
As a Subresource Integrity attribute, the SHA-384 of the sample is written integrity="sha384-VIXMmzNltDBd+06DN+ClmKV0+CQr8XKJ4N1sIKPNRKCJ3harSrMI9j5EsRcOtfUV" (Base64, not hex). Git object IDs are SHA-1 too, but git hash-object file differs from sha1sum file because Git hashes a blob <size> header before the content.
Digests of the sample text Hello, World! (13 bytes, no trailing newline):
| MD5 | 65a8e27d8879283831b664bd8b7f0ad4 |
|---|---|
| SHA-1 | 0a0a9f2a6772942557ab5355d76af442f8f65e01 |
| SHA-224 | 72a23dfa411ba6fde01dbfabf3b00a709c93ebf273dc29e2d8b261ff |
| SHA-256 | dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f |
| SHA-384 | 5485cc9b3365b4305dfb4e8337e0a598a574f8242bf17289e0dd6c20a3cd44a089de16ab4ab308f63e44b1170eb5f515 |
| SHA-512 | 374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387 |
Example input
Hello, World!
This sample loads automatically when you open the tool. Use Load Sample to bring it back.
Frequently Asked Questions
Use SHA-256 or SHA-512 for integrity checks and signatures. MD5 and SHA-1 are broken for security purposes and should only be used for legacy checksums. For passwords use a slow hash such as bcrypt instead.
No. Cryptographic hashes are one-way functions. Short or common inputs can still be guessed with lookup tables, which is why passwords need salted, slow hashing.
Open the File tab, choose the downloaded file and paste the checksum published by the vendor into the compare box. The tool highlights the algorithm that matches.
No. Hashing runs locally in your browser and nothing is sent to a server.
Related Tools
All Security Tools →HMAC Generator & Webhook Signature Verifier
Generate HMAC-SHA256, SHA-1 and SHA-512 signatures and verif...
Bcrypt Hash Generator & Checker
Hash passwords with bcrypt using a configurable cost factor...
PBKDF2 Key Derivation Generator
Derive keys from passwords with PBKDF2-HMAC-SHA1/256/512, ch...
HAR File Viewer & Analyzer
Open HAR files from browser DevTools to inspect every reques...
SOAP Message Viewer & Request Builder
Format and inspect SOAP 1.1 and 1.2 envelopes, read headers,...
XPath & CSS Selector Tester
Test XPath expressions and CSS selectors against your HTML o...