Hash Generator Online
Compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes instantly in your browser.
When a hash generator is the right tool
A hash turns a string into a short, fixed-length digest. The same input always produces the same output, and a small edit produces a completely different digest. That is useful when you want a checksum, want to compare two strings without sending the original, or need to fill in a SHA-256 field a tool asked for. This page computes five common digests of the text you paste: MD5, SHA-1, SHA-256, SHA-384, and SHA-512.
The work stays in your browser. A hash is not encryption, and a plain MD5 or SHA digest is not a way to store a password. If you have a file rather than a string, use File Hash. If you need a keyed MAC, use the HMAC Generator. If you need a password hash, use bcrypt or the function your system already specifies.
Use cases
Getting a checksum of a short string
You may need to confirm that a copied token, a config value, or a test fixture still matches a known digest. Paste the text, choose Compute Hash, and compare the hex value. All five algorithms are produced in one pass so you can copy the one you were asked for.
Checking UTF-8 text, not just ASCII
The input is encoded as UTF-8 before it is hashed, so characters outside ASCII are not silently treated as Latin-1. If another tool disagrees with a result, it is often because that tool hashed a different byte encoding or added a trailing newline that you did not paste.
Copying a digest in upper- or lowercase hex
Some forms expect uppercase hex. The Uppercase box only changes how the result is shown and copied; it does not recompute anything. There is no Base64 output on this page.
How hashing works
The conversion is not live. When you choose Compute Hash, MD5 is computed in the page and the four SHA digests are computed in parallel with crypto.subtle.digest. Each digest is shown as hexadecimal, with its bit length (128, 160, 256, 384, or 512) as a label. You can copy one value at a time. Editing the input clears the previous results so you do not copy a stale digest. An empty input disables the button.
MD5 and SHA-1 are provided because they still appear in older checksums and docs. They are not suitable for new integrity or password uses. Prefer SHA-256 or SHA-512 when you have a choice.
hello
MD5 5d41402abc4b2a76b9719d911017c592
SHA-256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824The string hello (with no trailing newline) has this MD5 and SHA-256. If your result differs, check for a hidden space or line break in the input. Load nothing automatically; this page has no sample button, so a short known string is a good first check.
What this tool does not do
It does not hash a file, compute HMAC, produce a Base64 digest, or run SHA-3. It does not salt the input or slow the function down for password storage. Nothing is sent to a server. Very large pastes can still be hashed, but they may make the tab feel slow; a file is usually a better input at that size, via File Hash.
How to use Hash Generator
- Paste or type the text you want to hash. The character count is shown above the input.
- Choose Compute Hash to produce all five digests.
- Optionally turn on Uppercase if you need uppercase hex, then copy the algorithm you need.
- Use Clear to remove the input and the results.
Encoding a string so it can be decoded later is a different job; use Base64 Encode / Decode for that.
Frequently asked questions
Which algorithms does this page compute?
All five at once: MD5 (128-bit), SHA-1 (160-bit), SHA-256, SHA-384, and SHA-512. There is no SHA-3, SHA-224, or BLAKE option, and you cannot compute a single algorithm by itself. SHA-1 and the SHA-2 family use the browser’s Web Crypto API. MD5 is computed in JavaScript in the page, because Web Crypto does not provide MD5.
Is the text hashed as UTF-8?
Yes. SHA-* hashes are computed from UTF-8 bytes produced by TextEncoder. MD5 uses the same UTF-8 text (via encodeURIComponent) before the digest. Characters outside ASCII are not hashed as Latin-1. The character count above the input is the JavaScript string length, not the UTF-8 byte length.
What does the Uppercase option change?
Only the display and the copied text. The digest is always computed as lowercase hexadecimal, then shown in uppercase if the box is checked. It does not recompute the hash and it does not change the bytes that were hashed.
Can I hash a file, or get a Base64 digest?
Not on this page. The input is a text area, and the output is hexadecimal only. To hash a file in the browser without uploading it, use File Hash. For an HMAC (a hash with a key), use the HMAC Generator. Base64 encoding of a string is a different job and lives on the Base64 page.
Is a hash a way to store a password?
A plain MD5 or SHA digest is not a password hash. It is fast and not salted. If you need a password hash, use a purpose-built function such as the bcrypt tool on this site, or whatever your system already requires. Do not paste real passwords here to “see the hash”.
Is my text sent to a server?
No. Hashing runs in your browser when you choose Compute Hash. Closing the tab discards what you pasted. Do not paste secrets if you would not be comfortable with them sitting in memory on this device.
Is there a size limit?
There is no server-imposed limit, because nothing is uploaded. Short strings are instant. A very large paste can make the tab feel slow; in that case, hash a file with File Hash or use a local tool.
Related tools and guides
References
- RFC 1321 defines MD5. SHA-1 and SHA-2 (SHA-256, SHA-384, SHA-512) are specified separately. MD5 and SHA-1 are not suitable for new security uses; they remain common for legacy checksums.
- The SubtleCrypto.digest API is what this page uses for SHA-1 and SHA-2. MD5 is implemented in the page itself.
- A hash is a one-way digest, not encryption. You cannot “decrypt” it, and a fast unsalted hash is not a password storage method.