Skip to Content

Countries Sharing the Same Dial Code: A Developer’s Guide

Most countries have their own unique international dialing code, but several groups of countries and territories share a single code. This is relevant for developers building phone number validation, country detection from phone prefixes, and telecom applications. A dialing code alone does not always identify a country.

This guide covers every major shared dialing code, why they are shared, and how to handle them in code.

+1: The North American Numbering Plan

The most widely shared dialing code is +1, used by the United States, Canada, and 18 Caribbean nations and territories under the North American Numbering Plan (NANP). Each country or territory within the NANP has unique area codes that distinguish them:

Country / TerritoryAlpha-2Alpha-3Area Codes (examples)
United StatesUSUSA201-989 (various)
CanadaCACAN204, 226, 236, 249, …
BahamasBSBHS242
BarbadosBBBRB246
AnguillaAIAIA264
Antigua and BarbudaAGATG268
British Virgin IslandsVGVGB284
Cayman IslandsKYCYM345
BermudaBMBMU441
GrenadaGDGRD473
U.S. Virgin IslandsVIVIR340
Turks & Caicos IslandsTCTCA649
JamaicaJMJAM876
MontserratMSMSR664
Saint LuciaLCLCA758
Dominican RepublicDODOM809, 829, 849
Saint Kitts And NevisKNKNA869
Trinidad and TobagoTTTTO868
Saint Vincent And The GrenadinesVCVCT784
Puerto RicoPRPRI787, 939

This means you cannot determine the country from +1 alone — you need the area code as well.

import { dialCode } from '@koshmoney/countries/dialCode'; // All of these return '+1' dialCode.getDialCode('US'); // '+1' dialCode.getDialCode('CA'); // '+1' dialCode.getDialCode('JM'); // '+1' dialCode.getDialCode('BS'); // '+1' dialCode.getDialCode('BB'); // '+1'

[!NOTE] Within the NANP, calls between participating countries are dialed as domestic calls (1 + area code + number) without needing the international dialing prefix. This is why the format looks identical for US and Canadian numbers.

+7: Russia and Kazakhstan

Russia and Kazakhstan share the +7 dialing code, a legacy of the Soviet telephone system:

CountryAlpha-2Alpha-3Code Prefix
RussiaRURUS+7 (most area codes)
KazakhstanKZKAZ+7 6xx, +7 7xx

Kazakhstan uses area codes starting with 6 and 7 (e.g., +7 701, +7 727), while Russian area codes use other prefixes. Since December 2023, Kazakhstan has been transitioning to its own +997 code, but +7 remains operational during the transition period.

import { dialCode } from '@koshmoney/countries/dialCode'; dialCode.getDialCode('RU'); // '+7' dialCode.getDialCode('KZ'); // '+7'

+44: United Kingdom and Crown Dependencies

The UK dialing code +44 is shared with several Crown Dependencies and overseas territories:

Country / TerritoryAlpha-2Alpha-3Notes
United KingdomGBGBRMain +44 user
GuernseyGGGGYCrown Dependency
Isle of ManIMIMNCrown Dependency
JerseyJEJEYCrown Dependency

The Crown Dependencies (Guernsey, Isle of Man, Jersey) have their own ISO 3166 codes but share the +44 dialing code with the UK. They have distinct area code ranges within the +44 numbering plan.

import { dialCode } from '@koshmoney/countries/dialCode'; dialCode.getDialCode('GB'); // '+44' dialCode.getDialCode('GG'); // '+44' dialCode.getDialCode('IM'); // '+44' dialCode.getDialCode('JE'); // '+44'

+47: Norway and Svalbard

Country / TerritoryAlpha-2Alpha-3
NorwayNONOR
Svalbard & Jan MayenSJSJM

Svalbard and Jan Mayen Islands are under Norwegian sovereignty and share Norway’s +47 dialing code.

+61: Australia and Territories

Country / TerritoryAlpha-2Alpha-3
AustraliaAUAUS
Christmas IslandCXCXR
Cocos IslandsCCCCK

Australia’s external territories share the +61 dialing code, with Christmas Island using the area code 08 9164 and Cocos Islands using 08 9162.

+64: New Zealand and Territories

Country / TerritoryAlpha-2Alpha-3
New ZealandNZNZL
PitcairnPNPCN

Pitcairn Islands use the +64 code through a New Zealand satellite link.

Why This Matters for Developers

Phone number validation

When validating phone numbers, a dialing code alone is not enough to determine the country. You need additional logic:

import { dialCode } from '@koshmoney/countries/dialCode'; import { country } from '@koshmoney/countries'; // WARNING: This function is incomplete for shared dial codes // For production use, use libphonenumber-js directly for full parsing function getCountryFromDialCode(code: string): string[] { const allCountries = dialCode.getSupportedCountries(); return allCountries.filter((cc) => dialCode.getDialCode(cc) === code); } getCountryFromDialCode('+1'); // ['AG', 'AI', 'AS', 'BB', 'BM', 'BS', 'CA', 'DM', 'DO', 'GD', // 'GU', 'JM', 'KN', 'KY', 'LC', 'MP', 'MS', 'PR', 'SX', 'TC', // 'TT', 'US', 'VC', 'VG', 'VI'] getCountryFromDialCode('+44'); // ['GB', 'GG', 'IM', 'JE'] getCountryFromDialCode('+49'); // ['DE'] -- Germany has a unique code

Country selector for phone inputs

When building a phone number input with a country selector, display both the country name and dial code. For countries sharing a dial code, the user must select the specific country:

import { dialCode } from '@koshmoney/countries/dialCode'; import { country } from '@koshmoney/countries'; const phoneCountries = dialCode.getSupportedCountries() .map((code) => ({ value: code, label: country.toName(code), dialCode: dialCode.getDialCode(code), })) .filter((c) => c.label && c.dialCode) .sort((a, b) => a.label!.localeCompare(b.label!)); // In your UI, display as: // "United States (+1)" // "Canada (+1)" // "Jamaica (+1)" // "Germany (+49)" // This lets users disambiguate shared codes

SMS routing

SMS providers need the full phone number (including area code) to route messages correctly within shared dial code zones. When sending to +1 numbers, the area code determines whether the message routes to the US, Canada, or a Caribbean carrier:

import { dialCode } from '@koshmoney/countries/dialCode'; function validatePhoneForSMS(countryCode: string, phoneNumber: string): boolean { // Verify the country supports phone operations if (!dialCode.isValidPhoneCountry(countryCode)) { return false; } const code = dialCode.getDialCode(countryCode); if (!code) return false; // For NANP countries, ensure we have 10 digits after the +1 if (code === '+1') { const digits = phoneNumber.replace(/\D/g, ''); return digits.length === 10 || digits.length === 11; } return phoneNumber.length > 4; // Basic length check for other countries }

Complete List of Shared Dial Codes

Dial CodeCountriesCount
+1US, CA, and 18+ Caribbean nations20+
+7Russia, Kazakhstan2
+44UK, Guernsey, Isle of Man, Jersey4
+47Norway, Svalbard & Jan Mayen2
+61Australia, Christmas Island, Cocos Islands3
+64New Zealand, Pitcairn2
+262Reunion, Mayotte2
+590Guadeloupe, St. Barthelemy, St. Martin3

Most other countries have unique dialing codes. The vast majority of the world’s 200+ countries can be identified by their dialing code alone — the shared codes listed above are the exceptions.

Summary

While most countries have unique international dialing codes, several groups share codes due to historical, political, or geographic reasons. The largest shared code is +1 (NANP), covering 20+ countries. For developers, the key takeaway is that a dialing code alone does not always identify a country — you need area codes or user selection to disambiguate. The @koshmoney/countries library provides dialCode.getDialCode() for code lookups and dialCode.getSupportedCountries() for building phone input components.