SHA-256 & SHA-512 Hash Generator
Compute SHA-256 and SHA-512 digests of any text 100% in your browser — hex and base64url, straight from the native WebCrypto API.
Packages & APIs: Native W3C WebCrypto API (crypto.subtle.digest) and ECMAScript binary ArrayBuffer utilities.
⚖️ Legal Notice: This cryptographic hashing generator is provided "as is", without warranty of any kind, express or implied, including but not limited to warranties of merchantability or fitness for a particular purpose. All cryptographic hashing calculations execute 100% locally inside your browser; zero input strings are transmitted to remote servers.
What this tool does
It computes cryptographic digests of the text you paste, live as you type: SHA-256 and SHA-512 in hex, plus the SHA-256 digest again in base64url — the exact encoding SD-JWT (RFC 9901) uses for its _sd disclosure digests. Underneath is the browser's own WebCrypto (crypto.subtle.digest), so the results are the standard digests every other correct implementation produces: same input bytes, same output hash.
How to use it
- Type or paste your text — a default string is loaded so you can see the shape of the output immediately.
- Copy the digest you need: hex for general verification, base64url when you are building SD-JWT-style digests and need the RFC's encoding rather than hex.
Where your data goes
Nowhere. Hashing happens in your browser through the native WebCrypto API — no libraries, no network, no storage. The input lives in the textarea; reload and it's gone.
Who it's for
Developers verifying that two strings are byte-identical without eyeballing them; anyone hand-building the pieces of a selective-disclosure credential (the base64url digest pane exists precisely for that); and anyone who needs to confirm that the hash computed elsewhere matches the hash of this text without installing anything.
Honest limits
- Text only, and two algorithms. This page hashes text input with SHA-256 and SHA-512. There is no key field for an HMAC, WebCrypto exposes no MD5 (and MD5 is collision-broken besides), and there is no file picker. For file checksums,
sha256sumon your own machine is the right tool. - The three panes are two hashes. The base64url pane is the SHA-256 digest re-encoded, not a third algorithm.
- Digests compare, they don't explain. A mismatch tells you the inputs differ, not where — for that, a diff tool is the right instrument.
Questions people ask
Why does the same text hash differently elsewhere?
Almost always an encoding difference. This page hashes the UTF-8 bytes of exactly what is in the textarea — a trailing newline, a CRLF instead of an LF, or a byte-order mark changes the input bytes and therefore the digest. When comparing against a file's checksum, hash the file's exact bytes with a local tool.
Why is there a base64url pane at all?
Because RFC 9901's disclosure digests are base64url strings, not hex. If you are building or checking SD-JWT structures, that pane saves you the manual re-encoding step — the digest is the same bytes, written the way the spec writes them.
Is SHA-512 better than SHA-256?
Neither is broken. SHA-512 offers a larger output and a wider collision margin; SHA-256 is faster and remains the default in most protocols. The right answer is whichever format the thing you are comparing against uses.
Back to the tools directory.