Email typos and did you mean suggestions
A mistyped email address at sign-up costs you the customer and can cost you reputation: the person never gets your mail, and a misspelled provider domain such as gmial.com may be a spam trap. The fix is a "did you mean" suggestion: compare the typed domain with a short list of common mail domains and, when it is one small edit away, offer the corrected address. Offer it, never apply it silently, because the person knows their address better than any algorithm. A confirmation email then proves the final address works.
What sign-up typos look like
The typos a form can catch are in the domain, where a misspelled name of a big mail provider stands out. The usual shapes:
| Typed | Intended | Kind of mistake |
|---|---|---|
name@gmial.com | name@gmail.com | two letters swapped |
name@gmai.com | name@gmail.com | a letter missing |
name@gmaill.com | name@gmail.com | a letter doubled |
name@gmail.con | name@gmail.com | a wrong letter, here in the top-level domain |
name@hotmial.com | name@hotmail.com | two letters swapped |
name@yahooo.com | name@yahoo.com | an extra letter |
Typos in the local part, the text before the @, are much harder to catch: jhon@ is a perfectly plausible address for someone. Those usually show up later, as a 550 5.1.1 bounce for a mailbox that does not exist, or worse, as mail delivered to a stranger who really is jhon@.
Mobile keyboards add their own mistakes. Baymard Institute's form research lists email addresses among the inputs that mobile auto-correct can "correct" into something wrong (Baymard: Where to Disable Mobile Keyboard Auto-Correct). Turn auto-correct off for the email field.
Why typos are more than a lost sign-up
Some misspelled provider domains are run as typo traps. M3AAWG, the industry's anti-abuse working group, describes a typo trap as an address with a deliberate, common typing error, most often in the domain, with user@gmial.com as its example (M3AAWG: Help! I Hit a Spam Trap!). A hit often shows that the sender did not confirm the address it collected. M3AAWG adds that while such a trap may technically be a pristine trap, many operators classify it differently, because senders can get it through otherwise legitimate collection. Our spam traps guide covers the other kinds.
So one mistyped address can do three kinds of harm: the customer never gets their receipt or sign-in code, your bounce rate goes up, and if the domain is a trap, your sending reputation takes the hit.
How a "did you mean" suggestion works
Edit distance
A suggestion engine measures how many small edits separate the typed domain from each domain on a list of common ones. A measure that fits typing well is the Damerau–Levenshtein distance: the smallest number of single-character insertions, deletions, substitutions and swaps of two adjacent characters that turns one string into the other (Wikipedia: Damerau–Levenshtein distance). The swap is what makes the difference. Plain Levenshtein distance counts gmial to gmail as two substitutions; with the swap it is a single edit. The same article reports that in Damerau's 1964 study of spelling errors, more than 80% were a single error of one of these four kinds: a good reason to look only one or two edits away.
typed: gmial.com
intended: gmail.com
edits: swap "i" and "a" -> distance 1Rules that keep suggestions honest
- Compare only against a short, known list. The goal is to catch slips on domains many people use, not to guess at every company domain. A typo in a small company's domain looks like any other valid domain.
- Never suggest when the typed domain is itself on the list. A person who typed a known domain correctly must not be told they made a mistake, even when it is one letter away from a bigger one.
- Keep the local part as typed. Only the domain is compared; a suggestion that also rewrites the name before the
@is a guess too far. - Show one suggestion, the closest match, and stay quiet when no domain is close enough.
These are spelling rules only. A suggestion says that the typed domain looks wrong; it does not say the suggested address exists. That is what a check of the mailbox is for.
Form design that catches typos
Suggest, never correct silently
Show the suggestion next to the field, as a link or button the person can click: "Did you mean name@gmail.com?" Let them accept it with one click or ignore it and edit the field themselves. Changing the address without asking breaks the cases the list gets wrong, and the person may never notice that you are now writing to a different address than the one they typed.
Baymard's research on validation and warnings makes the same distinction: block input only where a rule can never reject good input, and warn about input that is probably wrong but might be right. For email fields, it advises a forgiving validator (its examples include forms that refused a + in the address) and a warning that asks the person to double-check an address that looks flawed (Baymard: Form Usability: Validations vs Warnings).
Timing and placement
- Wait until the person leaves the field. Both Nielsen Norman Group and Baymard advise against showing errors before the person has finished typing, and suggest validating a field once the user moves on (NN/g: 10 Design Guidelines for Reporting Errors in Forms; Baymard: Usability Testing of Inline Form Validation).
- Put the message next to the field, not only in a summary at the top of the form.
- Remove the message as soon as the address is fixed. In Baymard's testing, an email error that stayed visible after the participant had corrected the address was highly misleading.
- Use the right field type. An
emailinput checks only that the text is formatted like an address, not that the address exists; MDN warns that this check must be repeated on the server (MDN: input type="email"). On phones, the email input mode brings up a keyboard with the@key at hand (MDN: inputmode).
The browser's format check and a local suggestion can run on blur. A full check of the address should run from your server, once, when the form is submitted, as our sign-up form validation guide explains. For the format rules themselves, see the email address syntax guide.
Confirm field or double opt-in
A second "confirm your email" field catches some typos, at the price of one more field to fill in. It cannot catch a typo the person copies from the first field into the second, and it says nothing about whether the mailbox exists. Double opt-in does more: only a person who receives the confirmation email and clicks its link joins your list, so typo addresses and typo traps never do. The two fit together with a suggestion in front: fix the slip on the form, then let the confirmation email prove the result.
Our likely typo reason
When the domain looks like a misspelling of a common mail provider, the result is invalid with the reason likely_typo: check the suggested correction. The action is remove, and the did_you_mean field carries the suggested address where one is known; for every other result it is null (validate API).
On a form, ask the person to fix the address and offer the did_you_mean suggestion rather than changing it silently, as the invalid status page recommends. On a list you already have, fix a typo only where you can confirm the correction, for example with the person; otherwise remove the address. You can try the handling for free with the test addresses.
The reason covers common provider domains only. A typo in a company domain, or in the part before the @, gets whatever result the address really has, for example invalid with the reason no_mailbox or no_dns.
Questions
Should I auto-correct gmial.com to gmail.com?
No. Offer it as a suggestion the person accepts with one click. A silent change can turn a correct but unusual address into a wrong one, and the person never sees it happen.
Does a suggestion mean the corrected address exists?
No. It only means the typed domain is a likely misspelling of a common one. Check the corrected address like any other, and confirm it with a confirmation email.
Is a confirm email field enough?
It catches some slips, but not one copied from the first field, and it cannot prove the mailbox works. Pair a suggestion on the form with double opt-in.
Try it
Check an address in the free email checker to see its status, reason and any suggestion, or clean an existing list with bulk email verification.
Related
Related guides
- Spam traps explained
- Double opt-in (confirmed opt-in)
- Email address syntax explained
- Disposable email addresses explained
- Reduce your email bounce rate
- All guides
Sources
- M3AAWG: Help! I Hit a Spam Trap! (February 2023): typo traps, the
gmial.comexample, why they are classed separately. - Wikipedia: Damerau–Levenshtein distance: the four edit operations and Damerau's 1964 finding on single errors.
- Baymard: Form Usability: Validations vs Warnings (2014): forgiving email validators, warnings instead of blocks.
- Baymard: Usability Testing of Inline Form Validation (January 2024): validate on leaving the field, clear errors once fixed.
- Baymard: Where to Disable Mobile Keyboard Auto-Correct: auto-correct changing email addresses.
- NN/g: 10 Design Guidelines for Reporting Errors in Forms: timing and placement of inline errors.
- MDN: input type="email" and MDN: inputmode: what the browser checks, server-side validation, the email keyboard.
How we wrote this: drafted by the email-validation.org team with the help of AI writing tools, from our product documentation and the sources linked in the text.