Hash the password here
The browser creates a SHA-1 digest and keeps the password and full digest on this device.
Check known breaches using a short hash prefix, not the password itself.
Check
Nothing is typed into a form that submits. If you would rather not test a password you still use, try an old one.
What happens
The password is hashed with SHA-1 in this page. The full digest stays in memory.
Only the first five characters go to this site's proxy, which requests the matching range from Have I Been Pwned.
The service returns every hash that starts with those characters. Your browser finds the match and discards the rest.
This is an external lookup This server sees the five-character prefix and relays it. The external service sees that prefix and a request from this server, but neither service receives the password or full hash.
A count of zero means the password does not appear in the corpus being searched. It does not mean the password is strong, and it does not mean the account behind it is safe.
Any appearance means the password has been published somewhere, usually through a breach of another service. It should be replaced wherever it is still in use, starting with the account that matters most, and it should not be reused.
Many hash entries share the same first five characters, so a prefix describes a group rather than one entry. The service answers with the whole group and cannot tell which member, if any, was yours.
The browser creates a SHA-1 digest and keeps the password and full digest on this device.
Only the first five hash characters go through this server to the public breach range service.
The browser checks the returned suffixes and explains the result without sending the password.
No. The field is not part of a form and is never submitted. The value is hashed in the page, and the full digest is discarded when you close or reload the tab.
It is one check rather than a full audit. A manager can compare every saved password at once and flag the reused ones. This page checks a single password that you type.
The service is external, so it can be slow or unavailable. When that happens the page reports the failure and shows no count, rather than guessing.
You are offline. Changes will retry when the connection returns.