Country calling codes list: download every dial code as CSV, JSON or SQL
In short: 245 countries and territories with ISO code, +code, flag, exit and trunk prefixes, mobile and landline digit counts. Pick the columns, then download CSV, JSON, SQL or TypeScript. Limit: Countries and territories only; non-geographic codes such as +800 and +882 aren't listed.
This is the full list of country calling codes, the digits after the + in an international number, for 245 countries and territories, read from Google's libphonenumber data, which follows the ITU's assignments. Pick the columns you need, such as ISO code, +44 dial code, flag, exit and trunk prefixes or digit counts, and download it as CSV, JSON, SQL or a TypeScript constant.
Price: this tool is free. Live line type and carrier lookups come with Pro + Phone at $49.99/mo; email checking is from $9/mo. See pricing
245 countries and territories, 206 calling codes, from Google’s libphonenumber data.
iso2,name,dial_code,flag AF,Afghanistan,+93,🇦🇫 AX,Åland Islands,+358,🇦🇽 AL,Albania,+355,🇦🇱 DZ,Algeria,+213,🇩🇿 AS,American Samoa,+1,🇦🇸 AD,Andorra,+376,🇦🇩 AO,Angola,+244,🇦🇴 AI,Anguilla,+1,🇦🇮 AG,Antigua & Barbuda,+1,🇦🇬 AR,Argentina,+54,🇦🇷 AM,Armenia,+374,🇦🇲 AW,Aruba,+297,🇦🇼 AC,Ascension Island,+247,🇦🇨 …
Built in your browser from the table on this page. Nothing is sent.
🇦🇫 Afghanistan (AF)
- Code
- +93
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇦🇽 Åland Islands (AX)
- Code
- +358
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 6 to 10
🇦🇱 Albania (AL)
- Code
- +355
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇩🇿 Algeria (DZ)
- Code
- +213
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇦🇸 American Samoa (AS)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇦🇩 Andorra (AD)
- Code
- +376
- Exit
- 00
- Trunk
- –
- Mobile digits
- 6 or 9
🇦🇴 Angola (AO)
- Code
- +244
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇦🇮 Anguilla (AI)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇦🇬 Antigua & Barbuda (AG)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇦🇷 Argentina (AR)
- Code
- +54
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 10 or 11
🇦🇲 Armenia (AM)
- Code
- +374
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 8
🇦🇼 Aruba (AW)
- Code
- +297
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇦🇨 Ascension Island (AC)
- Code
- +247
- Exit
- 00
- Trunk
- –
- Mobile digits
- 5
🇦🇺 Australia (AU)
- Code
- +61
- Exit
- 0011
- Trunk
- 0
- Mobile digits
- 9
🇦🇹 Austria (AT)
- Code
- +43
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 7 to 13
🇦🇿 Azerbaijan (AZ)
- Code
- +994
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇧🇸 Bahamas (BS)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇧🇭 Bahrain (BH)
- Code
- +973
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇧🇩 Bangladesh (BD)
- Code
- +880
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 10
🇧🇧 Barbados (BB)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇧🇾 Belarus (BY)
- Code
- +375
- Exit
- 8 10
- Trunk
- 80
- Mobile digits
- 9
🇧🇪 Belgium (BE)
- Code
- +32
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇧🇿 Belize (BZ)
- Code
- +501
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇧🇯 Benin (BJ)
- Code
- +229
- Exit
- 00
- Trunk
- –
- Mobile digits
- 10
🇧🇲 Bermuda (BM)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇧🇹 Bhutan (BT)
- Code
- +975
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇧🇴 Bolivia (BO)
- Code
- +591
- Exit
- –
- Trunk
- –
- Mobile digits
- 8
🇧🇦 Bosnia & Herzegovina (BA)
- Code
- +387
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 8 or 9
🇧🇼 Botswana (BW)
- Code
- +267
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇧🇷 Brazil (BR)
- Code
- +55
- Exit
- –
- Trunk
- –
- Mobile digits
- 10 or 11
🇮🇴 British Indian Ocean Territory (IO)
- Code
- +246
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇻🇬 British Virgin Islands (VG)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇧🇳 Brunei (BN)
- Code
- +673
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇧🇬 Bulgaria (BG)
- Code
- +359
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 8 or 9
🇧🇫 Burkina Faso (BF)
- Code
- +226
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇧🇮 Burundi (BI)
- Code
- +257
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇰🇭 Cambodia (KH)
- Code
- +855
- Exit
- –
- Trunk
- 0
- Mobile digits
- 8 or 9
🇨🇲 Cameroon (CM)
- Code
- +237
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇨🇦 Canada (CA)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇨🇻 Cape Verde (CV)
- Code
- +238
- Exit
- 0
- Trunk
- –
- Mobile digits
- 7
🇧🇶 Caribbean Netherlands (BQ)
- Code
- +599
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇰🇾 Cayman Islands (KY)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇨🇫 Central African Republic (CF)
- Code
- +236
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇹🇩 Chad (TD)
- Code
- +235
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇨🇱 Chile (CL)
- Code
- +56
- Exit
- –
- Trunk
- –
- Mobile digits
- 9
🇨🇳 China (CN)
- Code
- +86
- Exit
- 00
- Trunk
- –
- Mobile digits
- 11
🇨🇽 Christmas Island (CX)
- Code
- +61
- Exit
- 0011
- Trunk
- 0
- Mobile digits
- 9
🇨🇨 Cocos (Keeling) Islands (CC)
- Code
- +61
- Exit
- 0011
- Trunk
- 0
- Mobile digits
- 9
🇨🇴 Colombia (CO)
- Code
- +57
- Exit
- –
- Trunk
- –
- Mobile digits
- 10
🇰🇲 Comoros (KM)
- Code
- +269
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇨🇬 Congo - Brazzaville (CG)
- Code
- +242
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇨🇩 Congo - Kinshasa (CD)
- Code
- +243
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 7 or 9
🇨🇰 Cook Islands (CK)
- Code
- +682
- Exit
- 00
- Trunk
- –
- Mobile digits
- 5
🇨🇷 Costa Rica (CR)
- Code
- +506
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇨🇮 Côte d’Ivoire (CI)
- Code
- +225
- Exit
- 00
- Trunk
- –
- Mobile digits
- 10
🇭🇷 Croatia (HR)
- Code
- +385
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 8 or 9
🇨🇺 Cuba (CU)
- Code
- +53
- Exit
- 119
- Trunk
- 0
- Mobile digits
- 8
🇨🇼 Curaçao (CW)
- Code
- +599
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7 or 8
🇨🇾 Cyprus (CY)
- Code
- +357
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇨🇿 Czechia (CZ)
- Code
- +420
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇩🇰 Denmark (DK)
- Code
- +45
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇩🇯 Djibouti (DJ)
- Code
- +253
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇩🇲 Dominica (DM)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇩🇴 Dominican Republic (DO)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇪🇨 Ecuador (EC)
- Code
- +593
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇪🇬 Egypt (EG)
- Code
- +20
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 10
🇸🇻 El Salvador (SV)
- Code
- +503
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇬🇶 Equatorial Guinea (GQ)
- Code
- +240
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇪🇷 Eritrea (ER)
- Code
- +291
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 7
🇪🇪 Estonia (EE)
- Code
- +372
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7 or 8
🇸🇿 Eswatini (SZ)
- Code
- +268
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇪🇹 Ethiopia (ET)
- Code
- +251
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇫🇰 Falkland Islands (FK)
- Code
- +500
- Exit
- 00
- Trunk
- –
- Mobile digits
- 5
🇫🇴 Faroe Islands (FO)
- Code
- +298
- Exit
- 00
- Trunk
- –
- Mobile digits
- 6
🇫🇯 Fiji (FJ)
- Code
- +679
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7
🇫🇮 Finland (FI)
- Code
- +358
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 6 to 10
🇫🇷 France (FR)
- Code
- +33
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇬🇫 French Guiana (GF)
- Code
- +594
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇵🇫 French Polynesia (PF)
- Code
- +689
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇬🇦 Gabon (GA)
- Code
- +241
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7 or 8
🇬🇲 Gambia (GM)
- Code
- +220
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7 or 9
🇬🇪 Georgia (GE)
- Code
- +995
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇩🇪 Germany (DE)
- Code
- +49
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 10 or 11
🇬🇭 Ghana (GH)
- Code
- +233
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇬🇮 Gibraltar (GI)
- Code
- +350
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇬🇷 Greece (GR)
- Code
- +30
- Exit
- 00
- Trunk
- –
- Mobile digits
- 10
🇬🇱 Greenland (GL)
- Code
- +299
- Exit
- 00
- Trunk
- –
- Mobile digits
- 6
🇬🇩 Grenada (GD)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇬🇵 Guadeloupe (GP)
- Code
- +590
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 9
🇬🇺 Guam (GU)
- Code
- +1
- Exit
- 011
- Trunk
- –
- Mobile digits
- 10
🇬🇹 Guatemala (GT)
- Code
- +502
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇬🇬 Guernsey (GG)
- Code
- +44
- Exit
- 00
- Trunk
- 0
- Mobile digits
- 10
🇬🇳 Guinea (GN)
- Code
- +224
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇬🇼 Guinea-Bissau (GW)
- Code
- +245
- Exit
- 00
- Trunk
- –
- Mobile digits
- 9
🇬🇾 Guyana (GY)
- Code
- +592
- Exit
- 001
- Trunk
- –
- Mobile digits
- 7
🇭🇹 Haiti (HT)
- Code
- +509
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇭🇳 Honduras (HN)
- Code
- +504
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇭🇰 Hong Kong SAR China (HK)
- Code
- +852
- Exit
- 00
- Trunk
- –
- Mobile digits
- 8
🇭🇺 Hungary (HU)
- Code
- +36
- Exit
- 00
- Trunk
- 06
- Mobile digits
- 9
🇮🇸 Iceland (IS)
- Code
- +354
- Exit
- 00
- Trunk
- –
- Mobile digits
- 7 or 9
| Country | Code | Exit | Trunk | Mobile digits |
|---|---|---|---|---|
| 🇦🇫 Afghanistan (AF) | +93 | 00 | 0 | 9 |
| 🇦🇽 Åland Islands (AX) | +358 | 00 | 0 | 6 to 10 |
| 🇦🇱 Albania (AL) | +355 | 00 | 0 | 9 |
| 🇩🇿 Algeria (DZ) | +213 | 00 | 0 | 9 |
| 🇦🇸 American Samoa (AS) | +1 | 011 | 10 | |
| 🇦🇩 Andorra (AD) | +376 | 00 | 6 or 9 | |
| 🇦🇴 Angola (AO) | +244 | 00 | 9 | |
| 🇦🇮 Anguilla (AI) | +1 | 011 | 10 | |
| 🇦🇬 Antigua & Barbuda (AG) | +1 | 011 | 10 | |
| 🇦🇷 Argentina (AR) | +54 | 00 | 0 | 10 or 11 |
| 🇦🇲 Armenia (AM) | +374 | 00 | 0 | 8 |
| 🇦🇼 Aruba (AW) | +297 | 00 | 7 | |
| 🇦🇨 Ascension Island (AC) | +247 | 00 | 5 | |
| 🇦🇺 Australia (AU) | +61 | 0011 | 0 | 9 |
| 🇦🇹 Austria (AT) | +43 | 00 | 0 | 7 to 13 |
| 🇦🇿 Azerbaijan (AZ) | +994 | 00 | 0 | 9 |
| 🇧🇸 Bahamas (BS) | +1 | 011 | 10 | |
| 🇧🇭 Bahrain (BH) | +973 | 00 | 8 | |
| 🇧🇩 Bangladesh (BD) | +880 | 00 | 0 | 10 |
| 🇧🇧 Barbados (BB) | +1 | 011 | 10 | |
| 🇧🇾 Belarus (BY) | +375 | 8 10 | 80 | 9 |
| 🇧🇪 Belgium (BE) | +32 | 00 | 0 | 9 |
| 🇧🇿 Belize (BZ) | +501 | 00 | 7 | |
| 🇧🇯 Benin (BJ) | +229 | 00 | 10 | |
| 🇧🇲 Bermuda (BM) | +1 | 011 | 10 | |
| 🇧🇹 Bhutan (BT) | +975 | 00 | 8 | |
| 🇧🇴 Bolivia (BO) | +591 | 8 | ||
| 🇧🇦 Bosnia & Herzegovina (BA) | +387 | 00 | 0 | 8 or 9 |
| 🇧🇼 Botswana (BW) | +267 | 00 | 8 | |
| 🇧🇷 Brazil (BR) | +55 | 10 or 11 | ||
| 🇮🇴 British Indian Ocean Territory (IO) | +246 | 00 | 7 | |
| 🇻🇬 British Virgin Islands (VG) | +1 | 011 | 10 | |
| 🇧🇳 Brunei (BN) | +673 | 00 | 7 | |
| 🇧🇬 Bulgaria (BG) | +359 | 00 | 0 | 8 or 9 |
| 🇧🇫 Burkina Faso (BF) | +226 | 00 | 8 | |
| 🇧🇮 Burundi (BI) | +257 | 00 | 8 | |
| 🇰🇭 Cambodia (KH) | +855 | 0 | 8 or 9 | |
| 🇨🇲 Cameroon (CM) | +237 | 00 | 9 | |
| 🇨🇦 Canada (CA) | +1 | 011 | 10 | |
| 🇨🇻 Cape Verde (CV) | +238 | 0 | 7 | |
| 🇧🇶 Caribbean Netherlands (BQ) | +599 | 00 | 7 | |
| 🇰🇾 Cayman Islands (KY) | +1 | 011 | 10 | |
| 🇨🇫 Central African Republic (CF) | +236 | 00 | 8 | |
| 🇹🇩 Chad (TD) | +235 | 00 | 8 | |
| 🇨🇱 Chile (CL) | +56 | 9 | ||
| 🇨🇳 China (CN) | +86 | 00 | 11 | |
| 🇨🇽 Christmas Island (CX) | +61 | 0011 | 0 | 9 |
| 🇨🇨 Cocos (Keeling) Islands (CC) | +61 | 0011 | 0 | 9 |
| 🇨🇴 Colombia (CO) | +57 | 10 | ||
| 🇰🇲 Comoros (KM) | +269 | 00 | 7 | |
| 🇨🇬 Congo - Brazzaville (CG) | +242 | 00 | 9 | |
| 🇨🇩 Congo - Kinshasa (CD) | +243 | 00 | 0 | 7 or 9 |
| 🇨🇰 Cook Islands (CK) | +682 | 00 | 5 | |
| 🇨🇷 Costa Rica (CR) | +506 | 00 | 8 | |
| 🇨🇮 Côte d’Ivoire (CI) | +225 | 00 | 10 | |
| 🇭🇷 Croatia (HR) | +385 | 00 | 0 | 8 or 9 |
| 🇨🇺 Cuba (CU) | +53 | 119 | 0 | 8 |
| 🇨🇼 Curaçao (CW) | +599 | 00 | 7 or 8 | |
| 🇨🇾 Cyprus (CY) | +357 | 00 | 8 | |
| 🇨🇿 Czechia (CZ) | +420 | 00 | 9 | |
| 🇩🇰 Denmark (DK) | +45 | 00 | 8 | |
| 🇩🇯 Djibouti (DJ) | +253 | 00 | 8 | |
| 🇩🇲 Dominica (DM) | +1 | 011 | 10 | |
| 🇩🇴 Dominican Republic (DO) | +1 | 011 | 10 | |
| 🇪🇨 Ecuador (EC) | +593 | 00 | 0 | 9 |
| 🇪🇬 Egypt (EG) | +20 | 00 | 0 | 10 |
| 🇸🇻 El Salvador (SV) | +503 | 00 | 8 | |
| 🇬🇶 Equatorial Guinea (GQ) | +240 | 00 | 9 | |
| 🇪🇷 Eritrea (ER) | +291 | 00 | 0 | 7 |
| 🇪🇪 Estonia (EE) | +372 | 00 | 7 or 8 | |
| 🇸🇿 Eswatini (SZ) | +268 | 00 | 8 | |
| 🇪🇹 Ethiopia (ET) | +251 | 00 | 0 | 9 |
| 🇫🇰 Falkland Islands (FK) | +500 | 00 | 5 | |
| 🇫🇴 Faroe Islands (FO) | +298 | 00 | 6 | |
| 🇫🇯 Fiji (FJ) | +679 | 00 | 7 | |
| 🇫🇮 Finland (FI) | +358 | 00 | 0 | 6 to 10 |
| 🇫🇷 France (FR) | +33 | 00 | 0 | 9 |
| 🇬🇫 French Guiana (GF) | +594 | 00 | 0 | 9 |
| 🇵🇫 French Polynesia (PF) | +689 | 00 | 8 | |
| 🇬🇦 Gabon (GA) | +241 | 00 | 7 or 8 | |
| 🇬🇲 Gambia (GM) | +220 | 00 | 7 or 9 | |
| 🇬🇪 Georgia (GE) | +995 | 00 | 9 | |
| 🇩🇪 Germany (DE) | +49 | 00 | 0 | 10 or 11 |
| 🇬🇭 Ghana (GH) | +233 | 00 | 0 | 9 |
| 🇬🇮 Gibraltar (GI) | +350 | 00 | 8 | |
| 🇬🇷 Greece (GR) | +30 | 00 | 10 | |
| 🇬🇱 Greenland (GL) | +299 | 00 | 6 | |
| 🇬🇩 Grenada (GD) | +1 | 011 | 10 | |
| 🇬🇵 Guadeloupe (GP) | +590 | 00 | 0 | 9 |
| 🇬🇺 Guam (GU) | +1 | 011 | 10 | |
| 🇬🇹 Guatemala (GT) | +502 | 00 | 8 | |
| 🇬🇬 Guernsey (GG) | +44 | 00 | 0 | 10 |
| 🇬🇳 Guinea (GN) | +224 | 00 | 9 | |
| 🇬🇼 Guinea-Bissau (GW) | +245 | 00 | 9 | |
| 🇬🇾 Guyana (GY) | +592 | 001 | 7 | |
| 🇭🇹 Haiti (HT) | +509 | 00 | 8 | |
| 🇭🇳 Honduras (HN) | +504 | 00 | 8 | |
| 🇭🇰 Hong Kong SAR China (HK) | +852 | 00 | 8 | |
| 🇭🇺 Hungary (HU) | +36 | 00 | 06 | 9 |
| 🇮🇸 Iceland (IS) | +354 | 00 | 7 or 9 |
Showing the first 100 of 245 rows. The download has all of them.
Next step
A code list tells you how numbers should look. It can't tell you which of yours work.
Use the list to build a phone field; check the numbers people type into it with the bulk validator, free in your browser. The phone add-on adds a live carrier lookup for each number: the carrier and the real line type.
No list right now? This tool stays free, no account, so bookmark it for next time. Ctrl+D (⌘+D on a Mac)
Ready to verify now? See the phone add-on
Sample result
245 countries and territories, about 206 calling codes, ready as CSV, JSON or SQL.
- United Kingdom
- +44
- Exit code
- 00
- Trunk prefix
- 0
What this means for you
Build a phone-field picker keyed on the ISO code; store the numbers themselves in E.164.
- ISO code, +code and flag on every row
- Exit and trunk prefixes
- Mobile and landline digit counts
- Pick the columns and the sort
- Download
- libphonenumber
- No signup
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
Also in: Português (Brasil) · Español · Deutsch · Français
How do I download a list of country calling codes?
- Tick the columns you want. The default is ISO code, country name, dial code with + and flag, the set most phone-field dropdowns need.
- Choose a format: CSV for spreadsheets, JSON for apps, SQL for a CREATE TABLE plus one INSERT per country, or a TypeScript constant.
- Sort by country name or by calling code.
- Download the file or copy it. The preview shows the first lines; the table below lists every country.
Example
- You enter
- The default columns (iso2, name, dial_code, flag), CSV, sorted by name.
- You get
- A CSV with a header row and 245 rows, from
AF,Afghanistan,+93toZW,Zimbabwe,+263, each with its flag emoji. Switch to JSON for objects like{"iso2": "GB", "dial_code": "+44"}, or SQL for a CREATE TABLE and 245 INSERTs. - Limits
- No usage limit and no account; it runs in your browser.
What's in the country code list?
One row for each of the 245 countries and territories in libphonenumber, Google's open-source numbering-plan library. The ISO 3166 code (GB) and English name, the calling code with and without + (+44, 44), the flag emoji built from the ISO code, the exit code dialled to call abroad from there (00, 011), the trunk prefix dropped after the country code (0), the digits a mobile and a landline have after the code, and an example mobile number.
Calling codes are assigned by the ITU under Recommendation E.164. libphonenumber follows those assignments and each country's own plan, and this page is rebuilt from it, so a change such as a new code reaches the list when the library ships it.
Why do some countries share a code?
Because a code can cover a whole numbering plan. +1 is the North American Numbering Plan: the US, Canada and many Caribbean and Pacific territories, told apart by area code. +7 is shared by Russia and Kazakhstan, +44 by the UK, Guernsey, Jersey and the Isle of Man. That is why the list has 245 rows but only about 206 different codes; a dropdown built from it should key on the ISO code, not the dial code.
To find which country a whole number belongs to, use the phone number country lookup; for a single code, the country code lookup also builds the digits to dial between two countries.
Should I store phone numbers with this list?
Use it to build the picker; store the number itself in E.164, a + and the full number with no spaces, such as +442079460958. Keeping the country code and the national number in two columns invites mismatches when one is edited without the other.
Exit codes are each country's default; some carriers use their own, and where the plan allows several the cell is left blank. Flag emoji are built from the ISO letters, so some systems, including Windows, show the two letters instead of a flag.
Is this better than copying a table from Wikipedia?
| This list | A copied web table | |
|---|---|---|
| Formats | CSV, JSON, SQL, TypeScript | Whatever you paste into |
| ISO code on every row | Yes | Often not |
| Exit, trunk and digit counts | Yes, from libphonenumber | Rarely |
| Matches the library that validates the numbers | Yes | No |
Who uses this tool, and for what?
- Developers
- Seed a country picker for a phone field as JSON or a TypeScript constant, keyed on the ISO code.
- Data teams
- Load the table into a database with the SQL file to join calling codes onto a contact list.
- CRM admins
- Build a picklist of dial codes with flags for a form, with the trunk prefix to strip on import.
- Support teams
- Keep a spreadsheet of exit codes for customers calling from abroad.
What can’t this tool tell you?
- Countries and territories only; non-geographic codes such as +800 and +882 aren't listed.
- Exit codes are each country's default; some carriers use other prefixes.
- Digit counts are for mobiles and landlines; toll-free and other services can differ.
- Country names are in English, as the Unicode CLDR data writes them.
Common questions
- How many country calling codes are there?
- libphonenumber maps 245 countries and territories to about 206 calling codes, because several places share one: +1 alone covers the US, Canada and many Caribbean and Pacific territories. The ITU also assigns codes for non-geographic services such as +800 international freephone, which belong to no country and aren't in this list.
- Where can I download country codes as JSON?
- Here: pick the columns, choose JSON and press Download. Each country is an object such as {"iso2": "GB", "name": "United Kingdom", "dial_code": "+44", "flag": "🇬🇧"}.
- Is the list free to use?
- Yes, there's no sign-up or limit. The underlying numbering data comes from libphonenumber, which Google publishes under the Apache License 2.0.
- What's the difference between a country code and an ISO code?
- The calling code is the number dialled (+44); the ISO 3166 code is the two letters that name the country (GB). Several countries can share a calling code, but each has its own ISO code.
- Why is the exit code blank for some countries?
- Where a country's plan allows several international prefixes, as in Brazil where the carrier chosen picks the digits, there's no single default to give. From a mobile, typing + works everywhere.
Sources
Well formatted is not the same as reachable.
This tool fixes how numbers are written. It cannot tell you whether a line is mobile, landline or VoIP, or which carrier holds it. That takes a live carrier lookup, which is what Pro + Phone ($49.99/mo) adds.
- Upload a CSV up to 100,000 rows with an email or phone column
- 5,000 live carrier lookups a month: carrier name and real line type
- Emails in the same file get a real SMTP mailbox check
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.