Hash Calculator and File Checksum
Free online MD5, SHA-1, SHA-256, SHA-384, and SHA-512 calculator for text and files, with checksum comparison, processed entirely in your browser.
This tool runs entirely in your browser. Your input is never uploaded.
MD5 and SHA-1 are only for legacy compatibility, not security. For passwords use Argon2, scrypt, bcrypt, or PBKDF2.
Hash algorithms
Select one or more algorithms at the same time.
Hash verification
Enter the expected hexadecimal hash to compare against the current result. Hex only, case-insensitive.
What is a hash?
A hash maps input of any length to a fixed-length digest. The same input always produces the same output, and changing even a single character produces a very different result. Common uses include file integrity checks, deduplication, database sharding, and build artifact comparison.
Hash vs. encryption
Encryption is usually reversible and restores plaintext with a key. A hash is generally irreversible and is designed to produce a stable, collision-resistant digest rather than recover the original data. The algorithms in this tool are one-way digest functions and cannot be used to recover a file or text.
Supported algorithms
This tool supports:
- MD5: 128-bit digest, common in legacy systems and file fingerprints.
- SHA-1: 160-bit digest, common in older version control systems.
- SHA-256: 256-bit digest, good for file checksums and general integrity checks.
- SHA-384: 384-bit digest, suited to higher-security requirements.
- SHA-512: 512-bit digest, suited to large files and long-term integrity protection.
Why MD5 and SHA-1 are no longer safe
MD5 and SHA-1 have practical collision attacks, where an attacker can create two different files with the same hash. They should no longer be used for digital signatures, certificates, or any security-sensitive proof. Prefer SHA-256 or stronger.
Hash is not a password storage scheme
A hash is irreversible, but "irreversible" does not mean it is suitable for storing passwords. MD5, SHA-1, SHA-256, SHA-384, and SHA-512 are fast digest algorithms and are not appropriate for protecting user passwords. Password storage should use deliberately slow, salted algorithms such as Argon2, scrypt, bcrypt, or PBKDF2.
Does the file name affect the hash?
No. The hash covers only the file content. Two files with different names but identical content produce the same hash, and renaming a file does not change the result.
Why does text encoding affect the result?
Text must be converted to bytes before hashing, and that conversion depends on the character encoding. This tool encodes text as UTF-8, so the same characters can produce different hashes under different encodings. Chinese, emoji, and multilingual text are converted to UTF-8 bytes first.
Hexadecimal and Base64 output
A hash is binary bytes at its core. Hex uses 0-9 and a-f for human-friendly verification, while Base64 is more compact and convenient for APIs and configuration. Both represent the same value, just with different encodings.
Empty input still has a hash
The empty string has a well-known, deterministic hash. For example, the MD5 of an empty string is d41d8cd98f00b204e9800998ecf8427e. This is valid output, not an error.
Privacy and security
Files and text are processed locally in your current browser. Nothing is uploaded to a server, written to the URL, or stored locally. The component releases the file reference and the worker when it is unmounted. Large files are read in chunks to avoid excessive memory use.
FAQ
Does checksum verification prove a file is trustworthy?
Only when the expected hash comes from a trusted source. If an attacker can replace both the file and its hash, verification cannot prove the file is authentic. Obtain expected hashes through an independent, trusted channel.
Will large files freeze the page?
File hashing runs in a Web Worker and processes the file in chunks with live progress, so it does not block the page. You can cancel at any time.
Why does verification only support hexadecimal?
Hexadecimal is the standard representation and makes length and character validation unambiguous. Base64 output is for copying and transport and is not used for automatic comparison to avoid encoding ambiguity.