Tools
Guides

Country Codes Reference

Reference

Lookup table of ISO 3166-1 country codes (alpha-2 / alpha-3 / UN M49 numeric), international calling codes, flags, capitals and ISO 4217 currencies — with search.

100% client-side No backend
Flag Country A2 A3 Numeric Calling Capital Currency
On this page

What is a country codes reference?#

Every international system — a payment gateway, a phone-number parser, a shipping label, an analytics dashboard — sooner or later needs to turn “Germany” into DE, 840 into “United States”, or +81 into “Japan”. Those short codes are not random abbreviations; they come from three coordinated standards maintained so that machines in different countries agree on the same entity:

  • ISO 3166-1 defines the two-letter (alpha-2, e.g. JP), three-letter (alpha-3, e.g. JPN), and three-digit (numeric, e.g. 392) identifiers for every country and major territory.
  • ITU-T E.164 defines the international dialling prefix you put after + (Japan is +81, Nigeria +234).
  • ISO 4217 defines the currency code (JPY, NGN).

This page puts all five in one searchable table, plus the capital city and a flag emoji computed straight from the alpha-2 code. The localized country and currency names are produced by your browser’s own Intl.DisplayNames, so they read naturally in your language rather than from a hand-translated list that drifts out of date.

How to use it#

  1. Start typing in the Search box at the top. One box matches everything: country name (in your language or English), alpha-2, alpha-3, the numeric code, the calling code, the capital, or the currency code. Type DE, Germany, 276, 49, Berlin, or EUR — they all land on the same row.
  2. Pure-digit queries do double duty. 840 matches the UN M49 numeric for the United States; 1 or +1 matches every North American Numbering Plan country (US, Canada, Jamaica, Puerto Rico …) by calling-code prefix.
  3. The count chip next to the search box shows how many rows survived the filter.
  4. Click any row (or tap a cell) to copy that exact value to the clipboard — handy when you need to paste alpha-2 into a form.
  5. The flag column shows the regional-indicator emoji. A few territories (Antarctica AQ) are valid Unicode that some platforms render as bare letters AQ instead of a flag; the code itself is still correct.

Key features#

  • 249 entries, one table — every ISO 3166-1 country plus major territories and dependencies (Greenland, Puerto Rico, Hong Kong, Åland …), each with all five codes.
  • Localized by the browser. Country and currency display names come from Intl.DisplayNames, so a viewer in French sees Allemagne and euro without any shipped translation table.
  • Smart digit matching. A numeric query hits both the UN M49 number (exact or prefix) and the calling code (digit prefix), so 1 reliably surfaces the NANP block.
  • Includes user-assigned codes. Kosovo (XK / XKX / 983) is present even though it is not yet an official ISO 3166-1 entry — many real systems use it.
  • 100% client-side. The dataset ships in the page; nothing is sent anywhere.

Worked example#

Suppose you are integrating a checkout and a customer enters the calling number with country code +234. You want to know whose number that is and what currency to default the form to.

Type 234 in the search box. Exactly one row survives:

FlagNameA2A3NumericCallingCapitalCurrency
🇳🇬NigeriaNGNGA566234AbujaNGN

So +234 → Nigeria, currency NGN (the Nigerian naira), capital Abuja. Now compare with a NANP member. Clear the box and type 1-787 — Puerto Rico (PR / PRI / 630), capital San Juan, currency USD, because it shares the US dialling plan through area code 787. The -xxx suffix is how this dataset distinguishes NANP area codes that would otherwise collide under a bare 1.

FAQ#

What is the difference between alpha-2 and alpha-3?#

Alpha-2 (US, DE, JP) is the compact form used everywhere a human might read it: top-level domains (example.de), address forms, locale tags (zh-CN). Alpha-3 (USA, DEU, JPN) is more legible and less ambiguous, so it shows up on passports, SWIFT/IBAN fields, and customs documents. Use alpha-2 when storage or screen space matters; alpha-3 when clarity does.

Why does 840 mean the United States?#

That is the UN M49 / ISO 3166-1 numeric code — a zero-padded three-digit number assigned independently of the alphabetic codes. It is valuable when characters outside ASCII are a problem and when you sort or compare codes from systems that disagree on spelling. The numeric code is the most stable identifier: it rarely changes even when a country is renamed.

Are calling codes unique per country?#

No. The North American Numbering Plan (+1) covers about 20 countries and territories; +7 is shared by Russia and Kazakhstan. That is why this dataset records area codes like 1-787 for Puerto Rico, so a search for the full digit string still disambiguates.

Is Kosovo a real country code?#

Kosovo uses the user-assigned code XK (transitional, not yet in ISO 3166-1). Many payment and telecom systems accept it today; this table includes it for exactly that reason, and flags it clearly so you don’t mistake it for an officially assigned code.