Breach Checker — Passwords & Email Monitoring
Check a password with privacy-preserving k-anonymity, screen a batch of passwords, or monitor an email address against known breaches.
What is Breach Checker?
This tool checks whether your password has appeared in known data breaches using the Have I Been Pwned (HIBP) k-anonymity API, and monitors an email address for breach exposure with a full risk report.
Zero-Server Tool Data Guarantee
Password checks run entirely in your browser: only the first 5 hex characters of the SHA-1 hash are sent to HIBP using k-anonymity. Email monitoring sends the email address directly from your browser to the XposedOrNot API — BetterPass's server never sees it. Results are cached locally for 24 hours.
How to Use
Choose Password or Email
Use the toggle at the top. Password checks stay in your browser via k-anonymity; the email tab queries a breach-check API directly.
Check a Password
Type or paste a password and click Check. The tool hashes it locally and queries HIBP with k-anonymity.
Check an Email
Enter an email and click Check Email to get a full report: risk score, affected services with exposed data types, and any paste exposures.
Screen a Batch
Paste up to 100 passwords (one per line) and click Check all — results group by hash prefix to minimize requests.
Review History
Your recent password checks (hash prefix + result) and email checks (summary) are saved locally so you can track what you've verified.
Common Use Cases
Audit Current Passwords
Check passwords you're currently using — one at a time or in a batch — to see if they've appeared in any known data breaches.
Monitor Your Email
Use the email tab to get a full breach report: risk score, affected services, exposed data types, password storage risk, and paste exposure.
Pre-Registration Check
Before signing up for a new service, verify the password you plan to use hasn't been breached elsewhere.
Post-Breach Response
After a company announces a breach, check whether your specific password or email was exposed — then follow our step-by-step guide.
Implementation Examples
// 1. Hash password with SHA-1 locallyasync function checkBreach(password) {const encoded = new TextEncoder().encode(password);const hashBuffer = await crypto.subtle.digest('SHA-1', encoded);const hash = Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2, '0')).join('').toUpperCase();// 2. Send only first 5 chars to APIconst prefix = hash.slice(0, 5);const suffix = hash.slice(5);const response = await fetch(`https://api.pwnedpasswords.com/range/${prefix}`);const text = await response.text();// 3. Check if full hash suffix appears in responsereturn text.includes(suffix);}
Breach Check Methods
| Method | Data returned | Key needed | Notes |
|---|---|---|---|
| HIBP K-Anonymity (password, this tool) | Breach count | No | Partial hash only; billions of records |
| XposedOrNot breach-analytics (email, this tool) | Risk score, per-breach detail, password storage, pastes | No | Rich report in one request; free tier rate-limited per IP |
| XposedOrNot check-email | Breach names only | No | Lighter payload, fewer details |
| HIBP domain/email API | Breach list + details | Yes (API key) | Requires key; adds provider complexity |
| Send password to API | Breach count | None (password exposed) | Password leaves your device |
| Manual paste into website | Per-site report | No | Manual per email or password |
Production Best Practices & Security
Frequently Asked Questions
Have I Been Pwned (HIBP) is a free service created by security researcher Troy Hunt that aggregates over 12 billion records from thousands of public data breaches. It lets anyone check whether their email addresses or passwords have been exposed.
BetterPass's Breach Checker queries the HIBP API using k-anonymity — a privacy-preserving model where only a partial hash prefix is sent. You can check credentials without disclosing them to any third party.
If your password appears, it has been compromised and should be changed immediately.