50

Is there a maximum allowed subdomain depth supported by webservers or browsers?

For example, could a domain like foo.bar.baz.monkey.pirate.google.com cause problems?

3 Answers 3

44

I believe the DNS itself can have up to 127 levels of label, each label can be up to 63 characters and the maximum length of the whole record is limited to 253 characters as you have to encode the length and a terminating 0.

4
  • 11
    The 127 levels is just a consequence of the 255 character limit (which includes the length and a trailing dot, but not a terminating 0).
    – Chris S
    Commented Mar 6, 2014 at 14:52
  • 2
    wikipedia also mentiones the 127 level limit. en.wikipedia.org/wiki/Subdomain#Overview regarding webservers and browsers they must be analyzed and tested individually
    – weberik
    Commented Mar 6, 2014 at 17:58
  • 1
    With the caveat that just using the IP address becomes easier to remember if the name gets too long and ridiculously convoluted, so there's a practical user-patience-for-nonsense limit.
    – milli
    Commented Mar 8, 2014 at 20:45
  • 2
    @milli Well, that depends on the domain. A random 32-bit number, to me, is harder to remember than now.is.the.time.for.all.good.men.to.come.to.the.aid.of.their.country. Because I don't know how your memory works, but mine's definitely a graph database. Commented Aug 1, 2014 at 14:53
15

There is no defined maximum in terms of the number of dot-delimited subdomains, but DNS does limit the maximum overall length of a hostname (including the dots) to 255 characters.

1
  • 1
    Not part of the Q, but the length of each "label" is also limited, as Iain notes.
    – Chris S
    Commented Mar 6, 2014 at 14:53
5

Due to rfc1035:

To simplify implementations, the total length of a domain name (i.e., label octets and label length octets) is restricted to 255 octets or less.

Also

Each label is represented as a one octet length field followed by that number of octets. Since every domain name ends with the null label of the root, a domain name is terminated by a length byte of zero

So, maximum valid length is 255-2 symbols (tested in DIG). Whole UDP message also should be less or equal 512 bytes. But that's not too small and makes IPoverDNS possible.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .