What are the allowed characters in a subdomain?

SubdomainSpecial Characters

Subdomain Problem Overview


What characters are you allowed to use in a subdomain?

Example: for someSub.example.com the someSub portion.

I know you can use letters, numbers, and hyphens, but what about other characters? Can _ (underscore) be used?

Subdomain Solutions


Solution 1 - Subdomain

Letters (except stressed à), Numbers 0-9 and Hyphen.

http://en.wikipedia.org/wiki/Domain_name excerpt: Valid characters that can be used in a domain name are:

a-z
0-9
- but not as a starting or ending character
. as a separator for the textual portions of a domain name

From https://www.rfc-editor.org/rfc/rfc1035

> Various objects and parameters in the DNS have size limits. They are > listed below. Some could be easily changed, others are more > fundamental.

labels          63 octets or less
names           255 octets or less
TTL             positive values of a signed 32 bit number.
UDP messages    512 octets or less

Solution 2 - Subdomain

According to this page, some top level domains now allow localized characters (not just a-z).

--------------------------------------------------------------------------------
| Top Level Domain |                    Allowed Characters                     |
--------------------------------------------------------------------------------
| .no              | áàäčçđéèêŋńñóòôöšŧüžæøå                                   |
| .se              | àáäåæçèéêëìíîïðñòóôöøùúüýþćčđěłńŋřśšţŧźžǎǐǒǔǥǧǩǯəʒ, plus Hebrew
| .dk              | äåæéöøü
| .is              | áéýúíóþæöð
| .it              | àâäèéêëìîïòôöùûüæœçÿ
| .fr              | àáâãäåæçèéêëìíîïñòóôõöùúûüýÿœ
| .nu              | àáâäåāæçèéêëēìíîïīðñŋòóôõöøōùúûüūýþÿ
| .be              | àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿœ
| .de              | àáâãäåāăąæçćĉċčďđèéêëēĕėęěŋðĝğġģĥħìíîïĩīĭįıĵķĸĺļľł
|                  | ñńņňòóôõöøōŏőœŕŗřśŝşšţťŧþùúûüũūŭůűųŵýÿŷźżž
| .as              | Same as .de
| .com             | Same as .de, plus Greek, Cyrillic, Chinese, Korean, etc.
| .net             | Same as .de, plus Greek, Cyrillic, Chinese, Korean, etc.
| .org             | áäåāąæćčéēėęģíīįķļłñńņðóöøōőŗśšúüūűųýźżžþ plus Cyrillic and Korean
| .info            | áäåāąæćčéēėęģíīįķļłńņðóöøōőŗśšúüūűųýźżžþ plus Korean
| .biz             | àáäåæéêíðñòóôöøúüýþ
--------------------------------------------------------------------------------

So, looks like we need to go back to the drawing board on that regex.

Solution 3 - Subdomain

Technically William is right, and only letters, numbers and hyphen (-) are allowed in subdomains.

However: in practice, you will see that underscore (_) will also work in all major browsers, but this is not guaranteed. Some providers and other services may not allow you to set it in DNS.

If you set a wildcard in DNS it will resolve, then then it is up to the actual application to take it or ignore it.

Solution 4 - Subdomain

Ironically, the other answers to this questions are correct answers to the question "what are the legal characters for a hostname or primary domain", while the answers to the question "can (hostname) subdomains have an underscore" are correct answers to this question.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsomerandomdudeView Question on Stackoverflow
Solution 1 - SubdomainWilliam DwyerView Answer on Stackoverflow
Solution 2 - SubdomainNightOwl888View Answer on Stackoverflow
Solution 3 - Subdomaindhr_pView Answer on Stackoverflow
Solution 4 - SubdomainAlex DupuyView Answer on Stackoverflow