Free & Private Online Browser Utility

Hash Generator

A cryptographic hash function maps an input of arbitrary length to a fixed-length digest. This tool computes five hash algorithms. SHA-256, SHA-512, SHA-384, and SHA-1 are computed through the Web Crypto API using crypto.subtle.digest, which processes the input in the browser's native C++ layer. MD5 is computed by a pure-JavaScript implementation because the Web Crypto API does not expose MD5 (it is considered cryptographically broken for signature purposes, though still useful for checksums). File hashing is implemented: when you drop or select a file, the tool reads it with FileReader.readAsArrayBuffer and passes the resulting ArrayBuffer directly to digestBuffer so the binary content is hashed without any text encoding step. Text input is encoded to UTF-8 bytes by TextEncoder before hashing. All computation runs in browser RAM and no file content or text is transmitted to any server.

How to use

  1. Step 1: Type Text or Drop a File

    Type or paste any string into the text area, or drag a file onto the file drop zone below the text area. When a file is selected, the tool displays its name and size and hashes the raw binary content.

  2. Step 2: Read the Digest Row

    All five algorithm rows update automatically as you type. Each row shows the algorithm name and its lowercase hex digest.

  3. Step 3: Copy Individual or All Digests

    Click the copy icon on any row to copy that single digest. Use Copy All to copy all five digests as formatted NAME: hex lines.

Options explained

Text Input

Accepts any Unicode string. The text is encoded to UTF-8 bytes with TextEncoder before being hashed.

When to use: Use for verifying string checksums, generating content fingerprints, or testing hash function output against known test vectors.

File Hashing

Reads the selected file with FileReader.readAsArrayBuffer and hashes the raw binary buffer using digestBuffer via crypto.subtle.digest.

When to use: Use to verify a download checksum or confirm that a file has not been modified since a hash was recorded.

Uppercase Toggle

Converts all hex characters in the output from lowercase to uppercase.

When to use: Use when a checksum comparison system requires uppercase hex notation.

Worked example

Input: ToolVerve

Output: SHA-256: dde65c6b417239612be0efa1b9306fbedeb2ba3c7f92506f1b95017e692f9ddf SHA-512: 083517913d93b58853f7d9295f82e893a646ad575e5992fecc6b403a858ee0a5fb9d60fa8c433a39569abfee78ef61d85e5f11948cd5a43027d229b9bb4570ec SHA-384: e502356e61ceedc27f669df65e85394f0ab31a4c8754d0ec08f6276194843dc753f2375d822e6b0fc847966639f6b005 SHA-1: 3a477afa7b66942a054c32f35e0bacb4107590e6 MD5: f466cd362444e06288ec51b807185435

Digests computed for the exact string ToolVerve using the tool's own engine (crypto.subtle.digest for SHA algorithms, pure-JS implementation for MD5).

Tips & limits

  • SHA-1 and MD5 are no longer safe for security-sensitive applications such as digital signatures or password storage. They remain useful for non-security checksums like verifying file integrity.
  • A single-character difference in the input produces a completely different hash output. This property is called the avalanche effect.
  • Hashing is one-way: you cannot recover the original input from a hash digest. If you need reversible encoding, use Base64 instead.

Common problems

File hash takes a long time on large files

FileReader.readAsArrayBuffer reads the entire file into memory before hashing. Very large files (above several hundred megabytes) may be slow on low-memory devices.

SHA-1 result does not match the reference value

Verify the encoding: this tool hashes the UTF-8 byte representation of the string. Some reference implementations hash the ASCII bytes, which differs for non-ASCII characters.

Frequently Asked Questions (FAQ)

Which algorithms does this tool implement?

SHA-256, SHA-512, SHA-384, and SHA-1 are computed via the Web Crypto API. MD5 is computed by a pure-JavaScript implementation because the Web Crypto API does not support MD5.

Does this tool hash files or only text?

Both. Text input is encoded to UTF-8 with TextEncoder. For files, the tool reads the raw binary content with FileReader.readAsArrayBuffer and hashes the buffer directly.

Is SHA-256 safe for password storage?

No. SHA-256 is a general-purpose hash function designed to be fast, which makes it unsuitable for passwords. Password storage requires slow, memory-hard functions such as bcrypt, scrypt, or Argon2.

What is the difference in output length between algorithms?

SHA-256 produces 64 hex characters (256 bits). SHA-384 produces 96 characters. SHA-512 produces 128 characters. SHA-1 produces 40 characters. MD5 produces 32 characters.

Files never leave your device; calculations and transformations happen locally.

Last reviewed: 2026-10-18 · Build: deb3bc0