PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains. WWW: http://www.simonecarletti.com/code/publicsuffix