Note: The ENS App and ENS Explorer are both currently on Sepolia testnet. Behaviour and available features may change before mainnet.
Not every string of characters can be an ENS name. The rules come from a standard called normalisation (ENSIP-15), which every wallet and app applies the same way — it decides which characters are allowed, and makes sure two names that look the same really are the same.
The rules at a glance
Always safe: lowercase letters, digits, and hyphens —
mywallet.eth,nick-01.eth.Also allowed: letters from most of the world's writing systems, and emoji —
💩.ethis a valid name.Capitals are fine to type, but don't exist in names. Everything is lowercased:
TEST.ethandtest.ethare the same name, stored astest.eth.Not allowed: spaces, almost all punctuation, and invisible characters.
Length: a
.ethname needs at least three characters before the.eth.
What gets rejected, and why
The rules exist to stop names that could deceive. Unicode contains many characters that look identical — a Cyrillic "о" and a Latin "o", say — and without strict rules, nick.eth written with a look-alike letter could be a completely different name to the one you think you're sending to. So normalisation rejects:
Spaces and punctuation — full stops separate labels (
sub.name.eth); nothing else of that kind is allowed inside one.Invisible characters — zero-width characters that could hide inside a name.
Deceptive alphabet mixing — combinations of scripts that imitate each other are banned within a label.
A few placement rules — an underscore can only appear at the start of a label, and the third and fourth characters can't both be hyphens.
You don't need to memorise any of this: the ENS App and ENS Explorer apply the rules for you, so a non-normalised name can't be registered or created through them.
Subnames follow the same rules
A subname like alice.yourname.eth is a valid ENS name in its own right, and each part between the dots follows the same character rules above. The three-character minimum is a registration rule for .eth names — subname labels can be shorter.
How to check a name
Registering or creating a subname? You can't get an invalid name through — the ENS App refuses non-normalised names at registration search, and ENS Explorer applies the same rules when you create a subname. If the button works, the name is valid.
Inspecting an existing name? Open it in ENS Explorer and check the Token Info tab. The Normalization row shows a green
✓ Normalizedpill for valid names and a red⊗ Not Normalizedpill for names that fail the rules. See The name page in ENS Explorer, tab by tab.
Common questions
Why won't the app accept the name I typed?
A character in it isn't allowed — most often a space, a punctuation mark, or an invisible character that came along when you pasted the name. Retype it by hand and try again.
Are emoji really allowed?
Yes — but only proper, fully-formed emoji from the allowed set. Variants of the same emoji normalise to a single form, so two visually identical emoji names can't exist side by side.
Explorer shows a name as ⊗ Not Normalized. What does that mean?
The name contains characters today's rules reject. It still exists on-chain and can hold records — but wallets and apps applying normalisation will refuse it, so it can't reliably be sent to. Explorer flags it so you know before you interact with it.
Can a not-normalised name be fixed?
No. Whether a name is allowed is a property of its characters, not a setting — you can't normalise an existing name. The only path is registering a different, valid name.
