Tools · runs in your browser
Same mailbox finder
sam.smith@gmail.com, samsmith+trial@gmail.com and SamSmith@googlemail.com are one inbox. Paste your sign-ups and see which addresses reach the same mailbox, with the comparison key for each one.
No email address found yet: an address has a name, an @ and a domain.
| Mailbox key | Address as typed | Folded |
|---|
No two addresses share a mailbox.
Two addresses on one key are one mailbox, not always one fraud. People sign up again after losing a password, and teams test with plus tags. Hold back the free gift, not the account.
How it decides
- Capitals don't count. Every address is lower-cased first. No big provider treats Sam and sam as two people.
- googlemail.com is gmail.com. Same accounts, two domains.
- Plus tags are dropped at providers that deliver them: Gmail, Outlook.com, Hotmail, Live, MSN, iCloud, Proton and Fastmail. None of them lets anyone register a username with a plus, so this never joins two real people.
- Dots are dropped at Gmail only. Everywhere else, sam.smith and samsmith can be two people.
- Every other domain is only lower-cased. A company's own domain, even one hosted by Google, has its own rules, and a guess would join strangers.
Yahoo's disposable addresses and Fastmail's name.fastmail.com addresses look like ordinary addresses from the outside, so no rule can fold them. The key stops the cheap trick, not a determined person.
Use it in your sign-up
Store the address as typed and send to it as typed. Keep this key in a second column and look it up only where you give something away per person: a trial, a referral reward, a free allowance. It runs in Node too.
The same function in Python, the SQL for the second column, and why you never strip the tag from the address you mail: One mailbox, many addresses: Gmail's dots and plus signs, and what your sign-up form should do about them.
Then confirm the mailbox with a code
A key says two addresses share a mailbox; only a code proves the person can read it. /v1/verify/start emails a code and /v1/verify/check says whether the typed code is right.