TheDevTab
Tools

Search tools and guides

Ctrl K

Keyboard shortcuts

Ctrl K
Search tools and guides
?
Show keyboard shortcuts
Escape
Close menus and dialogs

Hash Generator

Compare five digests or produce HMAC values in your chosen output format.

Runs in your browser. Nothing is uploaded.

MD5 (checksum)
SHA-1
SHA-256
SHA-384
SHA-512

What a text hash is

A hash is a fixed-length digest calculated from input text. The same bytes produce the same digest, while a small change such as an extra space, different capitalization, or a line break produces a different value. This makes hashes useful for comparing downloads, checking copied configuration, and matching a value against a published checksum.

This page calculates five common digests together for text or a dropped file. HMAC mode signs the same input with a key you paste and shows HMAC-SHA-1 through HMAC-SHA-512. HMAC-MD5 is not offered. The generated values can be copied individually or downloaded as hashes.txt.

MD5, SHA-1, and SHA-2

MD5 is labeled as a checksum because it remains common in legacy manifests and compatibility workflows, but it is not collision-resistant. SHA-1 is also a legacy algorithm with known collision weaknesses. They can help identify which digest an older system expects, but they should not be selected for new security-sensitive designs.

SHA-256, SHA-384, and SHA-512 belong to the SHA-2 family and are the stronger options offered here. Choose the algorithm required by the protocol or publisher. A longer digest is not a substitute for checking that you used the correct input encoding and exact text.

Checksums are not password storage

A checksum page is useful for integrity checks, not for storing passwords. Password storage needs a dedicated slow, salted password hashing scheme such as Argon2id, scrypt, or bcrypt, selected and configured by the application. Do not paste a real password into a general-purpose checksum tool as part of a password system.

Hashes are also not encryption. They are designed to be one-way digests, so they do not provide a key that can recover the original text. Treat a digest as sensitive when it can help confirm a secret or identify private content.

Compare exact input

Before comparing a digest, check leading and trailing spaces, newline style, Unicode characters, and whether the source includes a final newline. The page rejects an empty submission by default so a blank click is visible, even though hash algorithms can define digests for empty text. All calculation, copying, and downloading happen locally in your browser. For related local transformations, see Base64 or URL Encode/Decode.

FAQ

Can I hash a local file without uploading it?

When you drop a file, its bytes are hashed in your browser. The file and any HMAC key are never uploaded, and TheDevTab never receives them.

Which hashes does this page generate?

Hash mode generates MD5, SHA-1, SHA-256, SHA-384, and SHA-512 for text or file bytes. HMAC mode provides HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 and requires a non-empty key; HMAC-MD5 is not offered.

Are MD5 or SHA-1 password hashes?

No. MD5 and SHA-1 are available here for compatibility and checksum or integrity comparisons, not password storage. They are not suitable for modern security-sensitive hashing, so use a dedicated password hashing scheme such as Argon2id, scrypt, or bcrypt.

Are SHA-1 and SHA-2 interchangeable?

No. SHA-1 is a legacy algorithm with known collision weaknesses, while SHA-256, SHA-384, and SHA-512 are SHA-2 algorithms with different digest values. Use the algorithm required by the receiving system and prefer SHA-256 or stronger for new checksum work.

Does whitespace affect a hash?

Yes. Text hashing uses the exact UTF-8 bytes produced from the input, including spaces, line breaks, capitalization, and Unicode characters. Do not trim or normalize a value unless your protocol requires it.

Can I hash an empty string?

The underlying algorithms can hash empty input, but the page rejects blank input until Hash empty input is enabled. That makes an accidental blank submission visible while still allowing the standard empty-input digests.