IANA is responsible for determining an appropriate trustee for each ccTLD. Administration and control is then delegated to that trustee, which is responsible for the policies and operation of the domain. The current delegation can be determined from IANA's list of ccTLDs. Individual ccTLDs may have varying requirements and fees for registering subdomains. There may be a local presence requirement (for instance, citizenship or other connection to the ccTLD), as for example the Canadian (ca) and German (de) domains, or registration may be open.

The IANA is not in the business of deciding what is and what is not a country. The selection of the ISO 3166 list as a basis for country code top-level domain names was made with the knowledge that ISO has a procedure for determining which entities should be and should not be on that list.

Almost all current ISO 3166-1 codes have been assigned and do exist in DNS. However, some of these are effectively unused. In particular, the ccTLDs for the Norwegian dependency Bouvet Island (bv) and the designation Svalbard and Jan Mayen (sj) do exist in DNS, but no subdomains have been assigned, and it is Norid policy not to assign any at present. Two French territories, bl (Saint Barthélemy) and mf (Saint Martin), still[update] await local assignment by France's government.

The former .um ccTLD for the U.S. Minor Outlying Islands was removed in April 2008. Under RFC 1591 rules .um is eligible as a ccTLD on request by the relevant governmental agency and local Internet user community.

Several ASCII ccTLDs are in use that are not ISO 3166-1 two-letter codes. Some of these codes were specified in older versions of the ISO list.

uk (United Kingdom): The ISO 3166-1 code for the United Kingdom is GB. However, the JANET network had already selected uk as a top-level identifier for its pre-existing Name Registration Scheme, and this was incorporated into the DNS root. gb was assigned with the intention of a transition, but this never occurred and the use of uk is now entrenched.

su This obsolete ISO 3166 code for the Soviet Union was assigned when the Soviet Union was still extant; moreover, new su registrations are accepted.

eu (European Union): On September 25, 2000, ICANN decided to allow the use of any two-letter code in the ISO 3166-1 reserve list that is reserved for all purposes. Only EU currently meets this criterion. Following a decision by the EU's Council of Telecommunications Ministers in March 2002, progress was slow, but a registry (named EURid) was chosen by the European Commission, and criteria for allocation set: ICANN approved eu as a ccTLD, and it opened for registration on 7 December 2005 for the holders of prior rights. Since 7 April 2006, registration is open to all.

tp (the previous ISO 3166-1 code for East Timor): Being phased out in favor of tl since 2005.

There are two ccTLDs that have been deleted after the corresponding 2-letter code was withdrawn from ISO 3166-1: cs (for Czechoslovakia) and zr (for Zaire). There may be a significant delay between withdrawal from ISO 3166-1 and deletion from the DNS; for example, ZR ceased to be an ISO 3166-1 code in 1997, but the zr ccTLD was not deleted until 2001. Other ccTLDs corresponding to obsolete ISO 3166-1 codes have not yet been deleted. In some cases they may never be deleted due to the amount of disruption this would cause for a heavily used ccTLD. In particular, the Soviet Union's ccTLD su remains in use more than a decade after SU was removed from ISO 3166-1.

The temporary reassignment of country code cs (Serbia and Montenegro) until its split into rs and me (Serbia and Montenegro, respectively) led to some controversies[3][4] about the stability of ISO 3166-1 country codes, resulting in a second edition of ISO 3166-1 in 2007 with a guarantee that retired codes will not be reassigned for at least 50 years, and the replacement of RFC 3066 by RFC 4646 for country codes used in language tags in 2006.

The previous ISO 3166-1 code for Yugoslavia, YU, was removed by ISO on 2003-07-23, but the yu ccTLD remained in operation. Finally, after a two-year transition to Serbian rs and Montenegrin me, the .yu domain was phased out in March 2010.

Australia was originally assigned the oz country code, which was later changed to au with the .oz domains moved to .oz.au.

ICANN started to accept applications for IDN ccTLDs in November 2009,[5] and installed the first set into the Domain Names System in May 2010. The first set was a group of Arabic names for the countries of Egypt, Saudi Arabia, and the United Arab Emirates. By May 2010, 21 countries had submitted applications to ICANN, representing 11 languages.[6]

ICANN requires all potential international TLDs to use at least one letter that does not resemble a Latin letter, or have at least three letters, in an effort to avoid IDN homograph attacks. Nor shall the international domain name look like another domain name, even if they have different alphabets. Between Cyrillic and Greek alphabets, for example, this could happen.