SHA-512 is a one-way cryptographic function specified in NIST FIPS 180-4 that compresses any sequence of bytes into a fixed 512-bit digest, normally displayed as a 128-character lowercase hexadecimal string or as standard padded Base64. When you generate a SHA-512 password hash, you are asking the algorithm to fingerprint your input into exactly 64 bytes that look random but are fully deterministic: the same input always produces the same digest, and a single changed byte produces a completely different digest. The SHA-512 Hash Generator runs the full FIPS 180-4 operation on exact UTF-8 text or local file bytes in the browser, returns all 64 bytes as 128 lowercase hex characters and as padded Base64, and never uploads the selected message or file. Empty text is a valid message with a published digest starting cf83e135, so leaving the field blank produces a real hash rather than an absent one. The output is a fingerprint, not an encrypted password; nothing in the digest lets you recover the original text.

What SHA-512 actually produces
The 512 in SHA-512 names the length of the output digest in bits, not any property of the input message. The algorithm uses 64-bit words, pads the message into 1024-bit blocks, expands each block to an 80-word schedule, and updates eight 64-bit state values whose final concatenation is the 512-bit result. Because every input byte changes the schedule and the state, invisible changes — a trailing space, a Unicode normalization step, a byte-order mark at the start of a file, or a different line ending — produce a completely different digest. The same byte-for-byte input always produces the same digest; there is no random salt inside the algorithm itself.
| Variant | Output bits | Hex length | Defined in | Initialization | Common use |
|---|---|---|---|---|---|
| SHA-512 | 512 | 128 | FIPS 180-4 | Standard IV | Integrity verification, large identifiers |
| SHA-512/256 | 256 | 64 | FIPS 180-4 | Different IV | Faster 256-bit digest on 64-bit hardware |
| SHA-512/224 | 224 | 56 | FIPS 180-4 | Different IV | Truncated SHA-2 variant |
| SHA-384 | 384 | 96 | FIPS 180-4 | Different IV | Protocols that require a 384-bit digest |
The rows show the officially defined SHA-2 members built on the same compression function as SHA-512. Each row is a distinct algorithm with its own initialization values and its own published test vectors, so the exact figures above come from the FIPS 180-4 specification and not from any computation performed on this page.
How to generate a SHA-512 hash in your browser
- Open the SHA-512 Hash Generator in your browser.
- Choose the input mode: UTF-8 text or local file. Paste the exact string, or select the exact file you want to fingerprint. Preserve every byte, including trailing whitespace, line endings and any byte-order mark.
- Trigger the calculation. The browser performs the SHA-512 operation locally, so neither the message nor the file is uploaded to the application server.
- Read the 128-character lowercase hex result and the padded Base64 result. Both represent the same 64 digest bytes.
- Copy the representation your consumer expects: full 128-character hex for most file and integrity workflows, or padded Base64 when the next step is a JSON payload, a JWT segment, or a system that already speaks Base64. Do not manually truncate hex to 64 or 96 characters.
- Compare every character against a trusted reference published by the producer of the artifact or by a NIST/RFC source. Treat the trusted reference as a separate object from the artifact itself, and label the stored value explicitly as full SHA-512.
When SHA-512 is right for a password hash
The phrase "SHA-512 password hash" is genuinely ambiguous, and that ambiguity matters. If you are hashing a password to store it in a database, raw SHA-512 is the wrong tool. SHA-512 is intentionally fast, and that speed makes offline guessing cheap against any leaked database: a single modern GPU can compute billions of SHA-512 evaluations per second. Real password storage schemes combine a unique per-user salt with a memory-hard, intentionally slow function. Argon2id is the current default, with scrypt and bcrypt as widely accepted alternatives that also require tuned work parameters. The SHA-512 Hash Generator explicitly adds no salt, no stretching, no account context and no server-side secret pepper, so the value it produces cannot stand on its own as a stored password hash.
Where the generator is the right tool is when "password" really means a shared secret string or passphrase that you need to fingerprint for an integrity check, a configuration audit, a comparison with a published vendor digest, or a deterministic identifier inside a build script. Software release notes, package managers, container registries and configuration manifests frequently publish SHA-512 digests of artifacts and secrets for verification, and that is exactly the workflow the tool supports. The digest also works as the inner hash for HMAC-SHA-512, where the shared secret provides the authentication that SHA-512 alone cannot.
Reading the 128-character hex and Base64 output
A SHA-512 digest is 64 bytes. Each byte ranges from 0 to 255, and two lowercase hexadecimal characters cover that range, so the canonical hex representation is exactly 128 characters with no separators, prefixes or line breaks. The padded Base64 representation encodes the same 64 bytes using a 64-character alphabet and adds padding so the length is a multiple of 4; for 64 bytes the padded Base64 output is 88 characters. The two strings describe the same digest and are interchangeable, provided you decode the Base64 back to raw bytes before any byte-level comparison. Comparing a hex string against a Base64 string character by character will always look different even when they describe identical digests.
For a concrete reference, the SHA-512 digest of the three-byte ASCII string abc is the 128-character hex string starting ddaf35a193617aba and continuing for the full 128 characters. That value is one of the published FIPS 180-4 test vectors, and the generator reproduces it independently. Reproducing a known vector is the cheapest way to confirm that the tool you are using has implemented the algorithm correctly before you trust it on a real artifact.
What changes the SHA-512 digest
Every byte of the input contributes to the final digest, so the most common verification failures are caused by invisible changes to the message rather than by a wrong algorithm. Adding or removing a single trailing newline before hashing changes the digest. Inserting or removing a byte-order mark at the start of a UTF-8 file changes the digest. Decoding a binary file as text through a character-set decoder before hashing can rewrite non-text bytes and change the digest. Re-encoding input as UTF-16 before SHA-512, which some legacy tools do by default, changes every non-ASCII byte and therefore changes the digest. Hashing a manually truncated SHA-512 hex string when the consumer actually expects SHA-512/256 or SHA-384 produces a short value that no longer matches a full-length reference. Comparing a freshly generated digest against a reference copied from a screen that wrapped the hex across two lines silently inserts a line-break character into the comparison and fails the check.
Verifying against a trusted reference
Verification is a comparison between two independent artifacts: the file or string you just hashed, and a reference digest that arrived through a channel you trust. SHA-512 makes verification easy only when both sides agree on every byte, which is why the comparison is character-by-character rather than approximate. Eight golden test cases in the generator cover the empty sequence, abc, the FIPS multi-block message, punctuation changes, UTF-8 input, arbitrary binary bytes and common English text; the expected values are checked against NIST and RFC sources and independently reproduced with OpenSSL. If a vendor publishes a SHA-512 digest next to a download, fetch the file over a connection you trust, hash it locally with the generator, and compare every hex character before treating the file as authentic. A longer digest does not repair an untrusted reference source; the expected value must still arrive through an authenticated path, and HMAC-SHA-512 or a public-key signature is the right construction when the question is who produced the file rather than whether its bytes changed in transit.
Related reading: How to Convert Words to Binary the Right Way.
Related reading: Bulk Password Generation: A Secure Local Workflow.