Hash Generator

Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 checksums of any text or file, right in your browser. Verify a download, match a published checksum, or fingerprint data — instant and private, nothing uploaded.

Drop a file or click to upload — its bytes are hashed locally.
Free, no sign-up Hashed in your browser Web Crypto + local MD5

How to Generate a Hash

Three steps, all in your browser.

1

Enter text or drop a file

Type or paste text into the box, or drag a file onto the upload area. The hashes update live as you type, and a file is hashed over its exact bytes the moment you drop it.

2

Pick your algorithms

Toggle MD5, SHA-1, SHA-256, SHA-384 or SHA-512 — any combination. SHA-256 is the modern default for verifying downloads; MD5 and SHA-1 are there for matching legacy checksums.

3

Copy and compare

Copy any hash with one click and compare it to a published checksum. Need a unique identifier instead of a fingerprint? Try the UUID Generator.

Frequently Asked Questions

What is a hash and what is it used for?
A hash is a fixed-length fingerprint of some input data, produced by a one-way function: the same input always yields the same hash, but you cannot reverse the hash back into the original data. Hashes are used to verify integrity — a download page might publish the SHA-256 of a file so you can confirm your copy matches byte for byte — and to detect changes, since even a one-character edit produces a completely different hash. This tool computes the common hashes of any text you type or any file you drop, so you can compare a value against a published checksum or generate one yourself.
Which hash algorithm should I use?
For verifying downloads and general integrity checking, SHA-256 is the modern default: widely supported, fast, and with no known practical weaknesses. SHA-512 and SHA-384 produce longer digests and can be marginally faster on 64-bit systems. MD5 and SHA-1 are included because you will still encounter them in older tools and legacy checksums, but both are cryptographically broken — it is feasible to craft two different inputs with the same MD5 or SHA-1 hash. That makes them fine for non-security checks like detecting accidental corruption, but unsuitable for security decisions.
Can I hash a file, not just text?
Yes. Click the upload area or drag a file onto it, and the tool reads the file's bytes in your browser and computes the selected hashes over the exact contents — the same value you would get from a command-line tool like sha256sum or certutil. This is the usual way to verify a download. The file is read locally and never uploaded; remove it with the clear button to go back to hashing typed text. Very large files take longer and use more memory because the whole file is loaded to hash it.
Are MD5 and SHA-1 safe to use?
They are safe for non-adversarial uses and unsafe for security. Because researchers have demonstrated practical collision attacks — two distinct inputs that share the same hash — neither MD5 nor SHA-1 should be used to prove that a file is authentic, to store passwords, or in digital signatures. They remain useful for catching accidental changes: a corrupted download will almost certainly change the MD5 or SHA-1. When the goal is security rather than error-detection, choose SHA-256 or stronger. This tool offers MD5 and SHA-1 mainly for compatibility with existing checksums you need to match.
Is my text or file uploaded to a server?
No. All hashing happens entirely in your browser. SHA-1, SHA-256, SHA-384 and SHA-512 are computed with the built-in Web Crypto API, and MD5 with a small local JavaScript implementation; neither sends your data anywhere. Whether you type text or drop a file, the bytes never leave your device, nothing is logged, and there is no account or sign-up. That makes it safe to hash sensitive content, and it means the tool keeps working with no internet connection once the page has loaded.
Why does the same text give a different hash elsewhere?
Almost always it is a difference in the exact bytes being hashed. Hashes are computed over raw bytes, so an extra trailing newline, a space, a different text encoding (this tool uses UTF-8), or Windows versus Unix line endings will all change the result. When comparing against another tool, make sure both are hashing identical input — for text it is easy to include or omit a final newline. Also confirm you are comparing the same algorithm; case does not matter, as the uppercase toggle only changes display.