VerifyEmail
Free tool

Free Email Syntax Checker

Validate an email address against the actual RFC 5321/5322 format rules — structure, lengths, characters, unicode and classic typos. Type the address, sign up free, and the product runs the check with your 250 free credits — no credit card required. The same credits also cover what format alone can't tell you: domain, MX and mailbox.

Checks run inside the product with your free credits — every new account starts with 250. No credit card required.

Format is only step one. See the full email check — domain, MX & disposable →

What the check inspects

Seven format rules, run in order, each with a pass, warn or fail and the exact reason — then everything past format: DNS, MX and the mailbox itself. One check, one credit, all stages.

  1. 1 Structure

    Exactly one unquoted @, with a local part and a domain

  2. 2 Length limits

    ≤ 254 total, ≤ 64 before the @, ≤ 63 per domain label

  3. 3 Local part

    Allowed characters, dot placement, quoted forms

  4. 4 Domain

    Label syntax, hyphens, plausible TLD, IP literals

  5. 5 Unicode / IDN

    Punycode conversion and SMTPUTF8 caveats

  6. 6 Gotchas

    Invisible spaces, commas for dots, plus-addressing

  7. 7 Typo detection

    gmial.com → gmail.com with a suggested fix

  8. 8 Everything after format

    Domain DNS, MX records, SMTP mailbox, reputation score

The anatomy of an email address

Every address has three parts: the local part (what comes before the @ — the mailbox name the receiving server interprets however it likes), the @ separator (exactly one, outside quotes), and the domain (where DNS routes the mail). The domain itself is a chain of dot-separated labels — in mail.example.co.uk the labels are mail, example, co and uk — ending in a top-level domain of at least two letters. Each part has its own character rules and its own length limit, which is why a proper checker tests them separately instead of throwing one regex at the whole string.

What the RFCs allow vs. what servers accept

The specs — RFC 5321 for the SMTP transport and RFC 5322 for the message format — are far more permissive than most people expect. "john doe"@example.com (a quoted local part with a space), user@[192.168.1.1] (an IP-literal domain), and local parts full of !, #, $ and backticks are all grammatically legal. But "legal" and "deliverable" are different questions: most production mail servers, ESPs and signup forms reject quoted locals and IP literals on sight, because in the wild they're almost always malformed input or abuse attempts.

That gap is why the check has a middle verdict. Valid but unusual means the address passes the spec but sits in territory that real-world servers routinely refuse — worth knowing before you build a list or a validator around it. We'd rather tell you that plainly than hide the nuance behind a green check.

The famous "perfect email regex" trap

There's a legendary regex that implements the full RFC 822 address grammar. It runs to thousands of characters, is essentially unreadable, and still doesn't answer the question you actually have — because no regex can check length limits cleanly, convert internationalized domains, or know whether a mailbox exists. Meanwhile the tight "simple" regexes floating around reject perfectly legal addresses (plus signs, newer TLDs, IDNs) and annoy real users.

The pragmatic answer, and the one we recommend: validate format with a small set of explicit rules — one @, allowed characters, dot placement, the 254/64/63 length limits, a plausible TLD — and then verify the address rather than trying to regex your way to certainty. That's exactly the battery the product runs on your address, and it's the first stage of the full verification pipeline.

Length limits, and where they come from

The numbers the check enforces aren't arbitrary. RFC 5321 caps a forward path at 256 characters including the angle brackets, which leaves 254 for the address itself. The same RFC limits the local part to 64 characters. And each domain label is capped at 63 characters by RFC 1035 — a DNS constraint older than the web. Addresses that blow these limits may survive a naive regex, but they'll be refused at the SMTP layer, so the checker fails them with the exact count.

Plus-addressing, IDN and other legal oddities

Plus-addressingname+tag@gmail.com — is fully valid: + is an ordinary allowed character, and providers like Gmail and Fastmail deliver anything after the + to the base mailbox while letting you filter by the tag. (Gmail's habit of ignoring dots in the local part is a similar story: provider behavior, not the spec.) Internationalized domains like müller.de are valid too — under the hood, mail systems convert them to an ASCII punycode form (xn--mller-kva.de), which the check surfaces so you can see the on-the-wire form. Non-ASCII characters before the @ are shakier ground: they require SMTPUTF8, which plenty of servers still don't support, so the checker warns rather than passes.

Why format validation is only step one

A perfect format score tells you the address could exist — nothing more. ceo@this-domain-was-never-registered.com passes every format rule and will bounce every time. Real deliverability needs the next stages: does the domain resolve in DNS, does it publish an MX record, is it a throwaway domain, and — the only conclusive test — does the SMTP server confirm the mailbox? That's the upside of running the check inside the product: the same free credits cover the full verification pipeline, and the API runs it in real time if you're validating at a form.

Format valid — but does the mailbox exist?

Your free credits cover more than syntax. Confirm the domain, mail server and the mailbox itself — one address or a whole list — starting with 250 free credits, no card required.

Email syntax checker — FAQ

Is this free?
Yes — every new account starts with 250 free credits, no credit card required, and you can spend them on any check: format validation, full email verification, inbox placement tests. Type an address above, sign up, and the product runs the check for you.
What characters are allowed in an email address?
Before the @, RFC 5322 allows letters, digits, and these symbols: ! # $ % & ' * + - / = ? ^ _ ` { | } ~ — plus dots, as long as they aren't first, last, or doubled. After the @, domain labels are limited to letters, digits and hyphens (no leading or trailing hyphen), separated by dots. Anything beyond that — spaces, commas, parentheses — needs a quoted local part, which is technically legal but rejected by most real servers.
Is there a regex that validates all emails?
Honestly, no. The full RFC 822 grammar famously expands to a regex thousands of characters long — and even that monster doesn't check length limits, punycode, or whether the address can actually receive mail. Every practical regex is an approximation that either rejects some legal addresses or accepts some broken ones. The pragmatic answer is a rule-based format check like the one the product runs, followed by real verification (DNS, MX, SMTP) for deliverability.
Are email addresses case-sensitive?
The domain is never case-sensitive — Gmail.COM and gmail.com are the same. The local part is technically case-sensitive per the RFCs (the receiving server decides), but in practice no major provider distinguishes John@ from john@. Safe rule: store and compare addresses lowercased, but don't reject on case.
Is name+tag@gmail.com a valid email address?
Yes — + is an ordinary allowed character, and the format check passes it. Gmail, Outlook, Fastmail and others treat everything after the + as a tag: mail to name+newsletter@gmail.com lands in name@gmail.com, and the tag makes filtering (and tracking who leaked your address) easy. Some signup forms wrongly reject it; that's a bug in their validation, not in the address.
What's the maximum length of an email address?
254 characters for the whole address in practice — RFC 5321 caps the SMTP path at 256 characters including the surrounding angle brackets. Within that, the local part maxes out at 64 characters and each dot-separated domain label at 63 (a DNS limit from RFC 1035). The verification pipeline enforces all three limits as part of its format stage.
Are quoted local parts and IP-literal domains really valid?
By the letter of the spec, yes: "john doe"@example.com and user@[192.168.1.1] are both grammatically legal. In the real world, most mail servers, ESPs and signup forms reject them outright — which is why the verification pipeline flags them as valid but unusual instead of giving a clean pass. If you control the address, don't use these forms; if you're validating input, treat them as high-risk.
This says "valid format" — will my email actually deliver?
Not necessarily. Format is only step one: anything@completely-made-up-domain-xyz.com is perfectly formatted and perfectly dead. Deliverability also needs the domain to resolve, an MX record (check with the MX lookup tool), a non-throwaway domain (see the disposable email checker), and ultimately a live mailbox. The same free credits that run your format check also cover the full verification pipeline — DNS, MX, disposable detection and SMTP mailbox confirmation.
How do I validate email format in my signup form or API?
Do the pragmatic checks described on this page — one @, sane characters, length limits, a dotted domain with a real TLD — and skip the perfect-regex quest. Then verify what format can't tell you: the verification API runs syntax, DNS, MX, disposable and SMTP checks in a single real-time call at your form or backend, with SDKs for 16 languages. Signup includes 250 free credits.

Validate the format. Verify the mailbox.

A well-formed address can still bounce. Run your list through VerifyEmail before you send — starting with 250 free credits.

Includes 250 free credits · No credit card required