
Hyphens and Numbers in Domain Names: Good or Bad Idea?
Your perfect domain is taken, but the registrar cheerfully suggests best-coffee-shop.com or coffee4u.com instead. Both are available, both are cheap, and both are technically valid. The question is whether they are a smart compromise or a mistake you will be explaining over the phone for the next decade. Hyphens and numbers are not forbidden, and some very successful companies use them, but they change how easily people can remember, say, and type your domain. This article covers the technical rules for hyphens and digits, what they mean for SEO, the practical branding pros and cons, and how to protect yourself if you decide to use one. For the full naming process, start with how to choose the right domain name.
The Technical Rules
Domain names are made of labels separated by dots. In shop.example.com, the labels are shop, example, and com. The rules for what a label can contain come from a series of RFCs, starting with RFC 1035 and RFC 1123, and are often summarized as the LDH rule: letters, digits, and hyphens.
| Rule | Example that breaks it |
|---|---|
Only ASCII letters a-z, digits 0-9, and the hyphen - | my_site.com, café.com (needs Punycode) |
| A label cannot start with a hyphen | -example.com |
| A label cannot end with a hyphen | example-.com |
| Each label is 1 to 63 characters long | A 64-character label |
| The whole name is at most 253 characters in text form | Very long multi-label names |
| Hyphens in positions 3 and 4 are reserved | ab--cd.com |
| Letters are case-insensitive | Example.com equals example.com |
A few points deserve explanation:
- Digits can start a label. The original host-name rules in RFC 952 required a letter first, but RFC 1123 relaxed this, which is why domains like
1password.comand99designs.comare valid. - All-numeric names are allowed at the second level in most TLDs, so
123.comstyle domains exist. Some registries have their own restrictions, especially in country-code TLDs. - The double hyphen at positions 3 and 4 is reserved for internationalized domain names. Labels starting with
xn--are Punycode-encoded forms of non-ASCII names. Registries generally reject other labels with hyphens in those positions. What are internationalized domain names and Punycode explains the encoding. - Underscores are not allowed in host names you register, even though they appear in DNS records such as
_dmarc.example.com. Those are service labels, not registrable names.
Validating a Domain Label
This Python function checks whether a string is a valid LDH label for registration, including the reserved-hyphen rule:
import re
LABEL_RE = re.compile(r"^(?!-)[a-z0-9-]{1,63}(?<!-)$")
def is_valid_label(label: str) -> bool:
label = label.lower()
if not LABEL_RE.match(label):
return False
# Positions 3 and 4 (index 2 and 3) are reserved for IDNA, e.g. "xn--".
if len(label) >= 4 and label[2:4] == "--" and not label.startswith("xn--"):
return False
return True
def is_valid_domain(name: str) -> bool:
name = name.rstrip(".")
if len(name) > 253:
return False
labels = name.split(".")
return len(labels) >= 2 and all(is_valid_label(l) for l in labels)
for candidate in ["best-coffee.com", "coffee4u.com", "-coffee.com",
"coffee-.com", "ab--cd.com", "xn--caf-dma.com", "my_site.com"]:
print(f"{candidate:18s} {is_valid_domain(candidate)}")
The output marks best-coffee.com, coffee4u.com, and xn--caf-dma.com as valid and the rest as invalid. Note that this checks syntax only; a registry may still reserve or block a name, and some registries apply additional rules.
Do Hyphens or Numbers Affect SEO?
Not in a way that should drive your decision.
Google does not reward or penalize a domain for containing hyphens or digits. Its guidance on choosing a domain is to do what is best for your business and users, and it has said that keywords in the domain name alone have hardly any ranking effect. Hyphens matter more inside URL paths, where Google recommends using hyphens rather than underscores to separate words, as in /blue-running-shoes. That is about readability of paths, not the domain itself.
The SEO myths you may encounter:
- "Hyphenated domains are seen as spam." There is no rule that does this. The association exists because many low-quality sites in the past used long, multi-hyphen keyword domains like
cheap-best-discount-shoes-online.com. The problem was the spam, not the hyphens. - "Hyphens help Google read keywords in the domain." Google can parse joined words without hyphens, and keywords in the domain are not a meaningful ranking factor anyway. See what exact-match domains are for why.
- "Numbers make a domain look cheap to Google." Search engines do not judge domain aesthetics. Users might, which is the real issue.
The indirect effects come from people: whether they remember the name, type it correctly, trust it in the search results, and link to it. That is where hyphens and numbers make a difference.
Hyphens: Pros and Cons
When a Hyphen Helps
- Breaking up ambiguous word joins. Some names read differently when the words run together. The often-cited example is a site for an experts exchange, whose joined-up domain could be read as an entirely different phrase. A hyphen removes the ambiguity.
- Readability of longer names.
north-shore-dental.commay be easier to read on a sign thannorthshoredental.com, though the shorter form is easier to say. - Matching an existing brand. If your company name genuinely includes a hyphen, such as many double-barrelled names, the domain should match it.
- Availability. The hyphenated version of a name is often available when the unhyphenated
.comis not.
When a Hyphen Hurts
- Spoken communication. Every time you say the domain you have to say "dash" or "hyphen," and some listeners will still forget it.
- Traffic leakage. People who forget the hyphen land on the unhyphenated domain, which belongs to someone else. If that owner is a competitor, you are sending them customers. Email addressed without the hyphen goes to their mail server too.
- Mobile typing. The hyphen is on a secondary keyboard on most phones, adding friction.
- Trust. Phishing domains often use hyphens to add words to a real brand, such as
brand-login.comorbrand-support.com. Some users have learned to be wary of them. See what homograph attacks and lookalike domains are for how attackers exploit this.
One hyphen in a short name is manageable. Two or more starts to look like a keyword-stuffed domain and becomes genuinely hard to communicate.
Numbers: Pros and Cons
When Numbers Work
- The number is the brand. Names like
7-eleven.com,99designs.com, and1password.comwork because the number is part of a memorable identity, not a substitution. - Phone-number style brands. Names based on a well-known phone number or memorable numeric sequence can be powerful in specific markets.
- Short numeric names. Very short all-numeric domains can be valuable and are popular in some markets, particularly where numbers are easier to type or remember than words in the Latin alphabet.
When Numbers Cause Problems
- Digit or word? If you say "four seasons garden," does the listener type
4seasonsgarden.comorfourseasonsgarden.com? Every number in a spoken domain creates this ambiguity. - Text-speak substitutions. Domains like
tech4u.comorget2work.comcan feel informal or dated, which may not suit every brand. - Lookalike characters. The digit
0and lettero, and the digit1and letterl, are easy to confuse visually, which is useful for attackers and annoying for users.
A Quick Comparison
| Factor | Plain name | Hyphenated | With numbers |
|---|---|---|---|
| Easy to say aloud | Yes | Needs "dash" | Needs "the digit" or "spelled out" |
| Easy to type on mobile | Yes | Slightly slower | Slightly slower |
| Risk of traffic leakage | Low | High if the plain version is owned by someone else | High if the other spelling is owned |
Availability in .com | Hard for short names | Often easier | Often easier |
| Direct SEO effect | None | None | None |
| Best use case | Most brands | Brands with real hyphens or ambiguous word joins | Brands where the number is the identity |
If You Use a Hyphen or Number, Cover the Variants
The biggest practical risk is people going to the wrong variant. Where possible, register the obvious alternatives and redirect them to your main domain. This Python script generates common variants for a name and checks each one with RDAP, which returns HTTP 404 for unregistered domains:
import urllib.error
import urllib.request
NUMBER_WORDS = {"1": "one", "2": "two", "4": "four", "8": "eight"}
def variants(name: str, tld: str = "com") -> set[str]:
base = name.lower()
forms = {base, base.replace("-", "")}
for form in list(forms):
for digit, word in NUMBER_WORDS.items():
if digit in form:
forms.add(form.replace(digit, word))
if word in form:
forms.add(form.replace(word, digit))
return {f"{f}.{tld}" for f in forms}
def rdap_status(domain: str) -> str:
try:
with urllib.request.urlopen(f"https://rdap.org/domain/{domain}", timeout=15):
return "registered"
except urllib.error.HTTPError as err:
return "not registered" if err.code == 404 else f"unknown ({err.code})"
except urllib.error.URLError as err:
return f"lookup failed ({err.reason})"
for domain in sorted(variants("four-seasons-garden")):
print(f"{domain:28s} {rdap_status(domain)}")
For four-seasons-garden it checks four-seasons-garden.com, fourseasonsgarden.com, 4-seasons-garden.com, and 4seasonsgarden.com. Treat a 404 as "probably available" and confirm at a registrar, because some names are reserved or premium-priced.
Then send every variant you own to the primary domain with a permanent redirect. On Nginx:
server {
listen 443 ssl;
server_name fourseasonsgarden.com www.fourseasonsgarden.com
4seasonsgarden.com www.4seasonsgarden.com;
ssl_certificate /etc/letsencrypt/live/fsg-variants/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/fsg-variants/privkey.pem;
return 301 https://www.four-seasons-garden.com$request_uri;
}
Confirm the redirect works:
curl -sI https://4seasonsgarden.com/contact | grep -iE "^(HTTP|location)"
If you are not running your own server, registrar-level forwarding also works. For a wider view of which extra registrations are worth paying for, read should you buy multiple domain extensions.
Alternatives to Consider First
Before settling for a hyphen or number, try these:
- Add a short, meaningful word:
getacme.com,acmehq.com,tryacme.com, or a location likeacmeboston.com. - Use a different extension: If the
.comis taken, a fitting country-code or new gTLD may be cleaner than a hyphen. - Rework the name: A shorter or more distinctive name is often available in
.comwithout compromises. - Buy the plain version: If the unhyphenated name is parked or for sale, buying a domain that's already taken may be realistic.
Hyphens and Numbers FAQ
No. Google does not penalize hyphens in domain names, and keywords in a domain are not a meaningful ranking factor either way. The effects of a hyphen are on memorability and branding, not rankings.
No. Each label in a domain name must start and end with a letter or digit. Hyphens are only allowed in the middle of a label.
Yes. Since RFC 1123, labels may start with a digit. Domains such as 1password.com and 99designs.com are valid and widely used.
In most TLDs, yes. All-numeric second-level domains like 123.com are allowed in .com and many other extensions, though some registries apply their own restrictions.
Hyphens in the third and fourth positions are reserved for internationalized domain names, which use the xn-- prefix. Registries reject other labels with hyphens in those positions.
If both are available and affordable, yes. Redirect the secondary version to your main domain with a 301 so visitors who type either one reach you.
No. Underscores are not allowed in registrable domain names or host names. They only appear in special DNS labels, such as those used for DMARC and DKIM records.
Conclusion
Hyphens and numbers are perfectly valid in domain names as long as you follow the LDH rules: letters, digits, and hyphens only, no hyphen at the start or end of a label, and no hyphens in positions 3 and 4 unless it is an xn-- internationalized name. Search engines neither reward nor punish them, so the decision is really about people, specifically whether they can remember, say, type, and trust your domain without confusion.
A single hyphen that matches your brand or clarifies ambiguous words can be a sound choice, and a number that is genuinely part of your brand identity can be a strength. Multiple hyphens, text-speak numbers, or names where listeners cannot tell the digit from the word are compromises that cost you traffic over time. If you do use them, register the obvious variants, redirect them to your main domain, and you will capture most of the visitors who would otherwise go astray.
Here are some useful references for going deeper on domain name syntax and SEO:
- RFC 1035: Domain Names, Implementation and Specification — defines labels, length limits, and the preferred name syntax.
- RFC 1123: Requirements for Internet Hosts — relaxes the host-name rule so labels can start with a digit.
- RFC 5891: Internationalized Domain Names in Applications (IDNA): Protocol — explains the reserved hyphen positions and the xn-- prefix.
- Google Search Central: URL structure best practices — Google's guidance on hyphens and readable URLs.
- Google Search Central: SEO Starter Guide — includes Google's view on keywords in domain names.


