Skip to main content

email-validator

An email validator checks whether a string is a syntactically valid email address per RFC 5322, whether the domain part has functioning DNS MX (mail-exchange) records, and optionally whether the address looks like a disposable / role-based / typo-prone variant β€” useful before sending to a list, for form validation, and for cleaning a stale CRM. The ZTools Email Validator runs the syntax check in the browser and uses a public DNS-over-HTTPS resolver for MX checks, supports bulk validation of up to 1,000 addresses, exports labelled results to CSV / JSON, and never sends a real email so it does not poison delivery reputation.

Use cases​

Form input validation​

Frontend forms accept whatever users type; "user@gmial.com" passes naive regex but is wrong. Run the typo-detector to catch the most common mistakes before submit.

CRM list cleanup​

A 2-year-old CRM list has stale addresses. Bulk-validate; flag domains with no MX (likely dead) for soft-suppression before the next campaign.

Disposable-email blocking​

Sign-up form should reject Mailinator / 10minutemail / etc. The validator detects ~3000 known disposable domains.

Pre-import data cleaning​

CSV import of contacts. Run validation first; quarantine the invalid ones for human review rather than letting them clog the database.

How it works​

  1. Paste email(s) β€” Single address or one-per-line for bulk. Up to 1,000 per batch.
  2. Syntax check β€” RFC 5322 regex covering local-part rules, quoted strings, IP-literal domains, internationalised (IDN) addresses.
  3. MX DNS check β€” Public DNS-over-HTTPS lookup (Cloudflare 1.1.1.1) confirms the domain has at least one mail-exchange record.
  4. Heuristic flags β€” Disposable-domain match, role-based (info@, support@), typo suspicion (gmial.com, yaho.com, hotnail.com).
  5. Export results β€” CSV columns: email, syntax_valid, mx_valid, disposable, role, typo_suggestion.

Examples​

Input: user@example.com

Output: syntax_valid=true, mx_valid=true, disposable=false, role=false


Input: user@gmial.com

Output: syntax_valid=true, mx_valid=false, typo_suggestion=user@gmail.com


Input: admin@example.com

Output: syntax_valid=true, mx_valid=true, role=true

Frequently asked questions​

Does it actually send a probe email?

No β€” and that is the correct design. Sending probe emails harms sender reputation. We rely on syntax + MX + heuristics, which together catch ~95% of invalid addresses.

How accurate is MX-based validation?

A valid MX confirms the domain accepts mail. It does NOT confirm the specific mailbox exists β€” only the domain itself accepts delivery. SMTP-level mailbox probes are unreliable and often blocked, so we skip them.

What is a role-based address?

Generic mailboxes like info@, support@, admin@, sales@. ESPs sometimes block these to protect engagement metrics. The flag lets you choose.

Are international (Unicode) emails supported?

Yes β€” ΓΌmlaut@example.com and η”¨ζˆ·@例子.com pass syntax. MX check still applies to the punycode-encoded domain.

How are typos detected?

Levenshtein distance + a curated list of common provider domains (gmail, yahoo, hotmail, outlook, icloud). Distance ≀ 2 with a known target produces a suggestion.

Is the data stored or sent anywhere?

Only DNS lookups go to Cloudflare's public 1.1.1.1 resolver β€” that is required for MX checks. The address strings themselves are not stored.

Tips​

  • On signup forms, run typo detection β€” converting "gmial" β†’ "gmail" recovers a real user before they bounce.
  • For CRM cleanup, soft-suppress (mark, do not delete) MX-failed addresses; manual review may catch a temporary DNS outage.
  • Treat disposable-domain flag as advisory β€” some legit users use them; block only if abuse is real.
  • Always validate at signup AND before send. Domains die between those moments.
  • Never validate by sending a real email β€” bounce rate kills sender reputation.

Try it now​

The full email-validator runs in your browser at https://ztools.zaions.com/email-validator β€” no signup, no upload, no data leaves your device.

Open the tool β†—


Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub