Skip to content
DevTrove

Security & Crypto

Hash Generator

Compute SHA-256, SHA-384 or SHA-512 hashes of text with your browser's Web Crypto API.

Runs in your browser

Hashed exactly as entered, as UTF-8. Press Ctrl+Enter (⌘+Enter on Mac) to hash.

How to use

  1. Paste or type text into the input box.
  2. Choose an algorithm: SHA-256 (selected by default), SHA-384 or SHA-512.
  3. Select Hash, or press Ctrl+Enter (⌘+Enter on Mac) in the input box.
  4. Use Copy hash to copy the hexadecimal result.

What a hash is — and what it is not

A hash is a fixed-length fingerprint of data. The same text always produces the same hash, and even a one-character change produces a completely different one, which makes hashes useful for checksums, cache keys and detecting changes.

Hashing is not encryption. A hash is one-way: it is not meant to be turned back into the original text, and there is nothing to decrypt. Short or common text can still be found by guessing, because anyone can hash candidate values and compare.

Exact text, encoded as UTF-8

Your text is converted to UTF-8 bytes exactly as entered — spaces, line breaks (including Windows CRLF line endings) and letter case all count — and hashed with your browser's Web Crypto API (crypto.subtle.digest). Nothing is trimmed or normalized, so hashes match other tools only when the bytes match.

The result is shown as lowercase hexadecimal: 64 characters for SHA-256, 96 for SHA-384 and 128 for SHA-512.

Not for passwords

SHA-256, SHA-384 and SHA-512 are fast general-purpose hashes. Do not use them on their own to store passwords; use a dedicated password-hashing algorithm such as Argon2, bcrypt or scrypt with a unique salt.

MD5 and SHA-1 are not offered because they are no longer collision-resistant. Input is limited to 5,000,000 characters.

FAQ

Is my text uploaded?
No. Hashing runs entirely in your browser using the Web Crypto API. Your text and its hash are not sent to a server, not stored, and not added to the page URL.
Why does my hash differ from another tool's?
Usually because the bytes differ: a trailing space or newline, Windows (CRLF) versus Unix (LF) line endings, or a different text encoding. This tool hashes exactly what you typed, as UTF-8.
Why can't I hash empty text?
Empty input is treated as nothing to hash, consistent with the other tools. The SHA-256 hash of empty input is the well-known value e3b0c442…b855.