Generate MD5, SHA-1, SHA-256, and other hash values from text.
Enter text above to generate hash values using MD5, SHA-1, SHA-256, SHA-384, and SHA-512 algorithms.
100% Private — Your Data Never Leaves Your Browser
All hashing is performed entirely in your browser using the Web Crypto API and a local MD5 implementation. No data is sent to any server, stored, or tracked.
A cryptographic hash function must satisfy four properties: preimage resistance (cannot reverse a hash to find the original input), second preimage resistance (cannot find a different input with the same hash), collision resistance (cannot find any two inputs with the same hash), and the avalanche effect (a tiny input change produces a completely different output). SHA-256 and SHA-512 satisfy all four properties with strong security margins. MD5 and SHA-1 fail the collision resistance requirement due to known attacks.
The Web Crypto API (crypto.subtle.digest) is a browser-native interface to the operating system's cryptographic library. When you compute SHA-256 in the browser, it uses the same optimized C/C++ code that powers TLS connections and certificate verification. This makes it significantly faster and more reliable than JavaScript implementations. The API is asynchronous because some operations may involve hardware acceleration or secure enclaves. Our tool uses this API for all SHA variants and supplements it with an inline MD5 implementation since the Web Crypto API does not support MD5.
Hash functions produce raw binary data (sequences of bytes), which is then converted to hexadecimal for human readability. Each byte (8 bits) becomes two hex characters (4 bits each). This is why a 128-bit MD5 hash produces 32 hex characters, a 256-bit SHA-256 hash produces 64 hex characters, and a 512-bit SHA-512 hash produces 128 hex characters. Hexadecimal uses the digits 0-9 and letters a-f (or A-F), and the case of the letters does not affect the underlying value.
Hashing and encryption serve fundamentally different purposes. Encryption is a two-way operation: you encrypt with a key and decrypt with a key to recover the original data. Hashing is a one-way operation with no key — you cannot reverse a hash to recover the input. Encryption is for protecting data confidentiality (like HTTPS), while hashing is for verifying data integrity and authenticity (like checksums and digital signatures). Hashing is also used in password storage, but only with specialized algorithms like bcrypt that add salting and key stretching to resist brute-force attacks.
Compare the hash of a downloaded file against the checksum published by the developer to verify the file was not corrupted or tampered with during download.
Understand how passwords are hashed before storage. Note: use bcrypt/scrypt/Argon2 for real password storage, not raw hashing. This tool demonstrates the hash computation step.
Hash the content of a document or message, then encrypt the hash with a private key to create a digital signature that proves authenticity and integrity.
Many APIs (AWS, Stripe, etc.) require signing requests by hashing a canonical string with a secret key using HMAC, which builds on these hash algorithms.
Use hashes as content identifiers to detect duplicate files, database records, or data blocks. Identical content produces identical hashes for fast comparison.
SHA-256 is the foundation of Bitcoin mining and transaction identification. Each block contains the SHA-256 hash of the previous block, creating an immutable chain.
Generate deterministic cache keys from request parameters, query strings, or data content. MD5 and SHA-1 work well for non-security cache scenarios.
Hash source code, build artifacts, or configuration files to create unique version identifiers for reproducible builds and deployment verification.
Encode and decode Base64 strings and files.
Generate strong, random passwords with customizable options.
Decode and inspect JSON Web Tokens to view payload and header.
Validate JSON data and get detailed error messages with line numbers.
Format, validate, and beautify JSON data instantly.
Generate random UUIDs (v4) instantly.
Encode and decode URLs and query parameters.

Founder & Developer of FreeKit
I personally designed and built every tool on this website — including the one you just used. If these tools have been helpful, I can build custom tools, automation workflows, websites, and SEO solutions tailored to your business.
Remote: Available Now
United States & European company
USD $25/hour or USD $1,500/month
On-site: Open to Relocation
With work visa & travel support