📮 Free tool · 1.9 KB · Open source

Stop losing signups to
misspelled emails.

A lightning-fast email spell checker that catches typos like gmaik.cogmail.com before a bad address ever hits your list. Try it live, or drop the ultratiny TypeScript library into your own forms in one line.

✓ Runs 100% in the browser ✓ Zero dependencies ✓ 18,000+ weekly downloads

Suggestions appear here as you type. Nothing you enter ever leaves your browser.

Every typo is a customer you never reach

Fat-fingered domains are one of the biggest silent leaks in any signup form. A dropped letter means a bounced welcome email, a lost lead, and a dent in your sender reputation.

1.9 KB
Minzipped, zero dependencies
39+
Domains & 66+ TLDs covered
18k+
Weekly npm downloads

Enterprise-grade, ridiculously small

Lightning fast

Fuzzy-matches misspelled domains in microseconds using the Sift3 distance algorithm — instant feedback on every keystroke.

Ridiculously small

Just 1.9 KB minzipped with zero external dependencies. It won't move the needle on your bundle size or your Core Web Vitals.

Written in TypeScript

Fully typed, unit-tested, and framework-agnostic. Works with React, Vue, Svelte, or plain vanilla JavaScript.

Extensible

Bring your own domains, TLDs, thresholds, or distance function to tune suggestions for your exact audience.

Private by design

Everything runs client-side. No network calls, no API keys, and no email addresses ever leave the user's browser.

Battle-tested

Powering signup forms across thousands of products with 18,000+ weekly downloads. Open source and MIT licensed.

Add it to your forms in one line

Install the open-source library, call run() with the email your user typed, and show the suggestion when one comes back.

npm install @zootools/email-spell-checker
import emailSpellChecker from "@zootools/email-spell-checker";

const suggestion = emailSpellChecker.run({
  email: "jorge@gmaik.co",
});

if (suggestion) {
  // suggestion.address -> "jorge"
  // suggestion.domain  -> "gmail.com"
  // suggestion.full    -> "jorge@gmail.com"
  showHint(`Did you mean ${suggestion.full}?`);
}

Frequently asked questions

Does the checker send my users' emails anywhere?

No. The library runs entirely in the browser and makes zero network requests. Addresses are compared against a local dictionary of popular domains and TLDs, so nothing is ever transmitted or stored.

Is this the same as email verification?

Not quite — it's complementary. The spell checker fixes obvious typos at the point of entry (like gmaik.co → gmail.com). To confirm an address is real, deliverable, and not disposable, use SMASHSEND's Email Verification add-on, which checks MX records, mailbox existence, and known spam-trap domains.

Can I customize the suggestions?

Yes. Pass your own domains, topLevelDomains, threshold values, or even a custom distance function to run() to tune it for your specific audience.

How much does it cost?

The library is free and open source (MIT). It's built and maintained by the team behind SMASHSEND — the email platform that helps you turn every clean signup into a customer.

Great emails start with a clean list

Catch typos on the way in, then send campaigns, automations, and transactional email that actually land — all from one platform.

Free tool • Zero dependencies • Open source • Built by SMASHSEND

Other products from us:TidySupport·SuperBuilder·Inbounter·Blossu·KnowledgeSDK·TypeHop·EverydaySEO
text us!
SmashSend
SmashSendiMessage
􀍉
iMessage · Today 9:41 AM
hey, text us 👋
let's build something cool 🚀
Delivered
Text Message􀰓