Sounds like an innocent question! Yet one could hardly get more
dangerously political. Countries are supposed to get each their own
two-letter TLD in the DNS, or ccTLD (such as,
Germany), and this is the cause for economic battles which further
complicate the diplomatic difficulties.
Basically, there are four official sources:
The Secretariat of the United
Nations publishes the occasional “Country Names” in
its Terminology bulletin: this is a list of
Member of the United Nations, Members of the Specialized Agencies or
Parties to the Statute of the International Court of Justice (so
they say). Each country's name is given in short (usual) form and
formal (long) form, together with the corresponding adjective and name
of the inhabitants, all in each of the six official languages of the
United Nations: English, French, Spanish, Russian, Chinese and Arabic.
Thus, for China, one reads:
China / Chine (la) / China /
Китай / 中国 / الصين, and then
“the People's Republic of China” in all these languages,
then “Chinese”, and lastly the ISO alpha-2/3 country codes (see below)
and the date of admission to the United Nations (where relevant).
The edition I managed to get my hands on (and it wasn't easy! well, actually I just ordered it from Amazon) seems to be the latest at this time; it dates back to July 1997 but comes with two corrigenda (January 1998 and September 2000) lists 193 countries (numbered 1 through 193, plus 126bis for Niue, and minus 187 which is just a cross-reference from Vatican City State to the Holy See). To which list Timor-Leste should be added, which joined the UN on 2002-09-27, but it does not seem that the Terminology bulletin has been updated to reflect this.
This makes 194 countries, of which 191 are members of the United
Nations (the three which are not are: the Cook Islands, the Holy See
and Niue; Switzerland was the last to join before Timor-Leste, on
2002-09-10). I suppose the list is the object of bitter diplomatic
quarrels (why, there are even diplomatic quarrels, which I should tell
something of someday, about whether Belarus should be called
“le Bélarus” or “la Biélorussie” in French). No Taiwan, of
course, since the United Nations adheres to this ridiculous diplomatic
fiction that Taiwan is no independent state but a province of
China—not that anyone believes it, but one simply cannot get
both Chinas in the same organization, they automatically cancel out.
True, the list makes no claim at being a comprehensive list of all
countries in the world, only, I quote again,
States Member of the
United Nations, Members of the Specialized Agencies or Parties to the
Statute of the International Court of Justice.
Another important UN publication, from the
Statistics Division, is Standard Country or Area Codes for
Statistical Use (
Standard country or area codes and
geographical regions for statistical use). It comes, of course,
with a lot of disclaimers concerning the fact that the listing of
“areas” do not imply
any assumption regarding political
or other affiliation of countries or territories by the United
Nations. And Taiwan is cited as a
province of China. Each
country or area is given with its common name (again, in each of the
same six official languages), its three-digit code (the basic purpose
of the table) and the ISO alpha-3 code. The data are
available from the
UN's Web site.
The list includes all the countries listed in the “Country
Names” Terminology bulletin, with the same names,
and adds 39 codes, from American Samoa to Western Sahara, including
the Channel Islands, Greenland, the French overseas (island by
Occupied Palestinian Territory, Puerto Rico, and,
as I mentioned,
Taiwan, province of China. This brings us to
Of course, of these 232, not all are countries: Guadeloupe definitely isn't, nor is the Western Sahara. On the other hand, Taiwan certainly is (no matter what the UN and the People's Republic of China say), and so is Timor-Leste (it is now even a UN permanent member). Whether the Occupied Palestinian Territory is is a highly political question. For New Caledonia it is a question of time or of definition. And for Gibraltar, also, the question is delicate.
Then comes the ISO. Their ISO 3166
standard (Codes for the representation of names of countries and
their subdivisions), part 1 (“Country codes”) is
supposed to be the international standard for country codes. It does
country codes (the bit about subdivisions concerns the
second part of the standard, but ISO 3166-1 is supposedly a list of
country codes). Each country is listed with three codes, alpha-2 (two
letters), alpha-3 (three letters) and numeric-3 (three numbers, a code
which coincides with that of the UN's Statistics
In line with their usual totally absurd policy, ISO try to make you pay CHF148 (currently that's EUR97.78, or USD111.58) for some information that the United Nations give out for free. Just so you can have ISO's stamp on it! Never mind. Actually, in an act of great generosity, the ISO 3166 maintenance agency will let you access an on-line version of the alpha-2 code list with English country names.
The ISO 3166-1 list claims to be based only on the United Nations' official lists described above (they make this claim so as to throw off people who plague them with demands to a country code so they can have their own ccTLD); in fact it is false. In comparison with the United Nations' Statistics Division's list, ISO removes the Channel Islands (830) and the Isle of Man (833), but adds Bouvet Island (BV/BVT), the British Indian Ocean Territory (IO/IOT), Christmas Island (CX/CXR), the Cocos (Keeling) Islands (CC/CCK), the French Southern Territories (TF/ATF), Heard Island et the McDonald Islands (HM/HMD), South Georgia and the South Sandwich Islands (GS/SGS), the United States Minor Outlying Islands (UM/UMI), and lastly a big piece, Antarctica (AQ/ATA). (There are also a few minor differences in naming; for example, the United Nations write “Faeroe Islands” whereas ISO writes “Faroe Islands”; also, the “United States of America” are simply called the “United States” in ISO 3166-1, and the “United Kingdom of Great Britain and Northern Ireland” simply becomes the “United Kingdom”; but basically the names are the same. Note that the ISO 3166-1 alpha-2 code for the United Kingdom is “GB”, not “UK”; and the alpha-3 code is “GBR”.)
This brings us to a total of 239 codes.
Last comes the IANA. In their
handling of the root domain of the name hierarchy, IANA
are bound by the rules of RFC 1591,
which states that
The IANA is not in the business of
deciding what is and what is not a country. So, in creating the
country code TLDs, the
IANA is supposed to blindly reproduce the ISO 3166-1
Not so! There are six deviations between the ccTLD
database table and the ISO 3166-1 list and alpha-2 codes: namely,
.ac (Ascension Island),
.im (Isle of Man),
.tp (East Timor, whereas ISO 3166-1 gives
“TL” for Timor-Leste), and, weirdest of all,
.uk (United Kingdom, replacing the normal ISO 3166-1
alpha-2 code, “GB”). The addition of the Channel Island
(Jersey and Guernsey) and the Isle of Man is reasonable since they are
in the UN's Statistics Division's list, and the use of
“UK” rather than “GB” for the United Kingdom
is certainly historical. However, Ascension Island beats me: if I
believe my dictionary, it is a British meteorological station in the
South Atlantic, with around 300 inhabitants, and is administratively
bound to Saint Helena (which already has the “SH”
ISO 3166-1 code, and associated
Anyway, this brings now to 243 codes, which is indeed the
IANA ccTLD count. (Note that besides these
243 country code top-level domains, there are also 14 generic
top-level domains, viz.
.pro, and one
infrastructure top-level domain,
.arpa: so there are 258
top-level domains alltogether.)
This is still not the end of the story, however, for the
DNS: because IANA's list and the Root Zone
file that is used by the DNS root name servers do not
coincide exactly. First of all, the
.eh (Western Sahara)
.kp (Democratic People's Republic of Korea) zones,
although in IANA's list, do not have name servers.
Second, there are two “rogue” top-level domains which are
in the name servers but not in IANA's list: namely,
.su (the former code for the Soviet Union, which is
marked as transitionally reserved by ISO 3166) and
(the correct ISO code for the United Kingdom); the
.su domain is apparently still being used; as for the
.gb domain, a text comment in the DNS entries states that
This domain is frozen and will be phased out. Domain names for
United Kingdom go under
So there are indeed 258 top-level domains currently defined, but not
exactly the 258 which should be.
.uk. For details see the web
There used to be in ISO 3166-1 an “FX” code for
“Metropolitan France” (many contry lists still have this
entry); someone (being unsatisfied with the way the
domain was managed) tried to convince Jon Postel to create a
.fx ccTLD, but failed. The code has since
disappeared (it is marked as “exceptionally reserved”).
At various other times, there were also codes such as “BU”
(Burma), “CS” (Czechoslovakia), “DD” (German
Democratic Republic), “NT” (Zeus knows what!),
“SF” (Finland, variously), “SU” (USSR),
“YD” (Democratic Yemen) and “ZR” (Zaire),
which vanished for various reasons, and are or were transitionally
reserved. “TP” (East Timor) is also transitionally
reserved. The “ZZ” code is reserved for an unkown or
unspecified country, “AA” is reserved for Zeus knows what,
and “Xx” and some “Qx”
codes are reserved for private use (whatever that might be).
The “AC” (Ascension Island), “GG” (Guernsey),
“IM” (Isle of Man), “JE” (Jersey) and
“UK” (United Kingdom, variously) codes used by
IANA are exceptionally reserved, and so are, for various
other reasons, “AX” (Åland) [update: on
2004-02-13, the ISO 3166 maintenance agency has decided to include an
entry for Åland Islands with alpha code AX/ALA and numeric code 248;
this page should be updated to reflect this fact], “CP”
(Clipperton Island), “DG” (Diego Garcia), “EA”
(Ceuta, Melilla), “EU” (the European Union),
“IC” (Canary Islands), and “TA” (Tristan da
Cunha). Lastly, there are some variant (incorrect) codes which should
not be used, such as “DY” for Benin (correct code is
“BJ”), “EW” for Estonia (correct is
“EE”), and so forth.
The “PS/PSE” code for the Occupied Palestinian
Territory (Palestine) was added to ISO 3166-1 (effective 1999-10-01)
after the area was entered in the UN's Statistical
Division's list (Palestine has a permanent observer status in the
UN's General Assembly, as does the Holy See, the European
Union or the Sovereign Military Order of Malta) in September 1999.
.ps top-level domain was delegated
by IANA in March 2000.
Another note concerns Yugoslavia. What has been variously called “the Federal Republic of Yugoslavia (Serbia and Montenegro)”, then “the Federal Republic of Yugoslavia”, and then simply (transitionally) “Yugoslavia” by the United Nations, was informed by the General Assembly on 1992-09-22 (resolution 47/1) that it could not continue what was formerly the (UN founding member) “Socialist Federal Republic of Yugoslavia”. On 2001-11-01, it became a new UN member and on 2003-02-04 changed its name to “Serbia and Montenegro”. This means that references to “Yugoslavia” (or variants thereof) will cease to appear in UN publications, and the Statistics Division now lists the country as “Serbia and Montenegro” (891). The ISO 3166-1 maintenance agency might consequently decide to change the “YU/YUG” code of Yugoslavia to something different for Serbia and Montenegro; so far they have decided to maintain the status quo. (On the one hand, changing the code is unpleasant, especially if IANA decides to follow. On the other hand, it would be strange to continue using the same code when the United Nations have formally declared that the two are not the same.) [Update: on 2003-07-23, the ISO 3166 maintenance agency has decided to delete the YU/YUG code for Yugoslavia and to replace it with CS/SCG for Serbia and Montenegro, the numeric code 891 remaining unchanged; the YU/YUG code remains transitionally reserved for a period of five years. This page should be updated to reflect this fact.] While we're at it, there is the case of “The former Yugoslav Republic of Macedonia” (MK/MKD), often abreviated to FYROM, which got this perfectly ridiculous name because of political reasons (essentially the insistence on the part of Greece and Bulgaria that it could not simply be “Macedonia”).
Also, there is the question of the European Union. So far they have
been using a
.int domain, namely
Since the EU is not a country, it
cannot be a UN member (it has permanent observer status).
Nor is it part of a country: since the geographical divisions made for
statistical purposes by the UN's Statistics Division
cannot overlap, there cannot be one for the EU. Of
course, the ISO 3166 maintenance agency has then refused to attribute
the “EU” alpha-2 code to the European Union (but it did
reserve it exceptionally for that purpose). This caused some problem,
because the unified currency, the Euro, was registered by ISO 4217 as
“EUR”, and the first two letters of an ISO 4217 alpha-3
code are supposed to be identical with the ISO 3166 alpha-2 code, so
there should have been an “EU” alpha-2 code in
ISO 3166. Anyway, great political pressures are being set on various
bodies to make the “EU” code official and create a
.eu top-level domain, which ICANN has, so far,
Finally, I can say a word of the Order of Malta, or, more precisely, the “Sovereign Military Hospitaller Order of Saint John of Jerusalem of Rhodes and of Malta” (it is essential to get the name right, because there are countless pseudo-Orders of Malta with names that sound almost exactly like that but have nothing or very little authentic about them). They have UN permanent observer status, and can legitimately be considered as a sovereign State, but one without a territory: although the UN do not recognize them as such, some independant States do (most notably, Italy, and the Order has an embassy in Rome, on the Aventine; also, naturally, the Holy See). There is little likelihood, however, that the Order should get an ISO 3166-1 code ever.
Of course, all of this does not answer the original question. That should be somewhere between 194 and 239, but nobody seems to have a good answer.
Addendum [2003-08-03]: Marco Schmidt
marcoschmidtuserssourceforgenet) compiled his own list
of countries and territories and their codes, which seems to be
one of the most reliable on the Web.