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