Skip to Content

UK Region and Country Codes: Complete ISO 3166-2:GB List

The United Kingdom has over 200 ISO 3166-2:GB subdivision codes covering its four constituent countries (England, Scotland, Wales, Northern Ireland) and their individual council areas, counties, boroughs, and unitary authorities. This reference covers the structure and how to work with UK subdivision data.

UK Countries

The top-level subdivisions of the United Kingdom are its four constituent countries:

CodeNameType
GB-ENGEnglandCountry
GB-SCTScotlandCountry
GB-WLSWalesCountry
GB-NIRNorthern IrelandProvince

There are also two grouping codes:

CodeNameType
GB-EAWEngland and WalesNation
GB-GBNGreat BritainNation
GB-UKMUnited KingdomNation

Subdivision Types

The UK uses several types of administrative divisions:

TypeCountFound In
London borough32England
Metropolitan district36England
Unitary authority55+England, Wales
Two-tier county24England
Council area32Scotland
District council area26Northern Ireland
City corporation1England (City of London)
Country/Province/Nation7UK-wide

Key Regions

England

England has the most subdivisions, organized into London boroughs, metropolitan districts, unitary authorities, and two-tier counties. Some notable ones:

CodeNameType
GB-LNDLondon, City ofCity corporation
GB-WSMWestminsterLondon borough
GB-CMDCamdenLondon borough
GB-MANManchesterMetropolitan district
GB-BIRBirminghamMetropolitan district
GB-LDSLeedsMetropolitan district
GB-LIVLiverpoolMetropolitan district
GB-SHFSheffieldMetropolitan district
GB-BSTBristol, City ofUnitary authority
GB-OXFOxfordshireTwo-tier county
GB-CAMCambridgeshireTwo-tier county

Scotland

Scotland is divided into 32 council areas:

CodeNameType
GB-EDHEdinburgh, City ofCouncil area
GB-GLGGlasgow CityCouncil area
GB-ABEAberdeen CityCouncil area
GB-DNDDundee CityCouncil area
GB-HLDHighlandCouncil area
GB-FIFFifeCouncil area

Wales

Wales uses 22 unitary authorities:

CodeNameType
GB-CRFCardiffUnitary authority
GB-SWASwanseaUnitary authority
GB-NWPNewportUnitary authority
GB-GWNGwyneddUnitary authority
GB-POWPowysUnitary authority
GB-PEMPembrokeshireUnitary authority

Northern Ireland

Northern Ireland uses 26 district council areas:

CodeNameType
GB-BFSBelfastDistrict council area
GB-DRYDerryDistrict council area
GB-LSBLisburnDistrict council area
GB-ANTAntrimDistrict council area
GB-ARMArmaghDistrict council area

Using UK Subdivision Codes in Code

Get All UK Subdivisions

import { subdivision } from '@koshmoney/countries'; const all = subdivision.forCountry('GB'); console.log(all.length); // 200+

Get UK Countries Only

import { subdivision } from '@koshmoney/countries'; const ukCountries = subdivision.forCountry('GB') .filter(s => s.type === 'Country' || s.type === 'Province'); // [ // { code: 'GB-ENG', name: 'England', type: 'Country' }, // { code: 'GB-NIR', name: 'Northern Ireland', type: 'Province' }, // { code: 'GB-SCT', name: 'Scotland', type: 'Country' }, // { code: 'GB-WLS', name: 'Wales', type: 'Country' }, // ]

Look Up a Specific Region

import { subdivision } from '@koshmoney/countries'; subdivision.whereCode('GB-MAN'); // { code: 'GB-MAN', name: 'Manchester', type: 'Metropolitan district', countryCode: 'GB', regionCode: 'MAN' } subdivision.where('GB', 'EDH'); // { code: 'GB-EDH', name: 'Edinburgh, City of', type: 'Council area', countryCode: 'GB', regionCode: 'EDH' }

Validate Subdivision Codes

import { subdivision } from '@koshmoney/countries'; subdivision.isValidCode('GB-ENG'); // true (England) subdivision.isValidCode('GB-SCT'); // true (Scotland) subdivision.isValidCode('GB-LON'); // false (not a valid code) subdivision.isValidRegion('GB', 'WLS'); // true (Wales)

Build a UK Countries Dropdown

import { subdivision } from '@koshmoney/countries'; // Simple 4-option dropdown for UK countries const ukCountryOptions = [ { value: 'ENG', label: 'England' }, { value: 'SCT', label: 'Scotland' }, { value: 'WLS', label: 'Wales' }, { value: 'NIR', label: 'Northern Ireland' }, ]; // Or dynamically from data const options = subdivision.forCountry('GB') .filter(s => s.type === 'Country' || s.type === 'Province') .map(s => ({ value: s.code.split('-')[1], label: s.name, }));

UK Postcode Validation

UK postcodes follow a complex format (e.g., SW1A 1AA, EC2R 8AH):

import { postalCode } from '@koshmoney/countries'; postalCode.isValid('GB', 'SW1A 1AA'); // true (Westminster) postalCode.isValid('GB', 'EC2R 8AH'); // true (City of London) postalCode.isValid('GB', 'EH1 1YZ'); // true (Edinburgh) postalCode.isValid('GB', '12345'); // false (not UK format) postalCode.getName('GB'); // 'Postcode' postalCode.getFormat('GB'); // 'AA9A 9AA'

GB vs UK: The ISO Code

The ISO 3166 alpha-2 code for the United Kingdom is GB (from Great Britain), not UK. This is one of the most common country code mistakes:

import { country } from '@koshmoney/countries'; country.whereAlpha2('GB'); // { name: 'United Kingdom', alpha2: 'GB', alpha3: 'GBR', numeric: '826' } country.isAlpha2('UK'); // false -- UK is not a valid ISO code

SEPA and Post-Brexit Status

The UK left the EU in 2020 but remains a SEPA member:

import { membership } from '@koshmoney/countries/membership'; membership.isEU('GB'); // false (left the EU) membership.isSEPA('GB'); // true (still in SEPA) membership.isEurozone('GB'); // false membership.isSchengen('GB'); // false