Internationalized email addresses explained

An internationalized email address contains characters outside ASCII: in the domain (info@bücher.example), in the local part before the @ (zoë@example.com), or in both. The two halves work very differently. An internationalized domain has an ASCII form, its A-label (xn--bcher-kva.example), so any mail server can deliver to it. A non-ASCII local part has no ASCII form: every server that handles the message must support the SMTPUTF8 extension, and when one does not, the message bounces rather than being converted. Forms should accept both kinds, store them as UTF-8 and normalize them to NFC.

The standards

Internationalized email is often called EAI, for Email Address Internationalization. It rests on two sets of standards: IDNA2008 for domain names and four RFCs from February 2012 for mail itself.

StandardWhat it covers
RFC 5890 and RFC 5891Internationalized domain names (IDNA2008): U-labels, A-labels and how a name is converted for DNS
RFC 6530The framework and overview of internationalized email
RFC 6531The SMTPUTF8 extension, which carries UTF-8 addresses in the SMTP envelope
RFC 6532UTF-8 in message header fields such as From and To
RFC 6533Bounce notices (DSNs) and read receipts for UTF-8 addresses

Two halves, two mechanisms

Internationalized domains

A domain label written in its native characters is a U-label. DNS stores it as an A-label: the prefix xn-- followed by the Punycode encoding of the label (RFC 5890, section 2.3.2.1). To look a name up, software converts it to Unicode in NFC form, validates it and then applies Punycode (RFC 5891, sections 5.2, 5.4 and 5.5).

U-label form:  info@bücher.example
A-label form:  info@xn--bcher-kva.example

Both lines name the same mailbox. RFC 6531, section 3.2, says explicitly that a domain in A-label form does not count as "internationalized" for SMTPUTF8 purposes. So an address with an ASCII local part and an internationalized domain can travel through any mail server once the domain is written as A-labels.

Non-ASCII local parts

RFC 6531, section 3.3, extends the address syntax so that the local part may contain UTF-8. There is no ASCII equivalent: the conversion between U-labels and A-labels applies to domain names only, and a provider that wants to give a user an ASCII address as well has to assign it separately, as the Universal Acceptance Steering Group's Quick Guide to EAI points out.

Nor can a server along the way rewrite the address. RFC 6530, section 9, recalls the SMTP rule that only the destination host may interpret a local part, so a downgrade in transit is ruled out. Earlier experimental versions of EAI did allow one; section 12 explains that this was dropped as more complex and less necessary than expected.

What happens on the wire

A receiving server that supports internationalized mail lists SMTPUTF8 in its reply to EHLO, and must also announce 8BITMIME (RFC 6531, section 3.1). A client sending a message that needs the extension adds the SMTPUTF8 parameter to its MAIL command (section 3.4):

S: 220 mx.example.net ESMTP
C: EHLO mail.example.com
S: 250-mx.example.net
S: 250-8BITMIME
S: 250 SMTPUTF8
C: MAIL FROM:<zoë@example.com> SMTPUTF8
S: 250 OK
C: RCPT TO:<info@bücher.example>
S: 250 OK

The EHLO names themselves stay ASCII, because the client cannot know whether the server supports the extension until it has read the reply (section 3.7.1).

When a server lacks SMTPUTF8

If the next server does not announce the extension, RFC 6531, section 3.2, forbids sending it an internationalized address or UTF-8 headers. The sending side then has three options:

Unless the sending side knows another address for the recipient, the result is a bounce. RFC 6531, section 3.5, defines the replies:

ReplyMeaning
553 with 5.6.7The recipient address (RCPT) must be ASCII at this server
550 with 5.6.7The sender address (MAIL) must be ASCII at this server
554 with 5.6.9After the message data: UTF-8 headers cannot be delivered to one or more recipients

A domain should run SMTPUTF8 on all of its MX hosts or on none, because a backup host without it causes rejections that look random to users (section 3.7.2). RFC 6533 adds a UTF-8 address type to bounce notices, so the bounce can still name the original recipient; see bounce processing and DSNs for how to read them. The UASG guide lists further transition problems: a message to several recipients can reach some and not others, and Reply-All can behave differently from the first send.

Which providers support it

Support has to exist at every hop: your sending platform, the recipient's provider and anything in between.

For any other provider, and for your own email platform, look for SMTPUTF8 in its documentation or ask. The UASG guide's advice to software makers is the same rule from the other side: check that the next server announces SMTPUTF8, never send EAI mail to one that does not, and give users a readable error when that happens.

Handling these addresses in forms

The UASG's UA Readiness Framework (UASG 026) splits an application's handling of an address into steps: accept, validate, process, store and display. Applied to a sign-up form:

  1. Accept every form. Allow UTF-8 in both halves, and a domain typed as U-labels or as A-labels. Note that the HTML Standard's rule for a valid address in a type="email" field allows only ASCII in the local part, so a browser can refuse a non-ASCII local part before your server sees it. If you need those addresses, use a text field and check on the server.
  2. Normalize to NFC. The same visible text can be stored as different code points: é can be one character or e followed by a combining accent. RFC 6532, section 3.1, says NFC should be used and NFKC should not, because NFKC can lose information needed to spell some names. UASG 026 also suggests NFC when nothing more specific applies.
  3. Do not fold or cut. Never turn é into e, and never truncate (UASG 026).
  4. Store the local part as UTF-8. Store the domain either as U-labels or as A-labels, and compare addresses in one consistent form.
  5. Do not lowercase the local part. RFC 6530, section 13, notes that lowercasing works for domain names but not for local parts, which are case sensitive.
  6. Display Unicode. Show people the U-label form; keep the A-label for DNS lookups.
  7. Watch for look-alikes. RFC 6530, section 13, warns that confusable characters allow spoofing in local parts as well as in domains, so take care where an address serves as a login or an account key.

Finally, confirm the address the way you would any other: a double opt-in message proves the mailbox works and that the person controls it. That only works if your sending platform supports SMTPUTF8. The general rules for the ASCII part of an address are in email address syntax.

Test addresses

The UASG's Test Domain Names and Email Addresses (UASG 004, November 2021) lists test domains and addresses in many scripts, set up to auto-reply when the sending domain is properly configured, including SPF. The UASG site says the site was archived in November 2025 and is no longer updated, so a listed address may no longer answer. Send test mail only to addresses published for that purpose, never to invented ones.

How our checks handle these addresses

Questions

Can an internationalized address be converted to ASCII?

The domain can: its A-label is the same domain. The local part cannot. A provider may give the user a separate ASCII address that reaches the same mailbox, but you cannot derive it from the internationalized one.

Should my form reject non-ASCII addresses?

The standards allow them, so a form should be able to take them and store them correctly. Whether you can mail them depends on your sending platform supporting SMTPUTF8, so check that before you rely on them for account mail. With our check, a non-ASCII local part comes back invalid, so our sign-up form recipe asks the person for another address; keep such an address only if you confirm it yourself.

Is an xn-- domain different from the Unicode one?

No. bücher.example and xn--bcher-kva.example are the same domain in two notations. DNS uses the A-label; people should see the Unicode form.

Try it

Check an address with an internationalized domain in the free email checker, or look up its records with the DMARC checker.

Sources

How we wrote this: drafted by the email-validation.org team with the help of AI writing tools, from our product documentation and the sources linked in the text.

Get up to 500 free credits. No card needed.

New accounts get 500 free credits (100 when you sign up with a free email provider such as Gmail, Outlook or Yahoo, or another personal mailbox such as a paid one like Fastmail or one from your internet provider). Try it on your own list before you buy.

Updated · Maintained by the email-validation.org team