Generate cryptographic hashes from any text
Choose an algorithm (MD5, SHA family, SHA3, RIPEMD160) and copy the digest instantly

A hash turns any text into a fixed-format fingerprint (also called a digest). It is designed to be fast to compute and extremely hard to reverse. This tool computes popular digests like MD5, SHA-1, SHA-2 (SHA-224/256/384/512), SHA-3, and RIPEMD-160.
You might use it to compare two texts, verify file integrity, create cache keys, or prepare values for systems that expect a digest. Conceptually, you can think of it as:
Digests here are computed locally in your browser. If you enable “share with results”, the plaintext may be included in the URL. For sensitive inputs (passwords, API keys, secrets), it’s safer to avoid sharing results.
If you need secure random strings (instead of hashing text), pair this with our Token Generator.
Let your input be the string . The tool computes a digest for each algorithm:
Since different hash functions use different internal rules, the resulting digests are different — that’s why showing all 8 is helpful.
The underlying digest is a sequence of bytes. “Encoding” is just how those bytes are displayed. You can think of the same digest bytes being represented as:
If you’re matching a system output, the most common mismatch is the encoding, not the algorithm.
Background: You want to confirm two strings are identical without eyeballing them.
Inputs: and .
How to use the result: If the digests match (same algorithm + encoding), the inputs match.
Background: You cache an API response keyed by a long query string.
Input: m = \text{"/search?q=indigo+hoodiesort=price"}.
Result concept: .
How to use the result: Use as the cache key instead of the full string.
Background: A system gives you an expected hash for content.
Input: the file contents (as text) pasted into this tool.
Result concept:
How to use the result: Compare your computed digest to the expected value.
Background: You want to embed a digest in a URL or filename.
Setting: choose Base64URL encoding.
Result concept: .
How to use the result: Base64URL avoids characters that often need escaping.
For security-sensitive work (like password hashing), using the right approach matters. General-purpose digests like MD5 or SHA-1 are not recommended for new security designs. If you’re unsure, treat this tool as a compatibility and debugging utility.
Confirm two identifiers match without staring at long strings.
Reproduce a server digest locally to find mismatched settings.
Use Base64URL when you need fewer reserved characters.
Switch to Binary to visualize bits for teaching or debugging.
Match older systems that still rely on MD5 or SHA-1 outputs.
Shorten long inputs into stable keys using SHA-256 or SHA-512.
If what you really need is a random secret (not derived from input text), use our Token Generator.
A hash function maps an input message to a fixed-size output. We can describe this as:
Where is an arbitrary-length message and the digest is bits. For example, SHA-256 outputs bits.
In this tool, “Digest encoding” converts digest bytes into a readable string format. Conceptually:
The digest is the same underlying value; different encodings just change how it is represented.
A “collision” means two different inputs have the same digest. Good modern algorithms make collisions extremely unlikely for typical use. Older ones (especially MD5 and SHA-1) have known weaknesses, so they should be used only for legacy compatibility.
Most confusion comes from mixing these ideas. This tool focuses on hashing (and displaying the result in different encodings).
If you have an expected digest and you compute the same digest from your input, the input likely hasn’t changed. Conceptually:
The most common reasons are: different algorithm, different output encoding (Hex vs Base64), or hidden characters in the input (like a trailing newline). Make sure you’re comparing the same and the same encoding.
No. Hashing is one-way: . Encryption is reversible with a key: and .
For modern general use, SHA-256 is a solid default. Use MD5 or SHA-1 only if you must match a legacy system. SHA-512 can be useful when you need a longer digest.
Base64URL is a URL-safe variant of Base64. It replaces characters that can be awkward in URLs and removes padding. Conceptually it’s still but with URL-safe substitutions.
It’s not recommended. Password storage should use a slow, salted password hashing algorithm designed for that purpose. Fast digests like are easy to brute-force with dictionaries.
If the algorithm and encoding are the same and you see , then it is overwhelmingly likely that . In practice, people treat a match as “identical.”
Binary displays the digest at the bit level. For SHA-256, the output length is bits, so you’ll see a 256-character bit string.
If you want deeper background on algorithms and security recommendations, these are good starting points:
Need secure random values rather than hashes? Use our Token Generator.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.