Text to hash

MD5
SHA-1
SHA-256
SHA-512

A quick tool for hashing text. Type or paste a string into the input box and it shows the MD5, SHA-1, SHA-256 and SHA-512 digests as hexadecimal, all at the same time. It's handy whenever you need to know "what's the SHA-256 of this string?" — verifying an integrity checksum by hand, checking an API signature or token, building a dedup key for data, generating sample hashes, or just learning and testing. Input is encoded as UTF-8 before hashing, so strings with non-ASCII characters and emoji are handled correctly and match other tools. SHA-1, SHA-256 and SHA-512 are computed with the browser's built-in WebCrypto (`crypto.subtle.digest`); only MD5, which WebCrypto does not support, is computed with a pure-JavaScript implementation. Toggle "Uppercase hex" to display the hashes in uppercase, and your choice is remembered in your browser. Each row has a "Copy" button to grab a hash with one click. Because the text you hash may contain passwords or personal data, this tool does all of its computation entirely inside your browser — your input and the resulting hashes are never uploaded, stored, or sent to a server. Note that MD5 and SHA-1 have known collisions and are not recommended for security purposes such as tamper detection or password storage (use them only for compatibility checksums). Use SHA-256 or stronger when security matters.

How to use

  1. Type or paste the text you want to hash into the input box (use "Sample" to try an example).
  2. The MD5, SHA-1, SHA-256 and SHA-512 hashes (hex) appear instantly, all at once. Toggle "Uppercase hex" if you prefer.
  3. Click "Copy" on any row to grab its hash. Nothing you type is sent anywhere.

FAQ

Is the text I type uploaded anywhere?

No. Hashing runs entirely in your browser with JavaScript / WebCrypto. Your input and the resulting hashes are never uploaded, stored, or sent to a server, so it's safe to hash strings containing passwords or personal data.

Why is MD5 computed in JavaScript?

The browser's built-in WebCrypto (crypto.subtle.digest) supports SHA-1, SHA-256, SHA-384 and SHA-512, but not MD5. So MD5 alone is computed with a pure-JavaScript implementation — the result is the standard MD5 hex digest.

Does it handle non-ASCII text and emoji correctly?

Yes. The input string is encoded as UTF-8 bytes before hashing, which matches the default of most tools and libraries (UTF-8), so text with non-ASCII characters or emoji produces the same hash as in other environments.

Is it OK to use MD5 or SHA-1?

MD5 and SHA-1 have demonstrated collision attacks and are not recommended for security uses such as tamper detection, digital signatures or password storage. Use them only for compatibility checksums, and choose SHA-256 or stronger when security matters.

Can it hash files too?

This tool focuses on hashing text (strings). If you need a checksum of an entire file, use a file-oriented hashing flow rather than pasting file contents as text (file support may be added later).