Back to Blog
Best Practices2026-02-126 min readUpdated 2026-03-18

Email Typo Detection: Save Lost Signups with Smart Correction

Between 2% and 8% of users mistype their email address during signup. That's revenue walking out the door. Here's how to catch the typo and keep the user.

MS

MailSentry Team

Email validation experts

TL;DR

  • 2-8% of users mistype their email at signup — domain misspellings like gmial.com are the most common, and a simple Levenshtein distance check catches the majority.
  • Show typo corrections as inline suggestions the user can accept, never auto-correct silently — some people legitimately use uncommon domains.
  • Pair client-side typo detection with a server-side validation API for full coverage, and track suggestion acceptance rate to measure impact.
gmial.com
Typo entered
Levenshtein
distance = 1
gmail.com
Corrected
Typo correction via edit distance comparison against known domains

A user lands on your signup page, types their email address in a hurry, and hits submit. They meant jane@gmail.com but typed jane@gmial.com. Your server accepts it — the syntax is technically valid — and fires off a welcome email that will never arrive. Jane waits, gets frustrated, and leaves. You just lost a customer to a typo.

This scenario plays out thousands of times a day across the internet. Studies suggest that between 2 and 8 percent of email addresses entered into web forms contain typos, with domain misspellings being the most common category. Email typo detection intercepts these mistakes in real time and offers the user a corrected suggestion before the form is submitted.

Common Typo Patterns

Most email typos fall into predictable categories:

  • Domain misspellingsgmial.com, gmal.com, gamil.com instead of gmail.com.
  • TLD errorsyahoo.con instead of yahoo.com, or outlook.cmo.
  • Transposed charactershotamil.com instead of hotmail.com.
  • Double charactersyahooo.com or gmailll.com.
  • Missing charactersyaho.com or gail.com.

Because the pool of popular email providers is relatively small — Gmail, Outlook, Yahoo, iCloud, and Proton account for the vast majority of consumer addresses — you can catch most domain typos with a focused comparison list.

Building a Basic Typo Detector

The core idea is to compute the edit distance between the entered domain and a list of known-good domains, then suggest a correction if the distance is small:

Solve this with MailSentry

8 validation layers, real-time results, sub-50ms response.

Try MailSentry Free →
const KNOWN_DOMAINS = [
  "gmail.com", "yahoo.com", "hotmail.com", "outlook.com",
  "aol.com", "icloud.com", "mail.com", "protonmail.com",
  "proton.me", "zoho.com", "yandex.com", "gmx.com",
];

function levenshtein(a: string, b: string): number {
  const matrix: number[][] = [];
  for (let i = 0; i <= a.length; i++) matrix[i] = [i];
  for (let j = 0; j <= b.length; j++) matrix[0][j] = j;

  for (let i = 1; i <= a.length; i++) {
    for (let j = 1; j <= b.length; j++) {
      const cost = a[i - 1] === b[j - 1] ? 0 : 1;
      matrix[i][j] = Math.min(
        matrix[i - 1][j] + 1,
        matrix[i][j - 1] + 1,
        matrix[i - 1][j - 1] + cost
      );
    }
  }
  return matrix[a.length][b.length];
}

function suggestEmailCorrection(email: string): string | null {
  const [local, domain] = email.split("@");
  if (!domain) return null;

  const lowerDomain = domain.toLowerCase();
  if (KNOWN_DOMAINS.includes(lowerDomain)) return null;

  let bestMatch: string | null = null;
  let bestDistance = Infinity;

  for (const known of KNOWN_DOMAINS) {
    const distance = levenshtein(lowerDomain, known);
    if (distance < bestDistance && distance <= 2) {
      bestDistance = distance;
      bestMatch = known;
    }
  }

  return bestMatch ? `${local}@${bestMatch}` : null;
}

This function compares the entered domain against known providers and returns a suggestion if the Levenshtein distance is two or fewer edits. It is lightweight enough to run on the client side for instant feedback.

Presenting the Suggestion

How you show the correction matters as much as detecting it. A good UX pattern is an inline hint below the email field:

// React example
const suggestion = suggestEmailCorrection(email);

{suggestion && (
  <p className="text-sm text-amber-600 mt-1">
    Did you mean{" "}
    <button
      type="button"
      className="underline font-medium"
      onClick={() => setEmail(suggestion)}
    >
      {suggestion}
    </button>
    ?
  </p>
)}

Never auto-correct silently. Always let the user confirm. Some people legitimately use uncommon domains, and overriding their input without consent creates a worse experience than the typo itself.

Going Beyond Client-Side Checks

A Levenshtein-based detector handles the most common cases, but it has blind spots. It will not catch typos in less popular domains, and it cannot verify that the corrected address actually exists. Pairing client-side suggestions with a server-side validation API closes these gaps. MailSentry's validation response includes a suggestion field that leverages a much larger domain database plus real-time DNS lookups to recommend corrections with higher confidence.

Measuring Impact

To quantify how many signups typo detection saves, track two metrics:

  • Suggestion acceptance rate — How often users click the corrected address. Rates above 60 percent are typical.
  • Bounce rate before and after — Compare the hard-bounce rate on your transactional emails before and after deploying typo detection. A meaningful drop confirms the feature is working.

Key Takeaways

Email typos are one of the easiest problems to solve and one of the most expensive to ignore. A simple edit-distance check against popular domains catches the majority of mistakes, and a well-designed inline suggestion nudges users toward the correct address without disrupting their flow. Combine this with server-side validation for full coverage, and you will recover signups that would otherwise vanish into undeliverable mailboxes.

Try MailSentry Free

8 validation layers, sub-50ms response, 1,000 checks/month free.

Get Your Free API Key →

Keep Reading

More guides and insights on email validation.

Guide

What Is Email Validation and Why Does It Matter?

Bad emails don't announce themselves — they just bounce, block, and erode your sender reputation. Here's the complete developer's guide to catching them before they ever reach your database.

Read
Technical

Disposable Email Addresses: How to Detect and Block Them

One script, hundreds of throwaway addresses, unlimited free trials drained in minutes. This is how disposable email abuse actually works — and how to stop it cold.

Read
Technical

MX Record Verification: How It Works and Why It's Essential

Syntax checks lie. A perfectly formatted email can belong to a domain that hasn't been able to receive mail in years. MX record verification is how you find out the truth.

Read
Best Practices

How to Reduce Email Bounce Rate: A Developer's Guide

Your ESP is one bad batch away from throttling your sending domain. Here's the engineering playbook for getting your bounce rate under 0.5% and keeping it there.

Read
Technical

SMTP Verification Explained: Check If an Email Actually Exists

SMTP verification lets you knock on a mailbox door without ever sending a message — but it comes with traps most developers fall into. Here's what actually happens under the hood.

Read
Best Practices

Role-Based Email Addresses: Why info@ and admin@ Hurt Your Metrics

info@, support@, admin@ — they look real, they pass all the checks, and they'll tank your engagement metrics in silence. Here's why role-based addresses are a hidden list quality problem.

Read

Start validating emails today

1,000 free checks every month. All 8 validation layers included. No credit card needed.