Skip to main content

Free Password Breach Checker

Check whether a password has appeared in known data breaches via Have I Been Pwned — using k-anonymity, so the password is hashed locally and only a 5-character hash prefix is ever sent. The password itself never leaves your browser.

Your password is never sent anywhere. It's hashed with SHA-1 in your browser, and only the first 5 characters of that hash are sent to the Have I Been Pwned range API. The server returns every breached hash sharing that prefix, and the match is checked locally — this is the k-anonymity model, so the service never learns your password or its full hash.

This check makes one network request — it sends the 5-character hash prefix to api.pwnedpasswords.com. Your password and its full hash are never sent.

How It Works

Checks a password against Have I Been Pwned's database of billions of breached passwords — without ever sending the password anywhere. It uses the k-anonymity model: only the first 5 characters of the password's SHA-1 hash leave your browser.

  1. 1
    The password is hashed locally
    Your password is SHA-1 hashed in your browser with the Web Crypto API. The password itself never leaves your device.
  2. 2
    Only a 5-character prefix is sent
    The first 5 hex characters of the hash are sent to the Have I Been Pwned range API, which returns every breached hash sharing that prefix.
  3. 3
    The match is checked in your browser
    Your browser looks for your hash's suffix in that list and shows how many times (if any) the password has appeared in breaches. The service never learns which one was yours.

This is the only LibraTool tool that makes a network request, and even then your password and its full hash never leave your browser — only a 5-character hash prefix does.

Related Tools

Frequently Asked Questions