What this tool does
Create SHA-256, SHA-384, or SHA-512 hashes with selected text processed locally in your browser.
Privacy behavior
Selected inputs are processed locally in your browser for this workflow. The public site may load ads and analytics; use the privacy build for privacy-sensitive workflows.
Supported workflow
Use the controls on this page, review the output in your browser, then copy or download the result.
When should you generate hashes?
Hashes are useful for checksums, API signing examples, cache keys, debugging, and comparing whether text content changed.
Hashes are one-way digests, not encryption. This tool does not store input and does not send generated hashes anywhere.
How SHA hashing works
SHA-256, SHA-384, and SHA-512 belong to the SHA-2 family defined in FIPS 180-4. Each takes an input of any length and produces a fixed-size digest, a short string that changes completely if even one byte of the input changes. SHA-384 is not an independent algorithm; it runs the same 512-bit compression function as SHA-512 with different initial constants, then truncates the internal state to 384 bits before output.
This generator computes digests with the browser SubtleCrypto interface, part of the Web Crypto API, by calling crypto.subtle.digest() with the selected algorithm name and the UTF-8 bytes of the text entered. SubtleCrypto is only available in a secure context, meaning an HTTPS page or localhost during development. On a plain HTTP origin the API is undefined and the tool reports that Web Crypto is unavailable instead of silently failing.
Digest length is fixed by the algorithm, not by the input. A one-character input and a 10,000-character input hashed with the same algorithm always produce a digest of the same length, shown here as lowercase or uppercase hexadecimal.
| Algorithm | Digest size | Hex length | Collision-resistant | In this tool |
| MD5 | 128 bits | 32 characters | No, broken since 2004 | Not available |
| SHA-1 | 160 bits | 40 characters | No, broken since 2017 (SHAttered) | Not available |
| SHA-256 | 256 bits | 64 characters | Yes, no known practical attack | Available |
| SHA-384 | 384 bits | 96 characters | Yes, no known practical attack | Available |
| SHA-512 | 512 bits | 128 characters | Yes, no known practical attack | Available |
Being broken for collision resistance means it is practical to deliberately construct two different inputs that share the same digest. It does not mean an attacker can take an existing hash and recover the original text; preimage resistance is a separate property, and both MD5 and SHA-1 still resist that in practice. For an accidental-corruption checksum, where nobody is deliberately crafting a colliding file, MD5 and SHA-1 still catch random bit errors reliably. For anything security-relevant, such as confirming a file was not tampered with or signing data, SHA-256 or a stronger algorithm is the safer choice, which is why MD5 and SHA-1 are not offered here.
Worked examples
These digests were generated with SHA-2 and can be reproduced with this tool or with a standards-compliant implementation such as openssl dgst or a language crypto library.
| Input | Algorithm | Digest (hex) |
hello | SHA-256 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
Hello | SHA-256 | 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969 |
| empty string | SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
hello | SHA-384 | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f |
hello | SHA-512 | 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 |
Comparing the first two rows shows the avalanche effect: capitalizing one letter turns hello into Hello and changes every character of the SHA-256 output. The two digests share no visible pattern, which is intentional, since a hash function that produced similar output for similar input would be useless for checksums or integrity checks. The empty-string row is a common sanity check when testing a new hashing setup, because every conforming SHA-256 implementation must return that exact value for empty input.
Frequently Asked Questions
Is this Hash Generator free?
Yes. You can generate and copy SHA hashes without signup.
Is my text sent to ConvertUnlimited servers?
No server-side upload endpoint is used for hashing; text is processed locally in your browser through the Web Crypto API.
Which algorithms are supported?
SHA-256, SHA-384, and SHA-512, computed with the browser SubtleCrypto interface. MD5 and SHA-1 are not offered.
Can hashes be reversed?
No. SHA-2 digests are one-way; there is no supported method to recover the original text from a digest alone.
Does it support Unicode?
Yes. Text is encoded as UTF-8 before hashing, so emoji, accented letters, and non-Latin scripts are hashed correctly.
Why do SHA-256, SHA-384, and SHA-512 outputs have different lengths?
Digest length is fixed by the algorithm rather than the input: 64 hex characters for SHA-256, 96 for SHA-384, and 128 for SHA-512, regardless of how long or short the source text is.
Can I hash a file instead of pasting text?
Not directly. This tool takes text input only; hashing a binary file requires a different workflow that reads file bytes rather than pasting content into a textarea.
Why did changing one character completely change the hash?
This is the avalanche effect. SHA-2 is designed so a one-bit change in the input flips roughly half the output bits, which is why hello and Hello produce SHA-256 digests that share no visible pattern.
Privacy Policy
ConvertUnlimited does not provide a server-side upload endpoint for this hashing flow. Text input is processed locally in your browser.
Terms of Use
ConvertUnlimited is provided as is. Do not treat hashes as password storage guidance or encryption.
Trust and privacy
Files are processed locally where supported. Review the Trust Center for the processing model and the Privacy Policy for public-site privacy boundaries.