What do the numbers on a train mean?

Every railway vehicle in the EU carries twelve figures painted on its side. They say what kind of vehicle it is and which country it is registered in — and the last one is computed from the other eleven, so it can also say whether the number is possible at all. This reads them from the act that defines them.

This is the only tool here that can prove a number wrong. Every other decoder on this site takes a serial on trust, because nothing in an ordinary serial number proves itself. This one does the arithmetic and shows it.

This one runs on your own device. It is worked out in your browser, so there is nothing to send and nothing to log. Where a tool on this site does send something out, that page says so and names where it goes.

The twelve figures

“Each railway vehicle shall receive a number consisting of 12 figures”

FiguresWhat they areDecoded here?
1–2Interoperability capability and vehicle typeYes
3–4Country in which the vehicle is registeredYes
5–8Technical characteristicsNo — the act defines no codes
9–11Serial numberNothing to decode
12Check digitComputed

The check digit, and why it matters

The twelfth figure is not part of the identity of the vehicle. It is arithmetic on the other eleven, there so that a mistyped or misread number fails visibly instead of quietly pointing at a different wagon.

The rule: counting from the right, figures in odd positions are doubled and figures in even positions are left alone. The digits of each product are then added — so a product of 16 contributes 1 + 6, not 16. The units figure of the total is taken, and the check digit is whatever brings it up to ten.

Here is the act’s own worked example, 33844796100:

Figure33844796100
×21212121212
=6316487186200

Adding the digits of those products gives 52. The units figure is 2, so the check digit is 8 — and the number is written 33 84 4796 100-8.

Ten minus nought is not a digit

The act works a second example, and it exists to settle exactly that. For 31513320198 the sum is 40, whose units figure is nought. “Ten minus the units figure” would give ten, which cannot be written in one box. So the act says outright:

“should this units digit be nought, then the check-digit shall also be nought”

A check digit written from the prose alone and never tested against the specification’s own examples is a guess with good manners. Both examples are asserted by check-evn.js, and both have to reproduce the act’s stated sum as well as its answer — because getting the right answer from the wrong arithmetic is the failure that survives review.

Figures 1–2: what kind of vehicle

PrefixRolling stock group
00–09 10–19 20–29 30–39 40–49 80–89Wagons
50–59 60–69 70–79Hauled passenger vehicles
90–99Tractive rolling stock and units in a trainset in fixed or pre-defined formation

All one hundred possible prefixes are allocated — there is no unused range. For tractive stock the act fixes the first figure at 9 and gives the second a meaning of its own:

PrefixGeneral vehicle type
90Miscellaneous
91Electric locomotive
92Diesel locomotive
93Electric multiple-unit set (high speed) [power car or trailer]
94Electric multiple-unit set (except high speed) [power car or trailer]
95Diesel multiple-unit set [power car or trailer]
96Specialised trailer,
97Electric shunting engine
98Diesel shunting engine
99Special vehicle

The act says more about these two figures for wagons (part 6) and hauled passenger vehicles (part 7), setting interoperability against track gauge in a two-dimensional grid. This page does not reproduce those two tables, and the reason is worth stating: they are built from cells that span rows and columns, so a flattened copy attaches the wrong gauge to the wrong code and looks perfectly tidy while doing it. A wrong table nobody can see is wrong is worse than a missing one.

Figures 3–4: where it is registered

65 countries, 63 numeric codes between them. The act adds: “The information relating to third countries is given for information purposes only”

CountryLettersFigures 3–4
AlbaniaAL41
AlgeriaDZ92
ArmeniaAM58
AustriaA81
AzerbaijanAZ57
BelarusBY21
BelgiumB88
Bosnia-HerzegovinaBIH50 44
BulgariaBG52
ChinaRC33
CroatiaHR78
CubaCU40
Czech RepublicCZ54
DenmarkDK86
EgyptET90
EstoniaEST26
FinlandFIN10
Former Yugoslav Republic of MacedoniaMK65
FranceF87
GeorgiaGE28
GermanyD80
GreeceGR73
HungaryH55
IranIR96
IraqIRQ99
IrelandIRL60
IsraelIL95
ItalyI83
JapanJ42
KazakhstanKZ27
KyrgyzstanKS59
LatviaLV25
LebanonRL98
LithuaniaLT24
LuxembourgL82
MoldovaMD23
MongoliaMGL31
MontenegroMNE62
MoroccoMA93
NetherlandsNL84
North KoreaPRK30
NorwayN76
PolandPL51
PortugalP94
RomaniaRO53
RussiaRUS20
SerbiaSRB72
SlovakiaSK56
SloveniaSLO79
South KoreaROK61
SpainE71
SwedenS74
SwitzerlandCH85
SyriaSYR97
TajikistanTJ66
TunisiaTN91
TurkeyTR75
TurkmenistanTM67
UkraineUA22
United KingdomGB70
UzbekistanUZ29
VietnamVN32

Three codes that are not countries

These appear nowhere in the table above. They are in its footnotes, they identify operators rather than countries, and a decoder built from the table alone reports all three as unknown:

Figures 3–4OperatorLimit
64FNME — Ferrovie Nord Milano Esercizio—
63BLS — Bern–Lötschberg–Simplon Eisenbahnused for vehicles authorised before 2007
68AAE — Ahaus Alstätter Eisenbahn—

And some countries have no code, or more than one

Cyprus, Malta, Monaco are listed with their letters and no numeric code at all. The blank is the act’s, and it is reproduced rather than filled in.

Bosnia-Herzegovina has 50 and 44. Bosnia-Herzegovina uses 2 specific railway codes. A numerical country code 49 is reserved.

Figures 5–11: where the act stops

This is the part most decoders quietly invent. The act names the fields — technical characteristics, then serial number — and then does not define them. Parts 9, 10 and 11 contain no codes at all. Each says only that the Agency “shall manage the codes for the technical characteristics” and publishes them on its own website.

PartCoversContains
PART 9wagons, figures 5 to 8no codes — delegated to the Agency's register
PART 10hauled passenger stock, figures 5 to 6no codes — delegated to the Agency's register
PART 11special vehicles, figures 6 to 8no codes — delegated to the Agency's register

And for tractive stock it goes further, handing the whole middle to the member states: “the meaning of these figures is defined by the Member States, eventually by bilateral or multilateral agreement”. A locomotive’s middle seven figures mean whatever its country says they mean.

So the act settles the shape of the number and delegates its middle. That is a fact about the number, not a shortcoming of this page, and the honest thing is to say which digits nobody here can read for you. The register is at era.europa.eu.

What the number does not tell you

It does not date the vehicle. There is no year anywhere in the twelve figures. Every other tool on this site dates something; this one cannot, because the act did not put a date in the number, and no amount of decoding will produce one.

It does not name the keeper. That is the Vehicle Keeper Marking — the two to five letters painted alongside the number — which the act defines separately and holds in a separate register.

A note on where this came from

Most of the tables on this site belong to somebody who has not been asked yet. This one did not need asking. EUR-Lex states its own terms: “Unless otherwise specified, you can re-use the legal documents published in EUR-Lex for commercial or non-commercial purposes”, under Commission Decision 2011/833/EU. So the tables above are complete rather than summarised.

It is the second source this project has found that says yes in advance. The first was gov.uk, for the number plate page. Sixteen others are still waiting on a letter.