UK railway operator service groups

A (hopefully) comprehensive listing

Last update 8 March 2024

Additional information is always gratefully received, whether entirely new records (particularly historical records) or information to fill in gaps or correct errors, via the contact link under the Miscellaneous entry in the navigation bar above. Thank you.

Please select from the links below:

To allocate costs (typically delay and possession compensation) within the industry as a whole, each passenger train operating company is allocated a two letter code. Each TOC, whether franchised or 'open access', groups its services into profit centres (e.g. Central Trains grouped its services centred on Birmingham Snow Hill together and grouped its services centred on Birmingham New Street together). Each profit centre has a two digit identifier applied after the TOC code, usually starting at 01 and working sequentially (some gaps exist). In the Central Trains example, Birmingham New Street services were HG02.

This listing shows the TOC codes and the profit centres. They were mostly derived from the track access contracts in the Office of Rail and Road public register, which the reader is invited to peruse for fuller details of how the cross-industry finances work.

It will be seen that, where a new franchise is broadly the same as a previous one, the code carries forward. New franchises with substantially different geography receive new codes. Names given are the TOC's legal name (all versions used if the name changed during the TOC's life). Trading names, where different, do not appear on this page. Further details are available on the railway operators' licences and franchises pages. Freight and other operators not running regular timetabled passenger services do not have codes.

These codes were also used by the ORR in analysing network statistics.

A separate page shows all companies' (including non-passenger operators) business and sector codes.

It appears that, coincidentally, East Midlands Trains/Abellio East Midlands and South Yorkshire Supertram are the only companies with a code that matches their name.

Train Operating Company Service group code Note
Abellio East Anglia Limited
EB EB02 Southend & Southminster EB03 Great Eastern Outer EB04 Anglia Inter City EB05 Anglia Locals EB06 West Anglia Outer EB07 West Anglia Inner
Abellio East Midlands Limited
EM EM01 East Midlands Local EM02 East Midlands Regional EM03 Liverpool-Norwich EM04 East Midlands Inter City EM05 East Midlands Inter Urban EM99 Miscellaneous
Abellio Greater Anglia Limited
EB EB01 Great Eastern Inner EB02 Southend & Southminster EB03 Great Eastern Outer EB04 Anglia Inter City EB05 Anglia Locals EB06 West Anglia Outer EB07 West Anglia Inner
Abellio ScotRail Limited
HA HA01 Express HA02 East Coast Suburban HA03 South West Rural HA04 Highland Rural HA05 Ayrshire and Iverclyde by 20 December 2018 HA06 Strathclyde Electric HA06 Glasgow Suburban South by 20 December 2018 HA07 Strathclyde PTE Diesel HA07 Glasgow Suburban North by 20 December 2018 HA08 North Electrics and Argyle Line by 20 December 2018
Anglia Railways Train Services Limited
HS HS01 Intercity HS02 Anglia Locals HS99 Miscellaneous
Arriva Rail London Limited
EK EK01 Orbitals EK02 London-Watford (DC lines) EK03 East London Lines EK04 West Anglia Inner EK05 Romford-Upminster EK99 Miscellaneous
Arriva Rail North Limited
ED ED01 Tyne, Tees & Wear ED02 Lancashire & Cumbria ED04 West & North Yorkshire Inter Urban ED05 West & North Yorkshire Local ED06 South & East Yorkshire Inter Urban ED07 South & East Yorkshire Local ED08 North Manchester ED09 Merseyrail City Lines ED10 South Manchester ED11 Lancashire & Cumbria Inter Urban ED99 Miscellaneous
Arriva Trains Merseyside Limited
HE HE01 Northern Lines HE02 Wirral Lines
Arriva Trains Northern Limited
HC HC01 North East Urban & Long Distance HC02 North East PTE HC03 North Yorkshire Urban & L District HC04 Rural HC05 South Yorkshire PTE HC06 West Yorkshire PTE Long Distance HC07 West Yorkshire PTE Short Distance HC08 Transpennine Express North HC09 Transpennine Express South HC10 Yorkshire Inter PTE HC99 Miscellaneous
Arriva Trains Wales/Trenau Arriva Cymru Limited
HL HL02 South, West & Central Wales HL03 Wales-England HL04 Cambrian HL05 Cardiff Valleys HL06 Marches HL07 North Wales Rural HL08 Inter Urban North Wales HL99 Miscellaneous
c2c rail Limited
HT HT01 London-Southend/Shoeburyness (peak) HT02 London-Southend/Shoeburyness (off peak) sometimes considered subset of HT01 HT99 Miscellaneous
Cardiff Railway Company Limited
HL HL02 South, West & Central Wales HL03 Wales-England HL04 Cambrian HL05 Cardiff Valleys HL06 Marches HL07 North Wales Rural HL08 Inter Urban North Wales HL99 Miscellaneous
Central Trains Limited
HG HG01 West Midlands (Snow Hill) HG02 West Midlands (New Street) HG03 East Midlands HG05 Core Inter Urban HG06 Other Inter Urban HG07 Liverpool-Norwich HG12 Robin Hood HG99 Miscellaneous
The Chiltern Railway Company Limited
HO HO01 Met HO02 Birmingham HO03 Joint HO04 Oxford HO05 East-West Rail from February 2024 HO99 Miscellaneous
Connex South Central Limited
HW HW01 Rural HW02 London-Sussex Coast (peak) HW03 London-Sussex Coast (off peak) HW04 South London Lines (off peak) HW05 South London Lines (peak) HW06 Gatwick Airport-Rugby
Connex South Eastern Limited
HU HU01 Kent Coast (off peak) HU02 Kent Link (off peak) HU03 Kent Rural HU04 Kent Coast (peak) HU05 Kent Link (peak)
CrossCountry Trains Limited
HH HH01 All services HH99 Miscellaneous
DB Regio Tyne & Wear Limited
PG PG01 Metro
East Coast Main Line Company Limited
HB HB01 Anglo-Scottish HB02 West Yorkshire HB04 Kings Cross-Bradford/Hull HB05 Anglo-Scottish (Aberdeen/Inverness)
East Coast Trains Limited
LD LD01 London-Newcastle-Edinburgh
Code happens also to be the timetable code
East Midlands Trains Limited
EM EM01 East Midlands Local EM02 East Midlands Regional EM03 Liverpool-Norwich EM04 East Midlands Inter City EM05 East Midlands Inter Urban EM99 Miscellaneous
European Passenger Services Limited
GA GA01 All services
Eurostar International Limited
GA GA01 All services
Eurostar (UK) Limited
GA GA01 All services
First Capital Connect Limited
EG EG01 Bedford Mainline EG02 Brighton Mainline EG03 South London EG04 Northern Inners EG05 Northern Outers EG06 Kentish Town-Blackfriars (joint)
Codes also attributed to Thameslink Rail Limited in 2006
First Greater Western Limited
EE EE01 Heathrow Local Service Paddington-Hayes
The Heathrow local service (running as Heathrow Connect) was jointly run with Heathrow Express until transfer to MTR Corporation (Crossrail) Limited in May 2018, hence the EE code. The two EE codes were split according to the respective operator's responsibility
First Greater Western Limited
EF EF01 London-Bristol EF02 London-South Wales EF03 London-Cotswolds EF04 London-West Of England EF05 Outer Thames Valley-London/Outer London EF06 Inner Thames Valley-London/Inner London EF07 Reading & Oxford Suburban EF08 Thames Valley Branches EF09 North Downs EF10 Bristol Suburban EF11 Devon/Exeter Suburban EF12 Plymouth & Cornwall EF13 South Wales-South Coast EF99 Miscellaneous
First Greater Western Limited
E1 E101 Charters
First Great Western Link Limited
HN HN01 Outer Charter HN02 Inner Charter HN03 Outer Other HN04 Inner Other HN05 Reading-Gatwick Airport-Three Bridges HN99 Miscellaneous
First/Keolis TransPennine Limited
EA EA01 North TransPennine EA02 South TransPennine EA03 North West EA04 Yorkshire (traded) EA05 Leeds-Blackpool (traded) EA06 Manchester Airport-Blackpool North EA07 Preston-Scotland
First MTR South Western Trains Limited
HY HY01 Main Suburban HY02 South Hampshire Locals HY03 Waterloo-West England HY04 Waterloo-Farnham/Alton HY05 Windsor Inners HY06 Windsor Outers HY07 Waterloo-Portsmouth HY08 Waterloo-Weymouth HY99 Miscellaneous
First ScotRail Limited
HA HA01 Express HA02 East Coast Suburban HA03 South West Rural HA04 Highland Rural HA06 Strathclyde Electric HA07 Strathclyde PTE Diesel HA11 Qualifying Sleepers HA12 ScotRail Route Maintenance HA99 Miscellaneous
First Transpennine Express Limited
EA EA01 North TransPennine EA02 South TransPennine EA03 North West TransPennine missing by 20 December 2018 EA06 Manchester Airport-Blackpool North missing by 20 December 2018 EA07 Anglo-Scottish EA99 Miscellaneous
First Trenitalia West Coast Rail Limited
HF HF01 London Euston-Birmingham/Wolverhampton HF02 London Euston-North Wales HF03 London Euston-Manchester HF04 London Euston-Liverpool HF06 London Euston-Preston/Lancaster/Blackpool North/Glasgow Central HF08 London Euston-Birmingham-Scotland HF99 Miscellaneous
Gatwick Express Limited
HV HV01 Gatwick Express
Go-op Co-operative Limited
GO GO01 Somerset and Wiltshire Inter urban
Preliminary code subject to change
Govia Thameslink Railway Limited
ET ET01 Bedford Mainline ET01 Thameslink North Outer (MML) by 20 December 2018 ET02 Brighton Mainline ET02 Thameslink Sussex Outer by 20 December 2018 ET03 South London ET03 Thameslink South Metro by 20 December 2018 ET04 Northern Inners ET04 Great Northern Metro by 20 December 2018 ET05 Northern Outers ET05 Great Northern Outer by 20 December 2018 ET06 Thameslink South-Kent Inner missing by 20 December 2018 ET07 Southern Coastway (non-London) ET08 Southern Mainline ET08 Southern Outer by 20 December 2018 ET09 Southern South London Metro ET09 Southern Metro by 20 December 2018 ET10 Southern West London Line ET11 Gatwick Express ET12 Thameslink North Metro (MML) by 20 December 2018 ET13 Thameslink Kent Outer by 20 December 2018 ET98 Blackfriars-Kentish Town (joint service) ET99 Miscellaneous
Grand Central Railway Company Limited
EC EC01 Kings Cross-Sunderland EC02 Kings Cross-Bradford EC99 Empty coaching stock movements
Great Eastern Railway Limited
HR HR01 Great Eastern Inner HR02 Southend & Southminster HR03 Great Eastern Outer
Great North Eastern Railway Limited
HB HB01 Anglo-Scottish Core HB02 West Yorkshire Core HB04 West Yorkshire Extensions HB05 Anglo-Scottish (Aberdeen/Inverness)
Great North Western Railway Limited
LN LN01 London-Blackpool
Great Western Trains Co Limited
HJ HJ01 Avon HJ02 South Wales HJ03 Cotswolds HJ04 West Of England HJ07 Bristol-Didcot-Oxford HJ99 Miscellaneous
Heathrow Express Operating Company Limited
EE EE02 Hayes & Harlington Shuttle Hayes-Heathrow EE99 Empty coaching stock moves
See First Greater Western Limited for code EE01
Heathrow Express Operating Company Limited
HM HM01 Heathrow Express HM99 Empty coaching stock movements
Hull Trains Company Limited
PF PF01 Kings Cross-Hull
Intercity East Coast Limited
HB HB01 Anglo-Scottish HB02 West Yorkshire HB04 West Yorkshire (Kings Cross-­Bradford/Hull) HB05 Anglo-Scottish (Aberdeen/Inverness)
InterCity West Coast Limited
HF HF01 London Euston-Birmingham/Wolverhampton HF02 London Euston-North Wales HF03 London Euston-Manchester HF04 London Euston-Liverpool HF06 London Euston-Carlisle/Scotland HF08 Birmingham-Scotland HF99 Miscellaneous
Island Line Limited
HZ HZ01 Isle of Wight
Few documents quote a code, possibly because infrastructure was TOC's responsibility and there was never any operating interaction with other TOCs
Keolis Amey Operations/Gweithrediadau Keolis Amey Limited
HL HL02 South, West & Central Wales HL03 Wales-England HL04 Cambrian HL05 Cardiff Valleys HL06 Marches HL07 North Wales Rural HL08 Inter Urban North Wales
Locomotive Services (TOC) Limited
LS LS01 Locomotive Services passenger trains
Code happens also to be the timetable code
London & Birmingham Railway Limited
EJ EJ01 West Midlands (Snow Hill) EJ02 Trent Valley EJ03 West Midlands (New Street) EJ04 West Midlands Inter Urban EJ05 WCML: London-Northampton EJ06 WCML: Branches
London & South Eastern Railway Limited
HU HU01 Kent Mainline (off peak) HU02 Kent Metro (off peak) HU03 Kent Rural HU04 Kent Mainline (peak) HU05 Kent Metro (peak) HU06 Kent High Speed (peak) HU07 Kent High Speed (off peak) HU99 Miscellaneous
London Eastern Railway Limited
EB EB01 Great Eastern Inner EB02 Southend & Southminster EB03 Great Eastern Outer EB04 Anglia Inter City/Mainline EB05 Anglia Locals/Rural EB06 West Anglia Outer EB07 West Anglia Inner EB99 Miscellaneous
London North Eastern Railway Limited
HB HB01 North Core HB02 Central Core HB04 Central Extensions HB05 North Extensions
London Overground Rail Operations Limited
EK EK01 Orbitals EK02 London-Watford (DC lines) EK03 East London Lines
London Underground Limited (Bakerloo Line)
XC XC99 Bakerloo Line
London Underground Limited (District Line)
XB XB99 Wimbledon-East Putney
London Underground Limited (District Line)
XE XE99 Richmond-Gunnersbury
LTS Rail Limited
HT HT01 London-Southend/Shoeburyness (peak) HT02 London-Southend/Shoeburyness (off peak) HT99 Miscellaneous
Merseyrail Electrics Limited
HE HE01 Northern Lines HE02 Wirral Lines
Merseyrail Electrics 2002 Limited
HE HE01 Northern Lines HE02 Wirral Lines HE99 Miscellaneous
Midland Main Line Limited
HI HI01 Midland Mainline HST HI02 Midland Mainline class 170 HI99 Miscellaneous
MTR Corporation (Crossrail) Limited
EX EX01 Crossrail East EX02 Crossrail West added May 2018 EX85 Passenger trains on Rail for London infrastructure only by May 2022 became Paddington (CCOS)-Abbey Wood EX86 Hayes & Harlington-Heathrow Terminals EX87 not defined but appears in track access contract with EX85 EX97 Rail for London empty coaching stock movements EX98 Heathrow Airport empty coaching stock movements EX99 All MTR Crossrail ECS moves on NR infrastructure added October 2018; by May 2022 became All MTR Crossrail Empty Coaching Stock moves on CCOS
Code also shown as EB in error in part of track access agreement
Network Southcentral Limited
HW HW01 Rural HW02 London-Sussex Coast (peak) HW03 London-Sussex Coast (off peak) HW04 South London Lines (off peak) HW05 South London Lines (peak) HW06 Gatwick Airport-Rugby
New Southern Railway
HW HW01 Rural HW02 London-Sussex Coast (peak) HW03 London-Sussex Coast (off peak) HW04 South London Lines (off peak) HW05 South London Lines (peak) HW06 Milton Keynes-East Croydon HW07 London-Gatwick Airport/Brighton
Nexus See Tyne & Wear Passenger Transport Executive (Nexus)
Northern Rail Limited
ED ED01 Tyne, Tees & Wear ED02 Lancashire & Cumbria ED04 West & North Yorkshire Inter Urban ED05 West & North Yorkshire Local ED06 South & East Yorkshire Inter Urban ED07 South & East Yorkshire Local ED08 North Manchester ED09 Merseyrail City Lines ED10 South Manchester
Northern Spirit Limited
HC HC01 North East Urban & Long Distance HC02 North East PTE HC03 North Yorkshire Urban & L District HC04 Rural HC05 South Yorkshire PTE HC06 West Yorkshire PTE Long Distance HC07 West Yorkshire PTE Short Distance HC08 Transpennine Express North HC09 Transpennine Express South HC10 Yorkshire Inter PTE
Northern Trains Limited
ED ED01 Tyne, Tees & Wear ED02 Lancashire & Cumbria ED04 West & North Yorkshire Inter Urban ED05 West & North Yorkshire Local ED06 South & East Yorkshire Inter Urban ED07 South & East Yorkshire Local ED08 North Manchester ED09 Merseyrail City Lines ED10 South Manchester ED11 Lancashire & Cumbria Inter Urban ED99 Miscellaneous
North London Railways Limited
HP HP01 Orbitals HP03 Express HP04 Rural HP06 Watford HP99 Miscellaneous
North Western Trains Company Limited
HD HD01 Inter Urban NW Express HD02 Long Distance HD03 Manchester South HD04 Manchester North HD06 Merseyside City Lines HD07 North Wales Rural HD08 North Wales Inter-urban HD09 Lancashire & Cumbria Rural HD99 Miscellaneous
North West Regional Railways Limited
HD HD01 Inter Urban NW Express HD02 Long Distance HD03 Manchester South HD04 Manchester North HD06 Merseyside City Lines HD09 Lancashire & Cumbria Rural
North Yorkshire Moors Railway Enterprises plc
PR PR01 Battersby-Whitby PR02 Sheringham-Cromer
NXEC Trains Limited
HB HB01 Anglo-Scottish HB02 West Yorkshire HB04 West Yorkshire (Kings Cross-Bradford/Hull) HB05 Anglo-Scottish (Aberdeen/Inverness) HB99 Miscellaneous
NXET Trains Limited
HT HT01 London-Southend/Shoeburyness HT99 Miscellaneous
Pre Metro Operations Limited
PK PK01 All trains
Regional Railways North East Limited
HC HC01 North East Urban & Long Distance HC02 North East PTE HC03 North Yorkshire Urban & L District HC04 Rural HC05 South Yorkshire PTE HC06 West Yorkshire PTE Long Distance HC07 West Yorkshire PTE Short Distance HC08 Transpennine Express North HC09 Transpennine Express South HC10 Yorkshire Inter PTE
Scotrail Railways Limited
HA HA01 Express HA02 East Coast Suburban HA03 South West Rural HA04 Highland Rural HA06 Strathclyde Electric HA07 Strathclyde PTE Diesel HA11 Qualifying Sleepers
ScotRail Trains Limited
HA HA01 Express HA02 East Coast Suburban HA03 South West Rural HA04 Highland Rural HA05 Ayrshire and Iverclyde HA06 Glasgow Suburban South HA07 Glasgow Suburban North HA08 North Electrics and Argyle Line
Serco Caledonian Sleepers Limited
ES ES01 Qualifying Sleepers ES99 Miscellaneous and test trains
SE Trains Limited
HU HU01 Kent Mainline (off peak) HU02 Kent Metro (off peak) HU03 Kent Rural HU04 Kent Mainline (peak) HU05 Kent Metro (peak) HU06 Kent High Speed (peak) HU07 Kent High Speed (off peak) HU99 Miscellaneous
Silverlink Train Services Limited
HP HP01 Orbitals HP03 Express HP04 Rural HP06 Watford HP99 Miscellaneous
South Central Limited
HW HW01 Rural HW02 London-Sussex Coast (peak) HW03 London-Sussex Coast (off peak) HW04 South London Lines (off peak) HW05 South London Lines (peak) HW06 Gatwick Airport-Rugby
The South Eastern Train Company Limited
HU HU01 Kent Coast (off peak) HU02 Kent Link (off peak) HU03 Kent Rural HU04 Kent Coast (peak) HU05 Kent Link (peak)
South Eastern Trains Limited
HU HU01 Kent Coast (off peak) HU02 Kent Link (off peak) HU03 Kent Rural HU04 Kent Coast (peak) HU05 Kent Link (peak)
Southern Railway Limited
HW HW01 Rural HW02 London-Sussex Coast (peak) HW03 London-Sussex Coast (off peak) HW04 South London Lines (off peak) HW05 South London Lines (peak) HW06 Gatwick Airport-Milton Keynes HW07 London-Gatwick Airport/Brighton
South Wales & West Railway Limited
HK HK01 Bristol Commuter HK02 Devon HK03 Plymouth and Cornwall HK04 Wessex Mainline
Code shown as EK in error in 2001 track access contract
South West Trains Limited
HY HY01 Main Suburban HY02 Portsmouth-Reading/Weymouth HY03 Waterloo-West of England HY04 Waterloo-Farnham/Alton HY05 Windsor Inners HY06 Windsor Outers HY07 Waterloo-Portsmouth HY08 Waterloo-Weymouth
South Yorkshire Supertram Limited
ST ST01 All services
Code also quoted as SJ (which happens also to be the timetable code)
Stagecoach South Western Trains Limited
HY HY01 Main Suburban HY02 South Hampshire Locals HY03 Waterloo-West England HY04 Waterloo-Farnham/Alton HY05 Windsor Inners HY06 Windsor Outers HY07 Waterloo-Portsmouth HY08 Waterloo-Weymouth HY99 Miscellaneous
The Swanage Railway Company Limited
SP SP01 All services
Thameslink Rail Limited
HX HX01 Bedford Mainline HX02 Brighton Mainline HX03 South London HX99 Miscellaneous
Thames Trains Limited
HN HN01 Outer Charter HN02 Inner Charter HN03 Outer Other HN04 Inner Other HN05 Reading-Gatwick Airport-Three Bridges HN99 Miscellaneous
Transpennine Trains Limited
EA EA01 North TransPennine EA02 South TransPennine EA07 Anglo-Scottish EA99 Miscellaneous
Transport for Wales Rail Limited
HL HL02 South, West & Central Wales HL03 Wales-England HL04 Cambrian HL05 Cardiff Valleys HL06 Marches HL07 North Wales Rural HL08 Inter Urban North Wales
Trenitalia c2c Limited
HT HT01 London-Southend/Shoeburyness (peak) HT02 London-Southend/Shoeburyness (off peak) HT99 Miscellaneous
Tyne & Wear Passenger Transport Executive (Nexus)
PG PG01 Metro
Venice Simplon-Orient-Express Limited
PC PC01 All trains
Wales & West Passenger Trains Limited
HK HK02 West and Central Wales HK03 South Cotswolds HK11 Bristol Commuter HK12 Devon HK13 Plymouth and Cornwall HK14 Wessex Mainline (South Wales-South Coast) HK99 Miscellaneous
West Anglia Great Northern Railway Limited
HQ HQ01 Anglia Inners HQ03 Anglia Outers HQ04 Northern Inners HQ05 Northern Outers HQ99 Miscellaneous
West Coast Trains Limited
HF HF01 London Euston-Birmingham/Wolverhampton HF02 London Euston-North Wales HF03 London Euston-Manchester HF04 London Euston-Liverpool HF05 London Euston-Preston/Blackpool later not used HF06 London Euston-Carlisle/Scotland HF08 Birmingham-Scotland later London Euston-Birmingham-Scotland HF99 Miscellaneous
West Midlands Trains Limited
EJ EJ01 West Midlands (Snow Hill) EJ02 Trent Valley EJ03 West Midlands (New Street) EJ04 West Midlands Inter Urban EJ05 WCML: London-Northampton EJ06 WCML: Branches EJ99 Miscellaneous
Wrexham Shropshire And Marylebone Railway Company Limited
EI EI01 Wrexham-London EI99 Empty coaching stock movements
Code also shown as WS in first supplemental agreement (which happens also to be the timetable code)
XC Trains Limited
EH EH01 CrossCountry Inter City EH02 CrossCountry Local & Provincial EH99 Empty coaching stock movements
Adjustments
A1 A101 National Adjustment Passenger TOCs A103 London & South East Adjustment Passenger TOCs A104 Long Distance Adjustment Passenger TOCs A105 Regional Adjustment Passenger TOCs A106 Scotland TOCs for Targets
Undefined
XX XXXX Unknown