Developer Tools

Free Hash Generator

Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of any text or file. HMAC mode with a secret key, hex and Base64 output, and a verify field to compare against known hashes — all in your browser.

100% Private 5 Algorithms HMAC Support Hash Any File

Your Input

Drop a file to hash
or click to browse — any file type, no size limit shown
Text to hash
0 characters · 0 bytes Live hashing as you type

Hash Results

No hash yet

Type in the left panel or drop a file to see hashes

What Is a Hash Function?

A hash function (also called a digest or checksum) takes an input of any size — a single character, a 4 GB video file — and produces a fixed-length string of bytes. The same input always produces the same hash, and a tiny change in input produces a completely different output. That combination makes hashes useful for a huge range of tasks.

Three properties define a cryptographic hash function:

The five algorithms in this tool

AlgorithmOutput sizeStatusUse for
MD5128 bits · 32 hex chars❌ BrokenLegacy checksums, compatibility only
SHA-1160 bits · 40 hex chars❌ DeprecatedGit objects (legacy), nothing security-critical
SHA-256256 bits · 64 hex chars✅ SecureFile integrity, signatures, blockchains
SHA-384384 bits · 96 hex chars✅ SecureHigh-assurance applications
SHA-512512 bits · 128 hex chars✅ SecureLong-term integrity, password hashing inputs

The SHA-2 family (SHA-256, SHA-384, SHA-512) is the current standard. MD5 and SHA-1 are included here for compatibility and verification of legacy checksums, not for new security work.

Hex vs Base64 output

FormatLooks likeBest for
Lowercase hex9f86d081884c7d65…Checksums, most tooling, default choice
Uppercase hex9F86D081884C7D65…Windows certutil, some legacy tools
Base64n4bQgYhMfW…Shorter strings, embedding in JSON or HTTP headers

All three formats represent the same bytes. Hex is the conventional choice and is what you will find in checksum files published by software vendors. Base64 is about 25% shorter but harder to compare visually.

What is HMAC?

HMAC (Hash-based Message Authentication Code) is a construction that combines a hash function with a secret key. The result is a hash that can only be produced by someone who knows the key — which means you can prove both who sent a message and that it has not been tampered with.

Plain hashes prove only integrity. HMACs prove integrity and authenticity. Common uses:

Common use cases

Verify Downloads

Confirm a file matches the SHA-256 published by the vendor.

Sign API Requests

Generate HMAC signatures for AWS, Stripe and webhooks.

Detect File Changes

Hash a config file, then re-hash later to spot edits.

Store Password Digests

Hash a secret before storing it in a database or cache.

Deduplicate Data

Identify identical files by comparing hashes, not contents.

Cache Keys

Hash a request body to produce a stable cache key.

Short URLs

Turn long input into a fixed-length identifier.

Legacy Compatibility

Reproduce MD5 hashes expected by old systems.

Privacy and security

This hash generator runs entirely in your browser. The SHA family and all HMAC operations use the browser's native crypto.subtle API. MD5 is implemented in pure JavaScript. Nothing is uploaded, stored or transmitted — safe for API secrets, private keys, sensitive documents and anything else you would not want on someone else's server.

Frequently Asked Questions

What is a hash function?
A hash function takes an input of any size and produces a fixed-length string of bytes called a hash or digest. The same input always produces the same hash, but it is computationally infeasible to work backwards from a hash to the original input. This makes hashes ideal for verifying file integrity, storing passwords and detecting tampering.
Is this hash generator free?
Yes. It is 100% free, requires no sign-up, and runs entirely in your browser. There are no input-size limits, no watermarks and no premium tier.
Is my data sent to a server?
No. All hashing happens locally in your browser using the native Web Crypto API and a pure-JavaScript MD5 implementation. Your text and files never leave your device — nothing is uploaded, stored or transmitted.
What is the difference between MD5, SHA-1, SHA-256, SHA-384 and SHA-512?
They are different hash algorithms with different output sizes. MD5 produces 128 bits, SHA-1 produces 160 bits, SHA-256 produces 256 bits, SHA-384 produces 384 bits and SHA-512 produces 512 bits. Larger outputs offer more collision resistance. MD5 and SHA-1 are considered cryptographically broken and should not be used for security-critical work.
Is MD5 still safe to use?
No, not for security. MD5 has practical collision attacks and should never be used for digital signatures, certificates or password storage. It is still acceptable for non-security purposes such as checksums to detect accidental corruption, or for compatibility with legacy systems that require it.
What is HMAC and when should I use it?
HMAC (Hash-based Message Authentication Code) combines a hash function with a secret key. Unlike a plain hash, an HMAC can only be produced or verified by someone who knows the key. It is used for API request signing, verifying webhook payloads, and anywhere you need to prove that a message came from a trusted source and was not modified. Every algorithm here supports HMAC mode.
Can I hash a file?
Yes. Drop any file onto the drop zone or click to browse. The file is read locally and hashed with all selected algorithms. This is the standard way to verify a download matches its published checksum.
What is the difference between hex and Base64 output?
Both formats represent the same bytes, just written differently. Hex uses two characters per byte (0–9, a–f) and is the conventional format for checksums and checksum files. Base64 uses four characters per three bytes and produces a shorter, more compact string. Hex is the safer choice for anything that will be compared by a human or a checksum tool.
Why do I get a different hash for the same text?
The most common causes are: a trailing newline or space in the input, different line endings (LF vs CRLF), a different character encoding (UTF-8 vs UTF-16 vs Latin-1), or a case difference in the input text. Hashing is byte-exact — even one differing byte produces a completely different hash.
Can I verify a download using this tool?
Yes. Drop the downloaded file into the drop zone, then paste the official published hash (usually SHA-256 or SHA-512) into the verify field. If the computed hash matches the published one, the download is intact. If it differs by even one character, the file has been modified or corrupted.

Related Developer Tools

Done!