Free online hash generator. Compute MD5, SHA-1, SHA-256, SHA-384, SHA-512 and HMAC hashes from text or files in your browser — nothing uploaded.
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text or file, right in your browser. This free hash generator runs entirely client-side using the Web Crypto API, so your data is never uploaded. Compute multiple algorithms at once, produce keyed HMAC digests, switch between lowercase, uppercase, and Base64 output, compare a hash against an expected value, and — for files — check the SHA-256 against VirusTotal's known-malware database before you run anything.
This free hash generator turns any text or file into a fixed-length cryptographic hash using the browser's native Web Crypto API. Every calculation runs 100% client-side — your input never leaves your device, nothing is uploaded to a server, and no copy of your data is stored. That makes it safe for hashing sensitive strings, config secrets, or local files you would not want to transmit. You can compute several algorithms at once, switch between lowercase, uppercase, and Base64 output, and generate keyed HMAC digests when you need authentication rather than a plain checksum.
Not all hash algorithms are appropriate for the same job. The short version: MD5 and SHA-1 are cryptographically broken and must not be used where collision resistance matters; SHA-256 and SHA-512 are the current recommended defaults.
| Algorithm | Output size | Status | Use it for |
|---|---|---|---|
| MD5 | 128-bit | Broken — practical collision attacks since 2004 | Non-security checksums, legacy interop, ETags, cache keys |
| SHA-1 | 160-bit | Broken — SHAttered collision demonstrated in 2017 | Legacy git object IDs, deprecated TLS; avoid for anything new |
| SHA-256 | 256-bit | Recommended | File integrity, digital signatures, blockchain, SRI, certificates |
| SHA-384 | 384-bit | Recommended | Higher-assurance signatures, TLS 1.3 cipher suites |
| SHA-512 | 512-bit | Recommended | Large-file integrity, high-security signing; often faster than SHA-256 on 64-bit CPUs |
A collision is when two different inputs produce the same hash. For MD5 and SHA-1, attackers can now manufacture collisions on purpose, which is why they fail for signatures, certificates, or anything an adversary might tamper with. They are still fine as fast, non-adversarial checksums (deduplication, cache keys, verifying an accidental — not malicious — file change).
A raw MD5/SHA-256 digest of a password is not secure password storage, no matter which algorithm you pick — general-purpose hashes are designed to be fast, which is exactly what helps an attacker brute-force them. Password storage needs a deliberately slow, salted, memory-hard function such as bcrypt, scrypt, or Argon2. This tool intentionally does not offer those; use it for integrity and signing, not for hashing user passwords.
A plain hash answers "did this data change?" An HMAC (Hash-based Message Authentication Code) answers "did this data change and did it come from someone who knows the shared secret?" Enable HMAC mode and supply a secret key, and the tool produces a keyed digest (e.g. HMAC-SHA-256) that cannot be recomputed by anyone who does not hold the key. HMAC is what signs API requests (AWS Signature, webhook signatures), validates JWTs, and protects message integrity on the wire. For a plain checksum you do not need a key; for authentication you do.
A salt is a unique random value added to each input before hashing so that identical inputs produce different digests. Salting defeats precomputed rainbow tables and stops an attacker from seeing that two records share the same value. Salting is essential for password hashing (handled by bcrypt/scrypt/Argon2, which salt automatically) — but it is generally not wanted for file or content integrity, where you specifically need the same file to always produce the same hash so it can be compared across systems.
When you hash a file, the tool can take the resulting SHA-256 and check it against VirusTotal's malware-hash intelligence — letting you see whether a binary's fingerprint is already known-bad before you run it. Only the hash is sent for the lookup, never the file itself, so the client-side privacy guarantee holds. Commodity "hash a string" sites do not offer this; it is one of the page's real differentiators alongside the no-upload design.
Cryptographic hash functions are mathematical algorithms that convert input data of any size into a fixed-size string of characters, called a hash or digest. These functions are fundamental to modern cybersecurity and are used in:
These properties make hash functions essential security tools, but different algorithms provide varying levels of security and performance.
MD5 (128-bit)
SHA-1 (160-bit)
SHA-256 (256-bit)
SHA-512 (512-bit)
SHA-3 (256-bit)
bcrypt
scrypt
Never use general-purpose hash functions (MD5, SHA-256) for password storage - always use specialized password hashing algorithms with proper salting and work factors.
File hashing is a cornerstone of malware analysis and incident response. Security researchers and analysts use cryptographic hashes to:
Every malware sample has a unique hash fingerprint (unless it's polymorphic). When you hash a suspicious file, you can:
Several free services accept file hashes for malware lookup:
VirusTotal
MalwareBazaar (abuse.ch)
Hybrid Analysis
Use Multiple Algorithms
Understand Limitations
Combine with Behavior Analysis
Privacy Considerations
When investigating a suspicious file:
Hash-based detection remains an essential tool for security teams, but it must be combined with modern techniques like behavioral analysis and machine learning to catch evolving threats.
HMAC (Hash-based Message Authentication Code) combines a cryptographic hash function with a secret key to provide both data integrity and authentication.
Regular Hash
HMAC
API Authentication
Cookie Integrity
Message Authentication
HMAC is not suitable for password hashing - use bcrypt, scrypt, or Argon2 instead.
A cryptographic hash function is a mathematical algorithm that takes input data of any size and produces a fixed-size output (the hash or digest). Key properties include: (1) Deterministic - the same input always produces the same hash, (2) Fast computation - hashes can be generated quickly, (3) Pre-image resistance - it's computationally infeasible to reverse the hash to get the original input, (4) Small changes in input produce drastically different hashes (avalanche effect), and (5) Collision resistance - it's extremely difficult to find two different inputs that produce the same hash. These properties make hash functions essential for data integrity verification, password storage, digital signatures, and blockchain technology.
These hash functions differ in security and output size: MD5 (128-bit/32 hex chars) - Fast but cryptographically broken since 2004. Never use for security. Only acceptable for non-security checksums. SHA-1 (160-bit/40 hex chars) - Deprecated since 2017 due to collision attacks. Google demonstrated practical collisions. SHA-256 (256-bit/64 hex chars) - Part of SHA-2 family. Current industry standard. Used in Bitcoin, TLS certificates, and most modern applications. SHA-512 (512-bit/128 hex chars) - More secure than SHA-256 with larger output. Slower on 32-bit systems but faster on 64-bit systems. Use SHA-256 or SHA-512 for all security-sensitive applications. Avoid MD5 and SHA-1 unless required for legacy compatibility.
Absolutely not! Never use MD5 or SHA-1 for password hashing - this is a critical security mistake. Both are cryptographically broken and vulnerable to collision attacks and rainbow table lookups. For password hashing, you MUST use specialized password hashing algorithms designed to be slow and resistant to brute force attacks: bcrypt - Industry standard, adjustable work factor, resistant to GPU attacks. scrypt - Memory-hard function, resistant to hardware attacks. Argon2 - Modern winner of Password Hashing Competition, best overall security. PBKDF2-HMAC-SHA256 - Acceptable alternative, widely supported. These algorithms include automatic salting and configurable computational cost to slow down brute force attacks. General-purpose hash functions like MD5/SHA-1/SHA-256 are designed to be fast, which makes them terrible for passwords.
HMAC (Hash-based Message Authentication Code) combines a cryptographic hash function with a secret key to provide both data integrity and authentication. Unlike regular hashing, HMAC proves that: (1) The message hasn't been tampered with (integrity), and (2) The message came from someone who knows the secret key (authenticity). HMAC works by hashing the message twice with the key incorporated. Use cases include: API request signing (AWS, webhooks), JWT signatures, Cookie integrity verification, Message authentication in encrypted communications, and Challenge-response authentication. HMAC prevents tampering even if the attacker can see the message. Common implementations: HMAC-SHA256 (most popular), HMAC-SHA512 (more secure), HMAC-MD5 (legacy only). Both sender and receiver must share the same secret key.
Hash verification ensures files haven't been corrupted or tampered with during download: (1) Obtain the official hash - Software publishers provide SHA-256 hashes on their download pages, (2) Generate hash of your downloaded file - Use this tool or command-line tools (sha256sum, certutil), (3) Compare hashes - They must match exactly. Even one character difference means corruption or tampering. This protects against: Incomplete downloads, File corruption during transfer, Man-in-the-middle attacks, Malware injection, and Compromised download mirrors. Always download the hash from an official source (HTTPS, PGP-signed). SHA-256 is standard for file verification. Linux ISO images, Windows updates, and software downloads commonly provide SHA-256 checksums. Never trust a hash provided by the same untrusted source as the file.
Rainbow tables are pre-computed databases of password hashes used to crack passwords instantly. Instead of trying millions of password guesses, attackers look up the hash in the rainbow table to find the original password. Example: Hash "password123" with MD5 → lookup MD5 hash in rainbow table → instantly recover password. Salts prevent rainbow tables by adding unique random data to each password before hashing. With salts: (1) Each password has a different hash even if passwords are identical, (2) Attackers must compute hashes for every possible password+salt combination, (3) Rainbow tables become useless because the salt space is too large. Modern password hashing algorithms (bcrypt, scrypt, Argon2) include automatic salting. This is why you must use proper password hashing - never plain SHA-256 or MD5, which are vulnerable to rainbow table attacks even without salts.
No - cryptographic hash functions are designed to be one-way (pre-image resistant). You cannot mathematically reverse SHA-256 hash back to the original input. However, attackers can attempt: Brute force - Try all possible inputs until finding a match (extremely slow for strong passwords with proper hashing). Dictionary attacks - Try common passwords and phrases (very effective against weak passwords). Rainbow tables - Look up pre-computed hashes (defeated by salts). Collision attacks - Find any input that produces the same hash (doesn't recover original input, but can bypass integrity checks). This is why weak passwords are vulnerable even with strong hashing - attackers don't reverse the hash, they try common passwords until they find a match. Strong passwords (16+ characters, mixed types) make brute force attacks computationally infeasible even with fast hash functions.
SHA-3 is the latest cryptographic hash function standardized by NIST in 2015, designed as an alternative to SHA-2, not a replacement. Key differences: SHA-2 (SHA-256, SHA-512) - Based on Merkle-Damgård construction, battle-tested since 2001, industry standard, supported everywhere. SHA-3 - Based on Keccak sponge construction, different internal design, provides similar security level, less widespread adoption. Should you use SHA-3? Currently, stick with SHA-256/SHA-512 unless you have specific requirements. SHA-2 remains secure with no practical attacks. SHA-3 provides: Alternative construction if SHA-2 is compromised, Potential performance benefits in hardware, Different security properties for specialized applications. Use SHA-256 for general purposes. SHA-3 is future-proofing but offers no immediate security benefit over SHA-256. Both are quantum-resistant against current quantum computers.
To check if a file is potentially malicious using its hash: (1) Generate the file hash - Use this tool to calculate MD5, SHA-1, and SHA-256 hashes of the suspicious file. (2) Check threat intelligence databases - Use the provided links to VirusTotal (70+ antivirus engines), MalwareBazaar (malware sample database), or Hybrid Analysis (advanced analysis). (3) Interpret results - VirusTotal shows detection rates (e.g., "15/70" means 15 engines flagged it). Zero detections doesn't guarantee safety - new malware may not be detected yet. High detection rates indicate known malware. (4) Consider context - Legitimate software sometimes triggers false positives. Verify from official sources. Important: MD5 and SHA-1 are deprecated for security but still widely used in malware databases for historical compatibility. SHA-256 is the current standard. Always download threat intelligence from trusted sources (VirusTotal, abuse.ch, NIST). Never upload sensitive files to public services.
Malware hash databases are repositories that catalog known malicious files by their cryptographic hashes. How they work: (1) Sample collection - Security researchers and automated systems collect malware samples from attacks, honeypots, and user submissions. (2) Hash generation - Each malware sample is hashed (typically MD5, SHA-1, SHA-256). (3) Database storage - Hashes are stored with metadata: malware family, detection date, IOCs, behavior analysis. (4) Hash matching - Security tools compare file hashes against the database for instant identification. Major databases: VirusTotal - Community-driven, 70+ AV engines, public API. MalwareBazaar (abuse.ch) - Curated malware samples, free access. NIST NSRL - Known software hashes (helps identify legitimate files). Hybrid Analysis - Automated sandbox analysis with hash lookup. AlienVault OTX - Threat intelligence sharing platform. Hash-based detection is extremely fast but only catches known malware. New malware variants require behavior-based detection until hashes are cataloged.
File hashes are fundamental to malware analysis and threat intelligence for several reasons: Unique identification - Each malware sample has a unique hash fingerprint. Even tiny code changes produce completely different hashes (avalanche effect). Fast comparison - Checking a hash against millions of known malware signatures takes milliseconds. Comparing entire files would be impractical. Compact storage - A 64-character SHA-256 hash represents a multi-gigabyte file, enabling efficient threat intelligence sharing. Immutable evidence - Hashes provide cryptographic proof that samples are identical across different systems and researchers. Incident response - SOC teams can quickly identify compromised systems by scanning for known malware hashes. Threat hunting - Endpoint detection tools continuously compute file hashes and check against threat feeds. Challenges: Polymorphic malware - Malware that changes itself slightly with each infection produces different hashes. Packing/obfuscation - Attackers wrap malware in cryptographic layers to change hashes. Hash collision attacks - Theoretical but possible with deprecated algorithms like MD5. Modern malware analysis combines hash-based detection with behavior analysis, machine learning, and sandbox testing.
Yes, sophisticated attackers can evade hash-based detection through several techniques: Polymorphism - Malware changes its code with each infection while maintaining functionality. Each variant has a different hash. Examples: Encrypted payloads with variable keys, Code reordering and junk code insertion, Variable compression algorithms. Packing/Obfuscation - Wrapping malware in cryptographic layers: UPX/Themida/VMProtect packers change file structure, Custom encryption makes every sample unique, Anti-debugging and anti-VM techniques. Living-off-the-land - Using legitimate system tools (PowerShell, WMI, certutil) leaves no malicious files to hash. Fileless malware - Operates entirely in memory with no persistent files. Metamorphism - Complete code rewriting with each generation. Hash collision attacks - Crafting malicious files with same hash as legitimate files (only practical with MD5/SHA-1). Defense strategies: Behavior-based detection (sandboxing, heuristics), Machine learning anomaly detection, Endpoint detection and response (EDR), Network traffic analysis, Memory forensics, Fuzzy hashing (ssdeep) to catch similar but not identical files. Hash-based detection remains valuable for known threats, but modern security requires layered defenses.
You cannot convert an MD5 hash into a SHA-256 hash — a hash is a one-way function, so the original input is not recoverable from an MD5 digest, and there is no formula that maps one digest to another. What "md5 to sha256" actually means is re-hashing the original input with SHA-256. Paste your original text (or load the original file) into this tool, select SHA-256, and it computes the SHA-256 digest directly. If all you have is the MD5 value and not the source data, conversion is impossible. This matters for migrations: when moving a system off broken MD5, you must re-hash the real source data with SHA-256, not transform the stored MD5 values.
Yes. Select multiple algorithms in the algorithm picker — MD5, SHA-1, SHA-256, SHA-384, and SHA-512 — and the tool computes every selected digest from the same input in a single pass and displays them side by side. This is useful when a download page lists a checksum but does not say which algorithm it used, when you need both a legacy MD5 and a modern SHA-256 for compatibility, or when you are comparing algorithm output lengths. All of the digests are generated locally in your browser, so generating five hashes at once is just as private as generating one.
Switch to Text mode, type or paste your string into the input box, and choose an algorithm — the hash is generated instantly as you type, with no button to press and nothing sent to a server. The tool hashes the exact UTF-8 bytes of your text, so "hello" and "Hello" produce completely different digests. You can copy the result in lowercase, uppercase, or Base64. For a keyed text-to-hash conversion (for example, signing an API payload), enable HMAC mode and add your secret key. This is the fastest way to turn any string into an MD5, SHA-256, or SHA-512 value.
They are the same thing — "hash generator," "hash value generator," and "checksum generator" all describe a tool that takes input data and produces its hash (the hash value). This tool generates hash values for text and files using MD5, SHA-1, SHA-256, SHA-384, and SHA-512, plus keyed HMAC variants. The "value" simply refers to the fixed-length output string, such as the 64-character hex string a SHA-256 produces. If instead you have an existing hash and want to look up what file it belongs to (for example, checking a malware sample), that is a hash lookup, which is a different operation.