Reference

Email address format: what makes an address valid

The email address format is defined by two standards: RFC 5322 says what an address may look like, RFC 5321 how long its parts may be. This page sums up both, with examples you can test.

Updated October 9, 2026 · 6 min read

Email address format: local part, tag, @ and domain with length limits and examples

The parts of an email address

Every email address has two parts joined by an @:

jane.doe+news
@
mail.example.com

local part

up to 64 characters

domain

up to 253 characters, each label up to 63

Whole address

At most 254 characters (the RFC 5321 path limit minus the angle brackets).

+news is a tag

Plus addressing: many providers deliver jane.doe+anything to jane.doe.

.com is the top-level domain

The last label must be a real TLD: .com, .de, .co, not .con.

The format of the address is defined in RFC 5322 (section 3.4.1, “addr-spec”). The size limits come from the SMTP standard, RFC 5321.

Length limits

PartMaximumWhere it comes from
Local part64 charactersRFC 5321, section 4.5.3.1.1
One domain label (between dots)63 charactersDNS rules (RFC 1035)
Domain255 octets, which is 253 characters as writtenRFC 5321, section 4.5.3.1.2
Whole address254 charactersThe SMTP path is limited to 256 characters, including the angle brackets around the address

The 254-character limit is the one forms should enforce. Longer “addresses” cannot be delivered, whatever their parts look like.

Allowed characters

WhereAllowedNot allowed
Local part, unquoteda–z, A–Z, 0–9 and ! # $ % & ' * + - / = ? ^ _ { | } ~ and the backtick; dots between charactersSpaces, ( ) , : ; < > @ [ \ ], a dot at the start or end, two dots in a row
Local part, in quotesAlmost anything, including spaces and @: "jane doe"@example.comNothing practical: most services reject quoted local parts
Domaina–z, 0–9, hyphens inside a label, dots between labelsUnderscores, spaces, a hyphen at the start or end of a label, two dots in a row
Domain, as an IP addressjane@[192.0.2.10] is allowed by the standardRejected by almost every service and form

In practice, a much smaller set is safe: letters, digits, dots, hyphens, underscores, plus signs and apostrophes (o'brien@example.ie is real and common). If you build a form, accept everything the standard allows in the local part; rejecting an apostrophe or a plus sign turns away real people.

Valid and invalid examples

“Valid” means the address follows RFC 5321 and 5322. Whether a mailbox exists is a different question, answered by asking the mail server.

AddressValid?Why
jane@example.comYesThe simplest form
jane.doe@example.comYesDots between characters are fine
jane_doe@example.co.ukYesUnderscore in the local part, a domain with several labels
jane+newsletter@example.comYesA plus tag; most providers deliver it to jane@
o'brien@example.ieYesApostrophes are allowed, and common in names
1234567890@example.comYesDigits only is fine
x@example.coYesOne character is enough; .co is a real top-level domain
jane@example.emailYesOne of the newer top-level domains
JANE@EXAMPLE.COMYesUpper case is allowed and treated like lower case
jane@xn--bcher-kva.exampleYesAn internationalized domain in its ASCII (punycode) form
jane%example.org@example.comYes, but unusualA % sign is allowed; it’s a relic of old mail routing
"jane doe"@example.comYes, by the standardQuoted local part with a space; most services reject it
jane@[192.0.2.10]Yes, by the standardAn IP address instead of a domain; almost nobody accepts it
josé@example.comOnly with SMTPUTF8Non-ASCII letters need international email support (see below)
jane.example.comNoNo @ sign
jane@doe@example.comNoTwo @ signs outside quotes
.jane@example.comNoStarts with a dot
jane.@example.comNoEnds with a dot before the @
jane..doe@example.comNoTwo dots in a row
jane doe@example.comNoA space outside quotes
jane@exampleNo, for internet mailNo top-level domain
jane@-example.comNoA domain label can’t start with a hyphen
jane@exa_mple.comNoUnderscores aren’t allowed in mail domains
jane@example..comNoEmpty label between two dots
jane@example.conValid syntax, no such domain.con is not a top-level domain, so the address can’t receive mail

Test an address

Type an address to see which rules it passes. The check runs in your browser and follows the rules above, with one exception: domains written as IP addresses are rejected, since almost no service accepts them.

Runs in your browser: nothing is sent anywhere. Results update as you type.

Internationalized email addresses

Since RFC 6531 (SMTPUTF8), addresses may contain letters beyond ASCII, such as josé@example.com or a domain written in Chinese, Cyrillic or Arabic script. Domains have a fallback: they can always be written in ASCII “punycode” (xn--…), and mail servers do that conversion. The local part has no fallback, so a message to josé@ only arrives if every server on the way supports SMTPUTF8. Large providers such as Gmail do; many smaller systems and forms don’t. If you collect addresses, store them as UTF-8 and don’t reject non-ASCII letters outright.

Case sensitivity, dots and plus addressing

Top-level domains: .co, .con, .cc

The last label of the domain must be a top-level domain that exists in the DNS root zone, which IANA publishes. .co (Colombia), .cc (Cocos Islands), .io and newer ones like .email or .app are all real and in use. .con, .cmo and .comm are not, and addresses ending in them are typos. A good checker spots those and suggests the intended domain: the email syntax checker suggests gmail.com for gmial.com.

Format is not existence

A perfectly formatted address can still bounce: the mailbox may never have existed, or may have been deleted. Format rules, including any email regex, only catch typing errors. To find out whether mail will arrive, ask the receiving server: find out whether an email address is real with the free validator, or check addresses at sign-up with the email validation API.

Frequently asked questions

What is the correct format of an email address?

local-part@domain. The local part (before the @) identifies the mailbox, the domain (after the @) the mail system, for example jane.doe@example.com. The local part is at most 64 characters, the whole address at most 254.

What characters are allowed in an email address?

In the local part: letters, digits, dots (not at the start or end, and not two in a row) and the special characters ! # $ % & ' * + - / = ? ^ _ ` { | } ~. In the domain: letters, digits and hyphens, with dots between the labels. Spaces and other characters are only allowed inside quotes, which almost no service accepts.

How long can an email address be?

254 characters in total, and up to 64 for the part before the @. Those two limits come from the SMTP standard, RFC 5321. Each label of the domain (the parts between the dots) may have up to 63 characters, a rule of the DNS.

Are email addresses case sensitive?

The domain never is. The standard allows the part before the @ to be case sensitive, but practically every mail provider ignores case, so Jane.Doe@Example.com reaches jane.doe@example.com. Compare addresses without case, but keep the spelling the person typed.

Is .co a valid email domain?

Yes. .co is the country code of Colombia and widely used by companies, so jane@example.co can be a real address. .con, on the other hand, doesn't exist: it is almost always a typo for .com.

Email validation API

Validate emails in your app

emailvalidation.io checks syntax, MX records and the mailbox over SMTP, flags disposable, role and free addresses and returns a quality score, in one request.

/v1/info Email validation API Read the documentation

100 free validations every month. No credit card required.

GET https://api.emailvalidation.io/v1/info?email=support@emailvalidation.io

{
  "email": "support@emailvalidation.io",
  "user": "support",
  "tag": "",
  "domain": "emailvalidation.io",
  "format_valid": true,
  "mx_found": true,
  "smtp_check": true,
  "catch_all": null,
  "role": true,
  "disposable": false,
  "free": false,
  "score": 0.64,
  "state": "deliverable",
  "reason": "valid_mailbox",
  "did_you_mean": ""
}

Keep reading

Start using our email validation software today!

Get 100 validations per month for free