vehicles 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +274 -0
- data/README.md +55 -10
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +5 -4
- data/data/plates/_decode/at-districts.yml +287 -0
- data/data/plates/_decode/ch-cantons.yml +110 -0
- data/data/plates/_decode/cn-issuing-offices.yml +463 -0
- data/data/plates/_decode/cn-provinces.yml +614 -0
- data/data/plates/_decode/cz-kraj.yml +159 -0
- data/data/plates/_decode/dk-serial-blocks.yml +327 -0
- data/data/plates/_decode/fr-departements.yml +191 -0
- data/data/plates/_decode/gb-age-identifiers.yml +170 -0
- data/data/plates/_decode/gb-memory-tags.yml +202 -0
- data/data/plates/_decode/gr-prefectures.yml +1408 -0
- data/data/plates/_decode/hr-cities.yml +315 -0
- data/data/plates/_decode/ie-counties.yml +227 -0
- data/data/plates/_decode/in-state-codes.yml +169 -0
- data/data/plates/_decode/is-districts-1938.yml +116 -0
- data/data/plates/_decode/it-provinces.yml +348 -0
- data/data/plates/_decode/jp-office-marks.yml +960 -0
- data/data/plates/_decode/jp-use-marks.yml +205 -0
- data/data/plates/_decode/kr-authority-marks.yml +146 -0
- data/data/plates/_decode/kr-use-syllables.yml +194 -0
- data/data/plates/_decode/lu-series-order.yml +638 -0
- data/data/plates/_decode/mx-entity-series.yml +380 -0
- data/data/plates/_decode/my-index-marks.yml +271 -0
- data/data/plates/_decode/no-counties-1913.yml +148 -0
- data/data/plates/_decode/no-districts.yml +901 -0
- data/data/plates/_decode/pl-powiats.yml +567 -0
- data/data/plates/_decode/pt-trailer-services.yml +96 -0
- data/data/plates/_decode/ro-counties.yml +213 -0
- data/data/plates/_decode/se-diplomatic.yml +220 -0
- data/data/plates/_decode/si-regions.yml +123 -0
- data/data/plates/_decode/sk-districts.yml +314 -0
- data/data/plates/_decode/th-registration-elements.yml +208 -0
- data/data/plates/_decode/ua-regions.yml +393 -0
- data/data/plates/_decode/za-licence-marks.yml +215 -0
- data/data/plates/_meta/classes.yml +1 -0
- data/data/plates/_meta/separators.yml +102 -0
- data/data/plates/ad.yml +961 -0
- data/data/plates/ar.yml +762 -0
- data/data/plates/at.yml +1424 -0
- data/data/plates/au-act.yml +472 -0
- data/data/plates/au-nsw.yml +282 -0
- data/data/plates/au-nt.yml +431 -0
- data/data/plates/au-qld.yml +272 -0
- data/data/plates/au-sa.yml +248 -0
- data/data/plates/au-tas.yml +302 -0
- data/data/plates/au-vic.yml +215 -0
- data/data/plates/au-wa.yml +309 -0
- data/data/plates/be.yml +1840 -0
- data/data/plates/br.yml +1152 -0
- data/data/plates/ca-ab.yml +430 -0
- data/data/plates/ca-bc.yml +697 -0
- data/data/plates/ca-mb.yml +499 -0
- data/data/plates/ca-nb.yml +537 -0
- data/data/plates/ca-nl.yml +743 -0
- data/data/plates/ca-ns.yml +808 -0
- data/data/plates/ca-nt.yml +610 -0
- data/data/plates/ca-nu.yml +280 -0
- data/data/plates/ca-on.yml +881 -0
- data/data/plates/ca-pe.yml +592 -0
- data/data/plates/ca-qc.yml +1036 -0
- data/data/plates/ca-sk.yml +256 -0
- data/data/plates/ca-yt.yml +656 -0
- data/data/plates/ch.yml +1273 -0
- data/data/plates/cn.yml +1431 -0
- data/data/plates/cy.yml +688 -0
- data/data/plates/cz.yml +1179 -0
- data/data/plates/de.yml +553 -118
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +228 -32
- data/data/plates/fi.yml +1271 -0
- data/data/plates/fr.yml +1265 -0
- data/data/plates/gb.yml +1188 -0
- data/data/plates/gr.yml +721 -0
- data/data/plates/hr.yml +860 -0
- data/data/plates/hu.yml +959 -0
- data/data/plates/ie.yml +775 -0
- data/data/plates/in.yml +1172 -0
- data/data/plates/is.yml +667 -0
- data/data/plates/it.yml +1317 -0
- data/data/plates/jp.yml +3650 -0
- data/data/plates/kr.yml +1375 -0
- data/data/plates/li.yml +1010 -0
- data/data/plates/lt.yml +879 -0
- data/data/plates/lu.yml +842 -0
- data/data/plates/lv.yml +924 -0
- data/data/plates/mc.yml +1024 -0
- data/data/plates/mt.yml +854 -0
- data/data/plates/mx.yml +1372 -0
- data/data/plates/my.yml +685 -0
- data/data/plates/nl.yml +44 -0
- data/data/plates/no.yml +1018 -0
- data/data/plates/nz.yml +1699 -0
- data/data/plates/pl.yml +1296 -0
- data/data/plates/pt.yml +847 -0
- data/data/plates/ro.yml +785 -0
- data/data/plates/se.yml +1091 -0
- data/data/plates/si.yml +1105 -0
- data/data/plates/sk.yml +1439 -0
- data/data/plates/sm.yml +1119 -0
- data/data/plates/th.yml +1150 -0
- data/data/plates/ua.yml +1672 -0
- data/data/plates/us-ak.yml +763 -0
- data/data/plates/us-al.yml +457 -0
- data/data/plates/us-ar.yml +427 -0
- data/data/plates/us-as.yml +454 -0
- data/data/plates/us-az.yml +430 -0
- data/data/plates/us-ca.yml +892 -0
- data/data/plates/us-co.yml +452 -0
- data/data/plates/us-ct.yml +427 -0
- data/data/plates/us-dc.yml +614 -0
- data/data/plates/us-de.yml +551 -0
- data/data/plates/us-fl.yml +319 -96
- data/data/plates/us-ga.yml +644 -0
- data/data/plates/us-gu.yml +658 -0
- data/data/plates/us-hi.yml +585 -0
- data/data/plates/us-ia.yml +438 -0
- data/data/plates/us-id.yml +531 -0
- data/data/plates/us-il.yml +516 -0
- data/data/plates/us-in.yml +324 -0
- data/data/plates/us-ks.yml +351 -0
- data/data/plates/us-ky.yml +770 -0
- data/data/plates/us-la.yml +568 -0
- data/data/plates/us-ma.yml +379 -0
- data/data/plates/us-md.yml +536 -0
- data/data/plates/us-me.yml +445 -0
- data/data/plates/us-mi.yml +408 -0
- data/data/plates/us-mn.yml +411 -0
- data/data/plates/us-mo.yml +356 -0
- data/data/plates/us-mp.yml +402 -0
- data/data/plates/us-ms.yml +432 -0
- data/data/plates/us-mt.yml +619 -0
- data/data/plates/us-nc.yml +602 -0
- data/data/plates/us-nd.yml +419 -0
- data/data/plates/us-ne.yml +483 -0
- data/data/plates/us-nh.yml +394 -0
- data/data/plates/us-nj.yml +547 -0
- data/data/plates/us-nm.yml +574 -0
- data/data/plates/us-nv.yml +655 -0
- data/data/plates/us-ny.yml +592 -0
- data/data/plates/us-oh.yml +404 -0
- data/data/plates/us-ok.yml +513 -0
- data/data/plates/us-or.yml +392 -0
- data/data/plates/us-pa.yml +506 -0
- data/data/plates/us-pr.yml +507 -0
- data/data/plates/us-ri.yml +445 -0
- data/data/plates/us-sc.yml +605 -0
- data/data/plates/us-sd.yml +428 -0
- data/data/plates/us-tn.yml +471 -0
- data/data/plates/us-tx.yml +535 -0
- data/data/plates/us-ut.yml +384 -0
- data/data/plates/us-va.yml +567 -0
- data/data/plates/us-vi.yml +489 -0
- data/data/plates/us-vt.yml +458 -0
- data/data/plates/us-wa.yml +484 -0
- data/data/plates/us-wi.yml +509 -0
- data/data/plates/us-wv.yml +446 -0
- data/data/plates/us-wy.yml +523 -0
- data/data/plates/va.yml +604 -0
- data/data/plates/za.yml +1141 -0
- data/data/vehicles.json +160653 -105090
- data/lib/vehicles/configuration.rb +17 -3
- data/lib/vehicles/dataset.rb +73 -18
- data/lib/vehicles/fuzzy.rb +115 -0
- data/lib/vehicles/http.rb +48 -0
- data/lib/vehicles/make.rb +36 -6
- data/lib/vehicles/mcp_server.rb +5 -5
- data/lib/vehicles/model.rb +21 -2
- data/lib/vehicles/plates/series.rb +172 -18
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +12 -0
- data/lib/vehicles/providers/hosted_provider.rb +28 -55
- data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +32 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +164 -2
data/data/plates/dk.yml
ADDED
|
@@ -0,0 +1,1647 @@
|
|
|
1
|
+
# plates/dk.yml — Denmark (PRD-PLATES gate L1, wave 2).
|
|
2
|
+
#
|
|
3
|
+
# WHAT IS PRIMARY HERE, AND WHAT IS NOT. Every claim in this file names its
|
|
4
|
+
# layer, and the layers are:
|
|
5
|
+
#
|
|
6
|
+
# 1. registreringsbekendtgørelsen — bekendtgørelse om registrering af
|
|
7
|
+
# køretøjer, currently BEK nr 663 af 10/06/2025 (Skatteministeriet), in
|
|
8
|
+
# force 16 June 2025, as amended by BEK nr 1826 af 29/12/2025. It carries
|
|
9
|
+
# the registration-number RULE (§ 68), the plate-type list (§ 68, stk. 4),
|
|
10
|
+
# the number of plates and where they go (§ 69), the diplomatic BLUE
|
|
11
|
+
# background (§ 76), the ønskenummer grammar (§ 74), the historic-plate
|
|
12
|
+
# rule (§ 75) and the papegøjenummerplade date (§ 82). Its enabling
|
|
13
|
+
# statute is lov om registrering af køretøjer, jf. LBK nr 179 af
|
|
14
|
+
# 22/02/2023, recited in the bekendtgørelse's own indledning.
|
|
15
|
+
# 2. ITS DATED ANCESTORS, which are where the era boundaries actually live.
|
|
16
|
+
# The whole 2007->2025 chain is machine-readable on retsinformation.dk and
|
|
17
|
+
# was read, not summarised: BEK 1567/2007, 673/2008, 633/2009, 811/2010,
|
|
18
|
+
# 651/2011, 504/2012, 20/2013, 1315/2014, 599/2017, 1498/2017, 818/2018,
|
|
19
|
+
# 1643/2018, 2523/2021, 866/2023, 663/2025. Four dates in this file come
|
|
20
|
+
# from ikrafttrædelses- and virkningsbestemmelser in that chain and from
|
|
21
|
+
# nowhere else — see THE FOUR DATES below.
|
|
22
|
+
# 3. SKAT's own plate catalogue — "Liste over alle pladetyper i Danmark pr.
|
|
23
|
+
# 06.06.2012", the authority's complete plate-stock poster, and the
|
|
24
|
+
# per-plate pages of skat.dk's "Billeder af nutidige nummerplader"
|
|
25
|
+
# section. These are the ONLY source, primary or otherwise, for Danish
|
|
26
|
+
# plate DIMENSIONS, COLOURS and per-type NUMBER RANGES: the
|
|
27
|
+
# bekendtgørelse specifies no size and no colour at all except the
|
|
28
|
+
# diplomatic plate's blue background.
|
|
29
|
+
# 4. Wikipedia (en + da), tagged `secondary-wikipedia` wherever it is load-
|
|
30
|
+
# bearing, never dressed as an instrument. It supplies the pre-2012
|
|
31
|
+
# serial-block detail below the SKAT catalogue's resolution, the issued
|
|
32
|
+
# letter alphabet, the blocked two-letter combinations, and the
|
|
33
|
+
# ønskenummerplade's 1992 start.
|
|
34
|
+
#
|
|
35
|
+
# THE FOUR DATES THIS FILE EXISTS TO GET RIGHT (PRD-PLATES §9: era boundaries
|
|
36
|
+
# are folklore-prone; each of these is dated to the DAY by an instrument's own
|
|
37
|
+
# commencement clause, and each replaces a vaguer number in circulation):
|
|
38
|
+
#
|
|
39
|
+
# * 1 APRIL 1976 — the current registration-number guidelines. Not folklore:
|
|
40
|
+
# BEK 663/2025 § 72, stk. 4, nr. 4 says a replacement plate is not issued
|
|
41
|
+
# where the number does not follow "de retningslinjer for udformning af
|
|
42
|
+
# registreringsnumre, der har været gældende siden den 1. april 1976", and
|
|
43
|
+
# §§ 70, stk. 3 and 75, stk. 1 both cut at the same day. Three independent
|
|
44
|
+
# references inside one instrument.
|
|
45
|
+
# * 12 OCTOBER 2009 — the EU-band plate. BEK 633/2009 § 100: "Bekendtgørelsen
|
|
46
|
+
# træder i kraft den 1. juli 2009 bortset fra § 69, stk. 5, der træder i
|
|
47
|
+
# kraft den 12. oktober 2009", and § 69, stk. 5 IS the EU-symbol chooser.
|
|
48
|
+
# SKAT's own catalogue page is headed "Aktuelle EU-nummerplader pr. 12.
|
|
49
|
+
# oktober 2009". The commonly repeated "2009" and "July 2009" are both
|
|
50
|
+
# wrong for the band: 1 July 2009 is when the rest of that bekendtgørelse
|
|
51
|
+
# commenced, and the band clause was carved out by ninety-nine days.
|
|
52
|
+
# * 6 JUNE 2012 — the day per-vehicle-type number blocks were consolidated.
|
|
53
|
+
# BEK 504/2012 § 118: "Bekendtgørelsen træder i kraft den 6. juni 2012",
|
|
54
|
+
# and SKAT dated its complete plate catalogue "pr. 06.06.2012" to the same
|
|
55
|
+
# day. Danish Wikipedia says the digital register came in "i 2011" and
|
|
56
|
+
# English Wikipedia says "2012"; the instrument says 6 June 2012.
|
|
57
|
+
# * 1 APRIL 2011 — the historic-plate eligibility cut moved from before
|
|
58
|
+
# 1 April 1958 to before 1 April 1976. BEK 811/2010 § 103, stk. 3: "§ 79
|
|
59
|
+
# har virkning fra den 1. april 2011. Indtil da finder § 76 i bekendt-
|
|
60
|
+
# gørelse nr. 633 af 26. juni 2009 anvendelse." Two historic series, not
|
|
61
|
+
# one, and the boundary is a virkningsbestemmelse rather than the
|
|
62
|
+
# bekendtgørelse's own commencement — exactly the trap the wave is about.
|
|
63
|
+
#
|
|
64
|
+
# WHAT THE INSTRUMENT DOES *NOT* SAY, RECORDED SO NOBODY INFERS IT
|
|
65
|
+
#
|
|
66
|
+
# * NO DIMENSIONS. Not one millimetre of plate geometry appears in BEK
|
|
67
|
+
# 663/2025. The only millimetres in it belong to the
|
|
68
|
+
# LANDEKENDINGSMÆRKE — the oval distinguishing sign — and § 37, which
|
|
69
|
+
# prescribes it (at least 175x115 mm, letters at least 80 mm high, 10 mm
|
|
70
|
+
# strokes), is addressed to FOREIGN vehicles in Denmark, not to Danish
|
|
71
|
+
# vehicles abroad. It is not a plate either way.
|
|
72
|
+
# * NO COLOURS, with one exception. § 76, stk. 1 requires diplomatic vehicles
|
|
73
|
+
# to be issued plates "hvor registreringsnummeret vises på en blå
|
|
74
|
+
# baggrund", and § 76, stk. 2 lets Skatteforvaltningen dispense and issue
|
|
75
|
+
# white ones instead. Every other colour in this file — the white plate's
|
|
76
|
+
# red border, the yellow goods-vehicle plate, the yellow/white papegøje-
|
|
77
|
+
# plade, the red-on-white prøveskilt — comes from SKAT's catalogue, which
|
|
78
|
+
# names colours in WORDS ("hvid/sort/rød") and never gives a value.
|
|
79
|
+
# Consequently EVERY hex below is `hex_basis: observed` and indicative.
|
|
80
|
+
# * NO FONT. No typeface is named or drawn anywhere in the instrument, so
|
|
81
|
+
# per PRD-PLATES §6 there is no licensable font to clear and no statutory
|
|
82
|
+
# Schriftmuster to derive glyphs from; the schematic fallback applies.
|
|
83
|
+
# * NO PUBLISHED SERIES REGISTER. § 68, stk. 3 delegates: "Skatteforvaltningen
|
|
84
|
+
# kan inddele registreringsnumre i serier efter køretøjers art eller
|
|
85
|
+
# anvendelse." The delegation is primary; the resulting division is
|
|
86
|
+
# published only in SKAT's plate catalogue, not in any instrument. That is
|
|
87
|
+
# why plates/_decode/dk-serial-blocks.yml exists and why its pre-2012 rows
|
|
88
|
+
# are tiered below its post-2012 rows.
|
|
89
|
+
#
|
|
90
|
+
# THE COLOUR-CODED TAX CLASSES — the distinctive Danish fact, stated from the
|
|
91
|
+
# instrument rather than from the enthusiast web. The bekendtgørelse does not
|
|
92
|
+
# say "yellow" or "parrot"; what it does is establish the three REGISTERED
|
|
93
|
+
# USES that the colours track, and name the parrot plate once:
|
|
94
|
+
# * § 85, stk. 1 — a vare- or lastbil of not more than 4 t "registreret til
|
|
95
|
+
# udelukkende erhvervsmæssig brug" must carry the owner's CVR number and
|
|
96
|
+
# name on both sides. That is the yellow-plate category.
|
|
97
|
+
# * § 82, stk. 1 — a vare- or lastbil of not more than 4 t "registreret til
|
|
98
|
+
# privat eller til blandet privat og erhvervsmæssig brug, jf. § 2 a i lov
|
|
99
|
+
# om vægtafgift af motorkøretøjer m.v." must carry a rear-window mærke.
|
|
100
|
+
# * § 82, stk. 2 — that mærke duty does NOT apply to such a bil "registreret
|
|
101
|
+
# første gang ... efter den 31. december 2008", nor to one first registered
|
|
102
|
+
# between 3 June 1998 and 1 January 2009 "hvis bilen efter den 31. december
|
|
103
|
+
# 2008 er registreret med nummerpladen for vare- og lastbiler, der er
|
|
104
|
+
# anmeldt til privat eller til blandet privat og erhvervsmæssig brug
|
|
105
|
+
# (papegøjenummerplade)".
|
|
106
|
+
# So the sticker regime ran 3 June 1998 - 31 December 2008 and the PLATE took
|
|
107
|
+
# over on 1 January 2009, both dates from the instrument's own words. The
|
|
108
|
+
# enabling power is § 1, nr. 9 of lov nr. 1338 af 19/12/2008: "Skatteministeren
|
|
109
|
+
# kan, for at styrke håndhævelsen af skatte- eller miljølovgivningen, fastsætte
|
|
110
|
+
# regler om mærkning af køretøjer med særlige nummerplader eller mærkater."
|
|
111
|
+
#
|
|
112
|
+
# SEPARATOR POLICY: the printed gaps on a Danish plate are GAPS, not glyphs —
|
|
113
|
+
# no Danish instrument prescribes any separator character. Per PRD-PLATES §2.6
|
|
114
|
+
# they are written as the emitted SPACE in `pattern` and as an optional " ?" in
|
|
115
|
+
# every regex. SKAT's catalogue renders the five-digit car number as two groups
|
|
116
|
+
# ("AF 22 454"), which is why the canonical printed form here is "LL 99 999".
|
|
117
|
+
#
|
|
118
|
+
# REGEX POLICY: `format.regex` is the lint-round-trippable regex over the full
|
|
119
|
+
# A-Z/0-9 alphabet in printed form; `format.regex_strict` carries the issued
|
|
120
|
+
# letter alphabet and the number block where those are sourced. There is no
|
|
121
|
+
# `regex_statutory` anywhere in this file: the Danish statute (§ 68, stk. 2 —
|
|
122
|
+
# two Latin letters and one to five Arabic numerals) is WIDER than every
|
|
123
|
+
# individual series, but it is the union of the series rather than a legal
|
|
124
|
+
# outer bound on any one of them, so it is recorded once in `common.number_rule`
|
|
125
|
+
# instead of being smuggled into a per-series twin.
|
|
126
|
+
#
|
|
127
|
+
# SCOPE, FROM THE INSTRUMENT: § 1, stk. 4 — "I denne bekendtgørelse bruges
|
|
128
|
+
# betegnelsen »her i landet« om Kongeriget Danmark, bortset fra Færøerne og
|
|
129
|
+
# Grønland." The Faroe Islands (ISO FO) and Greenland (ISO GL) are therefore
|
|
130
|
+
# OUTSIDE this file by the instrument's own definition, not by our omission;
|
|
131
|
+
# they are separate jurisdictions for this dataset and neither is covered here.
|
|
132
|
+
jurisdiction: dk
|
|
133
|
+
authority:
|
|
134
|
+
name: Skatteforvaltningen (Motorstyrelsen) — Køretøjsregisteret
|
|
135
|
+
url: "https://motorst.dk/borger/nummerplader"
|
|
136
|
+
binding: vehicle
|
|
137
|
+
binding_note: >-
|
|
138
|
+
`vehicle`, with one sourced exception. BEK 663/2025 § 67, stk. 3: "Nummer-
|
|
139
|
+
pladen tilhører staten" — the plate is state property attached to the
|
|
140
|
+
vehicle's registration, and the registered owner must surrender it when the
|
|
141
|
+
vehicle is deregistered. The exception is the ønskenummerplade, which tracks
|
|
142
|
+
the RIGHTS-HOLDER (§ 74, stk. 5: the number "kan inden for rettighedsperioden
|
|
143
|
+
overføres til et andet køretøj, som registreres til den, der har retten");
|
|
144
|
+
that series carries `binding: owner` of its own.
|
|
145
|
+
instrument:
|
|
146
|
+
citation: "Bekendtgørelse nr. 663 af 10. juni 2025 om registrering af køretøjer (registreringsbekendtgørelsen), som ændret ved BEK nr 1826 af 29/12/2025"
|
|
147
|
+
in_force: "2025-06-16"
|
|
148
|
+
ministry: Skatteministeriet
|
|
149
|
+
enabling_statute: "Lov om registrering af køretøjer, jf. lovbekendtgørelse nr. 179 af 22. februar 2023 — recited in the indledning of BEK 663/2025: '§ 1, stk. 3, § 2, stk. 5, § 5, § 6, stk. 2, § 7, stk. 2-5 og 7, § 7 e, stk. 4, § 7 h, § 14, stk. 2 og 3, § 15, stk. 5, § 17, stk. 2, og § 20, stk. 2'"
|
|
150
|
+
replaces: "BEK nr 866 af 19/06/2023 om registrering af køretøjer (out of force 2025-06-16)"
|
|
151
|
+
source: "https://www.retsinformation.dk/eli/lta/2025/663 # full text via the ELI XML embodiment /eli/lta/2025/663/dan/xml; ELI metadata gives date_document 2025-06-10, date_publication 2025-06-16, in_force; accessed 2026-08-02"
|
|
152
|
+
|
|
153
|
+
# ---------------------------------------------------------------------------
|
|
154
|
+
# Jurisdiction-wide facts, cited once and referenced per series.
|
|
155
|
+
# ---------------------------------------------------------------------------
|
|
156
|
+
common:
|
|
157
|
+
number_rule:
|
|
158
|
+
text: >-
|
|
159
|
+
BEK 663/2025 § 68, stk. 2, verbatim: "Nummerpladen har, bortset fra
|
|
160
|
+
nummerplader som nævnt i stk. 4, nr. 2, 3 og 5, et registreringsnummer,
|
|
161
|
+
der består af to latinske bogstaver efterfulgt af et til fem arabiske
|
|
162
|
+
tal." The carve-outs are the ønskenummerplade (nr. 2), the historic plate
|
|
163
|
+
(nr. 3) and the prøveskilt (nr. 5) — each of which has its own grammar
|
|
164
|
+
and its own series below.
|
|
165
|
+
digit_count_note: >-
|
|
166
|
+
ONE TO FIVE, not five. Danish Wikipedia says "to bogstaver og tre til fem
|
|
167
|
+
cifre" and English Wikipedia says "two letters and five digits"; the
|
|
168
|
+
instrument says one to five, and SKAT's own catalogue shows two-digit
|
|
169
|
+
prøveskilt numbers (10-99), three-digit moped and tractor numbers
|
|
170
|
+
(100-999) and four-digit trailer numbers (1.000-9.999). The five-digit
|
|
171
|
+
form is the CAR form, not the rule. Each series below carries the digit
|
|
172
|
+
count its own number block dictates.
|
|
173
|
+
series_delegation: >-
|
|
174
|
+
§ 68, stk. 3: "Skatteforvaltningen kan inddele registreringsnumre i serier
|
|
175
|
+
efter køretøjers art eller anvendelse." The power to divide numbers into
|
|
176
|
+
series by vehicle kind or use is primary; the division itself is published
|
|
177
|
+
only in SKAT's plate catalogue — see plates/_decode/dk-serial-blocks.yml.
|
|
178
|
+
sources:
|
|
179
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 2-4; § 69 (how many plates and where); accessed 2026-08-02"
|
|
180
|
+
plate_types_catalogue:
|
|
181
|
+
text: >-
|
|
182
|
+
SKAT, "Liste over alle pladetyper i Danmark pr. 06.06.2012" — the
|
|
183
|
+
authority's own complete plate-stock poster, laid out as NONE EU and EU
|
|
184
|
+
columns with, per row, an internal stock number (PSTK), an internal item
|
|
185
|
+
number, the Danish designation, the size, the colour words, the number
|
|
186
|
+
range and a rendering of the format. This is the source for every
|
|
187
|
+
dimension, every colour word and every post-2012 number range in this
|
|
188
|
+
file. It is dated to the same day BEK 504/2012 came into force.
|
|
189
|
+
dimension_caveat: >-
|
|
190
|
+
The poster's size column is headed "Størrelse centimeter højde x længde"
|
|
191
|
+
but its values are MILLIMETRES height x length (120x504, 165x240,
|
|
192
|
+
125x145, 207x504). The header is an error in the source; it is recorded
|
|
193
|
+
here rather than silently corrected, and this file writes the values as
|
|
194
|
+
w/h in mm in the dataset's own order.
|
|
195
|
+
colour_convention: >-
|
|
196
|
+
The poster's colour cells hold two to four words. Read as
|
|
197
|
+
background/characters/border, they reproduce the known plates exactly and
|
|
198
|
+
are corroborated by the one colour statement the instrument does make:
|
|
199
|
+
the diplomatic row reads "blå/hvid blå" and § 76, stk. 1 requires the
|
|
200
|
+
number to appear "på en blå baggrund". The reading is an INFERENCE from
|
|
201
|
+
the cell order, corroborated, and is flagged as such on every design
|
|
202
|
+
below rather than presented as the poster's own words.
|
|
203
|
+
sources:
|
|
204
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT, 'Liste over alle pladetyper i Danmark pr. 06.06.2012'; archived capture 2017-09-17 (the live skat.dk copy is gone); accessed 2026-08-02"
|
|
205
|
+
- "https://web.archive.org/web/20110716080639/http://www.skat.dk/SKAT.aspx?oId=1826647 # skat.dk 'Personbil - EU': Serie 61, størrelse 120 x 504, farve Hvid/sort/rød, nummerrække 20.000-59.999, format '@@ ## ###' with the authority's own key (@ = bogstav, # = tal, $ = vilkårligt, Dkåå = Dk + årstal i rød kasse); page footer 'Senest redigeret 02 sep 2009'; archived capture 2011-07-16; accessed 2026-08-02"
|
|
206
|
+
- "https://web.archive.org/web/20120127070602/http://www.skat.dk/SKAT.aspx?oId=1826638 # skat.dk 'Nummerplader med EU-symbol', headed 'Aktuelle EU-nummerplader pr. 12. oktober 2009', indexing the twenty-odd EU plate types; archived capture 2012-01-27; accessed 2026-08-02"
|
|
207
|
+
eu_band:
|
|
208
|
+
side: left
|
|
209
|
+
content: eu-stars+DK
|
|
210
|
+
optional: true
|
|
211
|
+
rule: >-
|
|
212
|
+
THE BAND IS A CHOICE, NOT A MANDATE, AND IT STILL IS. BEK 663/2025 § 68,
|
|
213
|
+
stk. 5: "Den, der anmelder et køretøj til indregistrering, vælger, om
|
|
214
|
+
nummerpladen skal vise EU-symbolet (EU-nummerplade). Grænsenummerplade og
|
|
215
|
+
diplomatnummerplade udfærdiges dog kun med EU-symbolet. Historisk
|
|
216
|
+
nummerplade og nummerplade til en knallert eller traktor udfærdiges ikke
|
|
217
|
+
med EU-symbolet." So: compulsory on border and diplomatic plates,
|
|
218
|
+
forbidden on historic, moped and tractor plates, optional everywhere else
|
|
219
|
+
— which means a Danish plate WITHOUT a band is not evidence of age.
|
|
220
|
+
start: "2009-10-12"
|
|
221
|
+
start_evidence: >-
|
|
222
|
+
BEK 633/2009 § 100, verbatim: "Bekendtgørelsen træder i kraft den 1. juli
|
|
223
|
+
2009 bortset fra § 69, stk. 5, der træder i kraft den 12. oktober 2009."
|
|
224
|
+
§ 69, stk. 5 of that bekendtgørelse is word-for-word the chooser now in
|
|
225
|
+
§ 68, stk. 5. The band clause was carved out of the general 1 July 2009
|
|
226
|
+
commencement and given its own day.
|
|
227
|
+
corroboration: >-
|
|
228
|
+
SKAT's catalogue index page is headed "Aktuelle EU-nummerplader pr. 12.
|
|
229
|
+
oktober 2009". English Wikipedia reports the same day from a Danish EU
|
|
230
|
+
information-centre page ("expected in 2008, but was thereafter delayed to
|
|
231
|
+
12 October 2009"); that is corroboration of an instrument date, not the
|
|
232
|
+
source of it.
|
|
233
|
+
national_sign_alternative: >-
|
|
234
|
+
CORRECTED DIRECTION, RECORDED BECAUSE IT IS EASY TO GET BACKWARDS. The
|
|
235
|
+
oval distinguishing-sign geometry in BEK 663/2025 is § 37, and § 37 is
|
|
236
|
+
addressed to FOREIGN vehicles in Denmark rather than to Danish vehicles
|
|
237
|
+
abroad: "Et udenlandsk motorkøretøj og et udenlandsk påhængskøretøj til
|
|
238
|
+
et motorkøretøj skal bag på vise registreringslandets
|
|
239
|
+
landekendingsmærke", the mark being one to three Latin letters painted
|
|
240
|
+
black on a white ellipse, letters at least 80 mm high with strokes at
|
|
241
|
+
least 10 mm, the ellipse at least 175x115 mm on a motorcycle and at
|
|
242
|
+
least 240x145 mm elsewhere for a three-letter mark, reducible to
|
|
243
|
+
175x115 mm for one or two letters. The duty on a BANDLESS DANISH plate
|
|
244
|
+
to carry a "DK" oval when driven abroad is imposed by the destination
|
|
245
|
+
state and by the 1968 Vienna Convention, NOT by this bekendtgørelse;
|
|
246
|
+
English Wikipedia asserts it and cites a motoring-club page. Tagged
|
|
247
|
+
secondary-wikipedia; the § 37 geometry is given because it is what the
|
|
248
|
+
Danish instrument actually prescribes.
|
|
249
|
+
hex_basis: observed
|
|
250
|
+
sources:
|
|
251
|
+
- "https://www.retsinformation.dk/eli/lta/2009/633/dan/xml # § 69, stk. 5 (the chooser) and § 100 (the split commencement, 1 July 2009 / 12 October 2009); accessed 2026-08-02"
|
|
252
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 5 as it stands today, incl. the compulsory/forbidden lists; § 37 (the landekendingsmærke geometry — for FOREIGN vehicles in Denmark); accessed 2026-08-02"
|
|
253
|
+
- "https://web.archive.org/web/20120127070602/http://www.skat.dk/SKAT.aspx?oId=1826638 # 'Aktuelle EU-nummerplader pr. 12. oktober 2009'; accessed 2026-08-02"
|
|
254
|
+
charset:
|
|
255
|
+
letters_excluded: ["I", "Q", "Æ", "Ø", "Å"]
|
|
256
|
+
letters_issued: [A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y, Z]
|
|
257
|
+
second_letter_extra_exclusion: ["O"]
|
|
258
|
+
blocked_combinations: [BH, BU, CC, CD, DK, DU, EU, KZ, MU, PU, PY, SS, UD, UN, VC]
|
|
259
|
+
basis: secondary-wikipedia
|
|
260
|
+
note: >-
|
|
261
|
+
NO DANISH INSTRUMENT RESTRICTS THE LETTERS. Neither BEK 663/2025 nor any
|
|
262
|
+
of its ancestors names an excluded letter or an excluded combination, and
|
|
263
|
+
SKAT publishes no alphabet. The restriction is reported by Danish
|
|
264
|
+
Wikipedia, which cites the enthusiast register nrpl.dk for it: the letters
|
|
265
|
+
I, Q, Æ, Ø and Å are not used on ordinary plates; O is used only as the
|
|
266
|
+
FIRST letter of a pair; and fifteen combinations are skipped as
|
|
267
|
+
unsuitable. Æ, Ø and Å are outside this dataset's serial alphabet
|
|
268
|
+
(_meta/separators.yml) in any case, so only I and Q bite everywhere, plus
|
|
269
|
+
O in second position. That — and nothing else — is what `regex_strict`
|
|
270
|
+
encodes on the ordinary series.
|
|
271
|
+
blocked_note: >-
|
|
272
|
+
The fifteen blocked pairs are deliberately NOT compiled into any regex,
|
|
273
|
+
following the nl.yml and se.yml precedent: a blocked combination is a
|
|
274
|
+
NON-ISSUANCE rule, not a well-formedness rule. Danish Wikipedia adds that
|
|
275
|
+
more than a hundred further pairs used by the individual police districts
|
|
276
|
+
before the Centralregisteret for Motorkøretøjer took over registration in
|
|
277
|
+
the late 1960s are also skipped; that list is not reproduced here and no
|
|
278
|
+
claim is made about its membership.
|
|
279
|
+
reuse_rule: >-
|
|
280
|
+
Danish numbers are RE-USED, so no letter block gives an age. Danish
|
|
281
|
+
Wikipedia reports that on the digital register's introduction allocation
|
|
282
|
+
restarted at AA and that combinations free for at least twelve years are
|
|
283
|
+
recycled. The twelve years is corroborated by the instrument: BEK
|
|
284
|
+
663/2025 § 2, stk. 6 — "Skatteforvaltningen kan slette registrerede
|
|
285
|
+
oplysninger om et køretøj 12 år efter, at køretøjet er afmeldt, hvis
|
|
286
|
+
køretøjet ikke siden da er indregistreret på ny i Køretøjsregisteret."
|
|
287
|
+
sources:
|
|
288
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # 'På almindelige nummerplader anvendes bogstaverne I, Q, Æ, Ø og Å ikke. Bogstavet O bruges kun som første bogstav i en kombination.' and the fifteen blocked pairs; the article cites nrpl.dk; secondary-wikipedia; accessed 2026-08-02"
|
|
289
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 2, stk. 6 — the twelve-year deletion rule that the re-use claim rests on; accessed 2026-08-02"
|
|
290
|
+
registration_scope:
|
|
291
|
+
text: >-
|
|
292
|
+
BEK 663/2025 § 3, stk. 1 lists what must be registered and plated before
|
|
293
|
+
use on a road: motorkøretøj; traktor or blokvogn; knallert; påhængs- or
|
|
294
|
+
sættevogn to a registrable vehicle; campingvogn; other påhængsredskab
|
|
295
|
+
capable of being towed above 30 km/h; and a motorredskab fitted for
|
|
296
|
+
carrying goods. § 3, stk. 3 adds the moped cut-off (below), and § 3,
|
|
297
|
+
stk. 4 the municipal plate (see the GAPS block at the end of this file).
|
|
298
|
+
source: "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3; accessed 2026-08-02"
|
|
299
|
+
design_sources:
|
|
300
|
+
hex_note: >-
|
|
301
|
+
EVERY hex in this file is `hex_basis: observed` and INDICATIVE. No Danish
|
|
302
|
+
instrument gives an RAL, a CIE box or an RGB value for any plate colour,
|
|
303
|
+
and SKAT's catalogue names colours only in words — "hvid", "gul", "sort",
|
|
304
|
+
"rød", "blå". The values below were read off SKAT's own plate renderings
|
|
305
|
+
in that catalogue, which are flat illustrations rather than measured
|
|
306
|
+
swatches. This is the posture se.yml records for Sweden and de.yml for
|
|
307
|
+
the German "grünes Kennzeichen"; it is not a defect in the pass.
|
|
308
|
+
font_note: >-
|
|
309
|
+
NO TYPEFACE IS MANDATED and no statutory drawing exists. Per PRD-PLATES
|
|
310
|
+
§6 the render layer therefore has neither a licence to clear nor a
|
|
311
|
+
Schriftmuster to derive from; the schematic fallback applies and the gap
|
|
312
|
+
is recorded here rather than papered over with a lookalike TTF.
|
|
313
|
+
mounting_rules: >-
|
|
314
|
+
BEK 663/2025 § 70: the plate is mounted outside the vehicle, visible and
|
|
315
|
+
easily legible, vertical or near-vertical, in a plane perpendicular to
|
|
316
|
+
the longitudinal axis. § 70, stk. 3: plates on a person- or varebil —
|
|
317
|
+
"bortset fra nummerplader fra før den 1. april 1976 og historiske
|
|
318
|
+
nummerplader" — must be fixed with at least two screws or bolts, capped
|
|
319
|
+
in the same colour as the plate at that point, the caps removable only
|
|
320
|
+
with a tool, and no decorative screws. § 70, stk. 4: the plate's form may
|
|
321
|
+
not be altered, no stickers, no frame covering any part of the plate
|
|
322
|
+
inside the embossed edge. § 70, stk. 6: the rear plate is lit at
|
|
323
|
+
lighting-up time, except on a knallert.
|
|
324
|
+
plate_count: >-
|
|
325
|
+
BEK 663/2025 § 69: two plates, front and rear, except — one rear plate
|
|
326
|
+
only on a registered motorcykel, knallert or påhængskøretøj (never on the
|
|
327
|
+
side); one FRONT plate only on a godkendt traktor; and an EXTRA rear
|
|
328
|
+
plate where the rear plate is wholly or partly covered by load, mounted
|
|
329
|
+
on the load or on a carrier so that it can be read directly. That extra
|
|
330
|
+
plate is SKAT's "3. nummerplade (cykelplade)" and carries the vehicle's
|
|
331
|
+
own number; it is recorded on the standard series below as a plate
|
|
332
|
+
variant rather than as a series of its own, because it is not a separate
|
|
333
|
+
issuance system.
|
|
334
|
+
source: "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # §§ 69-70; accessed 2026-08-02"
|
|
335
|
+
|
|
336
|
+
series:
|
|
337
|
+
|
|
338
|
+
# =========================================================================
|
|
339
|
+
# THE STANDARD PLATE. White ground, black characters, red border, two
|
|
340
|
+
# letters and five digits — the plate on a Danish private car since the
|
|
341
|
+
# 1 April 1976 numbering guidelines.
|
|
342
|
+
# =========================================================================
|
|
343
|
+
- id: dk-standard-1976
|
|
344
|
+
class: standard
|
|
345
|
+
categories: [car]
|
|
346
|
+
period: { start: 1976 }
|
|
347
|
+
period_evidence: statutory-date
|
|
348
|
+
period_note: >-
|
|
349
|
+
1976 is 1 APRIL 1976, and it is dated by the instrument in force today
|
|
350
|
+
rather than by an enthusiast page: BEK 663/2025 § 72, stk. 4, nr. 4
|
|
351
|
+
refuses a replacement plate where the number does not follow "de
|
|
352
|
+
retningslinjer for udformning af registreringsnumre, der har været
|
|
353
|
+
gældende siden den 1. april 1976"; § 70, stk. 3 exempts "nummerplader fra
|
|
354
|
+
før den 1. april 1976" from the two-screw rule; § 75, stk. 1 opens the
|
|
355
|
+
historic plate to vehicles "registreret første gang før den 1. april
|
|
356
|
+
1976". The instrument that ENACTED the 1976 guidelines was not reached —
|
|
357
|
+
see the GAPS block — so this is `statutory-date` (a date stated in a
|
|
358
|
+
statute) and not `instrument-in-force` (a commencement clause read).
|
|
359
|
+
matching: strict
|
|
360
|
+
format:
|
|
361
|
+
pattern: "LL 99 999"
|
|
362
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
363
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?(?:[1-6]\d|7[0-5]|7[89]|8\d|9[0-7]) ?\d{3}\z'
|
|
364
|
+
characters: 7
|
|
365
|
+
charset:
|
|
366
|
+
letters_excluded: ["I", "Q", "Æ", "Ø", "Å"]
|
|
367
|
+
second_letter_extra_exclusion: ["O"]
|
|
368
|
+
basis: secondary-wikipedia
|
|
369
|
+
notes: >-
|
|
370
|
+
See common.charset. The alphabet is NOT in any instrument; it is
|
|
371
|
+
reported by Danish Wikipedia from nrpl.dk and is tagged
|
|
372
|
+
secondary-wikipedia wherever it appears. `regex_strict` also carries
|
|
373
|
+
the NUMBER BLOCK — 10.000-75.999 and 78.000-97.999 — which IS primary,
|
|
374
|
+
from SKAT's catalogue row "Personbiler - Hvid rektangulær". It
|
|
375
|
+
excludes 76.000-77.999 (diplomatic) and 98.000-99.999 (taxi), which
|
|
376
|
+
are their own series below.
|
|
377
|
+
progression: >-
|
|
378
|
+
NO AGE SIGNAL, NO GEOGRAPHY. The two letters are a serial, not a
|
|
379
|
+
region: the pre-1958 single letter was the county marker and it is long
|
|
380
|
+
gone. Numbers freed by deregistration are re-used (common.charset.
|
|
381
|
+
reuse_rule; twelve years, corroborated by § 2, stk. 6), and allocation
|
|
382
|
+
restarted from AA when the digital register came in, so a letter pair
|
|
383
|
+
dates nothing. The one thing a Danish number still encodes is VEHICLE
|
|
384
|
+
KIND, and only through its digit block — see
|
|
385
|
+
plates/_decode/dk-serial-blocks.yml, and note that the blocks were
|
|
386
|
+
consolidated on 6 June 2012.
|
|
387
|
+
separator_note: >-
|
|
388
|
+
The printed gaps are gaps, not glyphs: no Danish instrument prescribes
|
|
389
|
+
a separator character. SKAT's catalogue renders the five-digit number
|
|
390
|
+
as two groups ("AF 22 454"), which is the canonical printed form used
|
|
391
|
+
here; the regex accepts the space or its absence at both positions per
|
|
392
|
+
PRD-PLATES §2.6.
|
|
393
|
+
design:
|
|
394
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
395
|
+
plate_variants:
|
|
396
|
+
- { w: 240, h: 165, unit: mm, note: "'kvadratisk' — the square rear plate; SKAT stocks it as its own type ('Personbiler - Hvid kvadratisk', 120x504/165x240, i.e. a 504x120 front plate with a 240x165 rear)" }
|
|
397
|
+
- { w: 240, h: 165, unit: mm, note: "'amerikaner' — SKAT type 76/77 'Personbiler - Hvid amerikaner', for US-market mountings" }
|
|
398
|
+
- { w: 504, h: 120, unit: mm, note: "'3. nummerplade (cykelplade)' — the extra rear plate required by § 69, stk. 4 where load or a cycle carrier covers the rear plate. Carries the vehicle's own number; SKAT colour cell 'hvid/rød'" }
|
|
399
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
400
|
+
foreground: "#000000"
|
|
401
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød, note: "the red border is the Danish plate's signature and is the third word in SKAT's colour cell 'hvid/sort/rød'; no instrument mentions it" }
|
|
402
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true, note: "OPTIONAL — chosen at issuance under § 68, stk. 5; available since 12 October 2009 (common.eu_band). Absence of a band is not evidence of age" }
|
|
403
|
+
emblem: { present: false }
|
|
404
|
+
rear_differs: false
|
|
405
|
+
display: "two plates, front and rear (§ 69, stk. 1)"
|
|
406
|
+
extra_markings: "a security hologram is fitted to new plates; it is not mentioned in the instrument and is recorded as an observed physical feature, not a sourced specification"
|
|
407
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
408
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
409
|
+
region_encoding_note: >-
|
|
410
|
+
NOT geography — Denmark encodes VEHICLE KIND in the digit block and has
|
|
411
|
+
encoded no region since the single-letter county plates ended. The decode
|
|
412
|
+
file is named for what it actually decodes.
|
|
413
|
+
sources:
|
|
414
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 2 (two Latin letters + one to five Arabic numerals); § 69, stk. 1 (two plates); § 70 (mounting); § 72, stk. 4, nr. 4 and § 70, stk. 3 and § 75, stk. 1 (the 1 April 1976 line); accessed 2026-08-02"
|
|
415
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT 'Liste over alle pladetyper i Danmark pr. 06.06.2012', rows 13/14 'Personbiler - Hvid rektangulær' 120x504 hvid/sort/rød 10.000-75.999 og 78.000-97.999, rows 15/16 kvadratisk, rows 76/77 amerikaner, rows 29/30 '3. nummerplader (cykelplade)'; accessed 2026-08-02"
|
|
416
|
+
- "https://web.archive.org/web/20110716080639/http://www.skat.dk/SKAT.aspx?oId=1826647 # skat.dk 'Personbil - EU' Serie 61: 120 x 504, Hvid/sort/rød, 20.000-59.999, format '@@ ## ###' — the PRE-2012 car block, from the authority; accessed 2026-08-02"
|
|
417
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: the issued letter alphabet (I, Q, Æ, Ø, Å unused; O first-position only), the fifteen blocked pairs, and the restart-at-AA / twelve-year re-use practice; accessed 2026-08-02"
|
|
418
|
+
notes: >-
|
|
419
|
+
THE DANISH STANDARD PLATE. Two things about it are unusual and both are
|
|
420
|
+
sourced. First, the SIZE: 504 x 120 mm, not the 520 x 110 mm that the
|
|
421
|
+
rest of Europe uses and that both Wikipedia infoboxes assert — SKAT's own
|
|
422
|
+
catalogue says "120x504" in every white-plate row, and the archived
|
|
423
|
+
skat.dk series page says "120 x 504" for Serie 61. The 520 x 110 figure
|
|
424
|
+
is corrected away here. Second, the EU BAND IS OPTIONAL and has been
|
|
425
|
+
since it appeared: § 68, stk. 5 gives the choice to whoever registers the
|
|
426
|
+
vehicle, so a bandless Danish plate may be brand new. Colour is white
|
|
427
|
+
ground / black characters / red border throughout; the red border is what
|
|
428
|
+
makes the plate recognisable and it appears in no instrument.
|
|
429
|
+
DELIBERATE NARROWNESS OF `categories`: SKAT names this type "Personbiler",
|
|
430
|
+
so this series claims cars and nothing else. Vans and lorries of not more
|
|
431
|
+
than 4 t are on the yellow or the parrot plate according to their
|
|
432
|
+
registered use; what plate a bus or a lorry ABOVE 4 t carries is not
|
|
433
|
+
established by any source reached in this pass and is filed as a gap
|
|
434
|
+
rather than guessed at.
|
|
435
|
+
|
|
436
|
+
# =========================================================================
|
|
437
|
+
# THE YELLOW GOODS-VEHICLE PLATE — "gulpladebil". Exclusively commercial use;
|
|
438
|
+
# private use of the vehicle is a tax offence, which is the whole point of
|
|
439
|
+
# the colour.
|
|
440
|
+
# =========================================================================
|
|
441
|
+
- id: dk-van-commercial-yellow
|
|
442
|
+
class: standard
|
|
443
|
+
categories: [van, truck]
|
|
444
|
+
period: { start: 1976 }
|
|
445
|
+
period_evidence: statutory-date
|
|
446
|
+
period_caveat: >-
|
|
447
|
+
READ THIS BEFORE USING THE START YEAR. 1976 is the date of the NUMBERING
|
|
448
|
+
guidelines that this plate's number follows (§ 72, stk. 4, nr. 4 — see
|
|
449
|
+
dk-standard-1976), NOT a sourced date for the yellow COLOUR. No Danish
|
|
450
|
+
instrument specifies plate colours at all, so nothing dates the yellow
|
|
451
|
+
plate's introduction; the earliest evidence of it reached in this pass is
|
|
452
|
+
SKAT's own catalogue, which shows it in 2009 and again in 2012. Treat the
|
|
453
|
+
colour as attested from 2009 and the number format from 1976. This is a
|
|
454
|
+
known, deliberate gap, not an oversight.
|
|
455
|
+
matching: strict
|
|
456
|
+
format:
|
|
457
|
+
pattern: "LL 99 999"
|
|
458
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
459
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?(?:[1-6]\d|7[0-5]|7[89]|8\d|9[0-7]) ?\d{3}\z'
|
|
460
|
+
characters: 7
|
|
461
|
+
charset:
|
|
462
|
+
basis: secondary-wikipedia
|
|
463
|
+
notes: "same alphabet and same number block as dk-standard-1976; see common.charset"
|
|
464
|
+
design:
|
|
465
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
466
|
+
plate_variants:
|
|
467
|
+
- { w: 240, h: 165, unit: mm, note: "'kvadratisk' rear plate — SKAT 'Vare-lastbiler - kvadratisk (gul)'" }
|
|
468
|
+
background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed, spec: gul }
|
|
469
|
+
foreground: "#000000"
|
|
470
|
+
border: { color: "#000000", hex_basis: observed, spec: sort, note: "SKAT colour cell 'gul/sort/sort' — a BLACK border, unlike the white plate's red one" }
|
|
471
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
472
|
+
emblem: { present: false }
|
|
473
|
+
rear_differs: false
|
|
474
|
+
tax_class:
|
|
475
|
+
registered_use: "udelukkende erhvervsmæssig brug"
|
|
476
|
+
instrument_hook: >-
|
|
477
|
+
BEK 663/2025 § 85, stk. 1 — a vare- or lastbil of not more than 4 t
|
|
478
|
+
"registreret til udelukkende erhvervsmæssig brug" must display the
|
|
479
|
+
registered owner's CVR number and name (or an unambiguous logo) on both
|
|
480
|
+
sides, in a clearly contrasting colour, letters at least 3 cm high, not
|
|
481
|
+
on removable signs. This is the instrument's handle on the yellow-plate
|
|
482
|
+
category; the instrument does not itself say "yellow".
|
|
483
|
+
note: >-
|
|
484
|
+
Registration tax and VAT treatment follow from the registered use under
|
|
485
|
+
registreringsafgiftsloven and lov om vægtafgift af motorkøretøjer m.v.
|
|
486
|
+
This file records the REGISTERED USE, which is what the plate colour
|
|
487
|
+
tracks, and does not restate rates — rates change and are outside
|
|
488
|
+
PRD-PLATES §2.5's scope.
|
|
489
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
490
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
491
|
+
sources:
|
|
492
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 17/18 'Vare-lastbiler - rektangulære (gul)' 120x504 gul/sort 10.000-75.999 og 78.000-97.999, rows 19/20 kvadratisk; accessed 2026-08-02"
|
|
493
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 85 (CVR marking on exclusively-commercial vans and lorries up to 4 t); § 68, stk. 2; accessed 2026-08-02"
|
|
494
|
+
notes: >-
|
|
495
|
+
THE GULPLADE. Yellow ground, black characters, BLACK border — the border
|
|
496
|
+
colour is the quickest way to tell a Danish commercial plate from a
|
|
497
|
+
private one at a distance, and it is the third word in SKAT's colour cell.
|
|
498
|
+
The plate marks a REGISTERED USE, not a body type: the same van is a
|
|
499
|
+
yellow-plate vehicle, a parrot-plate vehicle or neither depending on what
|
|
500
|
+
it was registered for. Danish enforcement of the "private use is illegal"
|
|
501
|
+
rule is what the CVR-marking duty in § 85 exists to support.
|
|
502
|
+
|
|
503
|
+
# =========================================================================
|
|
504
|
+
# THE PAPEGØJEPLADE — half yellow, half white. Vans and lorries up to 4 t
|
|
505
|
+
# registered for private, or mixed private and commercial, use.
|
|
506
|
+
# =========================================================================
|
|
507
|
+
- id: dk-van-parrot-2009
|
|
508
|
+
class: standard
|
|
509
|
+
categories: [van, truck]
|
|
510
|
+
period: { start: 2009 }
|
|
511
|
+
period_evidence: statutory-date
|
|
512
|
+
period_note: >-
|
|
513
|
+
1 JANUARY 2009, from the instrument's own words rather than from the
|
|
514
|
+
enthusiast web. BEK 663/2025 § 82, stk. 2 disapplies the rear-window
|
|
515
|
+
mærke for a vare- or lastbil first registered "efter den 31. december
|
|
516
|
+
2008", and for one first registered between 3 June 1998 and 1 January
|
|
517
|
+
2009 that has since been re-registered "med nummerpladen for vare- og
|
|
518
|
+
lastbiler, der er anmeldt til privat eller til blandet privat og
|
|
519
|
+
erhvervsmæssig brug (papegøjenummerplade)". The sticker regime therefore
|
|
520
|
+
ran 3 June 1998 - 31 December 2008 and the PLATE took over on 1 January
|
|
521
|
+
2009. The enabling power is § 1, nr. 9 of lov nr. 1338 af 19. december
|
|
522
|
+
2008, which inserts a new stk. 6 into § 7 of lov om registrering af
|
|
523
|
+
køretøjer: "Skatteministeren kan, for at
|
|
524
|
+
styrke håndhævelsen af skatte- eller miljølovgivningen, fastsætte regler
|
|
525
|
+
om mærkning af køretøjer med særlige nummerplader eller mærkater."
|
|
526
|
+
`statutory-date` rather than `instrument-in-force`: the 1 January 2009
|
|
527
|
+
line is stated in the registreringsbekendtgørelse but is not that
|
|
528
|
+
bekendtgørelse’s own commencement. NOT RE-DERIVED: the stykke numbering
|
|
529
|
+
of § 7 in the consolidated LBK nr 179 af 22/02/2023 may differ from the
|
|
530
|
+
2008 insertion, and no claim is made that it does not.
|
|
531
|
+
matching: strict
|
|
532
|
+
format:
|
|
533
|
+
pattern: "LL 99 999"
|
|
534
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
535
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?(?:[1-6]\d|7[0-5]|7[89]|8\d|9[0-7]) ?\d{3}\z'
|
|
536
|
+
characters: 7
|
|
537
|
+
charset:
|
|
538
|
+
basis: secondary-wikipedia
|
|
539
|
+
notes: "same alphabet and same number block as dk-standard-1976; see common.charset"
|
|
540
|
+
design:
|
|
541
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
542
|
+
plate_variants:
|
|
543
|
+
- { w: 240, h: 165, unit: mm, note: "'kvadratisk' rear plate — SKAT 'Vare-lastbiler - Papegøje kvadratisk'" }
|
|
544
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: "hvid/gul", note: "TWO-TONE: SKAT's colour cell reads 'hvid/gul/sort/sort' — a white field and a yellow field, black characters, black border. Which group sits on which field is OBSERVED from SKAT's own rendering (the yellow field to the left, carrying the letter group, and the white field to the right), not stated by any source; the two-tone fact itself is the catalogue's" }
|
|
545
|
+
background_fields:
|
|
546
|
+
- { part: "letter group", color: "#FFCC00", hex_basis: observed, spec: gul }
|
|
547
|
+
- { part: "digit group", color: "#FFFFFF", hex_basis: observed, spec: hvid }
|
|
548
|
+
foreground: "#000000"
|
|
549
|
+
border: { color: "#000000", hex_basis: observed, spec: sort }
|
|
550
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
551
|
+
emblem: { present: false }
|
|
552
|
+
rear_differs: false
|
|
553
|
+
tax_class:
|
|
554
|
+
registered_use: "privat eller blandet privat og erhvervsmæssig brug"
|
|
555
|
+
instrument_hook: "BEK 663/2025 § 82, stk. 1-2, citing § 2 a i lov om vægtafgift af motorkøretøjer m.v."
|
|
556
|
+
predecessor_regime: >-
|
|
557
|
+
A REAR-WINDOW STICKER, NOT A PLATE, AND IT IS DATED AT BOTH ENDS.
|
|
558
|
+
Between 3 June 1998 and 31 December 2008 the same vehicles carried a
|
|
559
|
+
mærke issued by the authority and stuck inside the rear window (§ 84:
|
|
560
|
+
on the outside rear where the car has no rear window, has a tinted rear
|
|
561
|
+
window, or is an open-bed pick-up; removed if the car is re-registered
|
|
562
|
+
to another use). Vehicles first registered in that window still carry
|
|
563
|
+
the sticker unless they have since been put on a papegøjeplade. The
|
|
564
|
+
sticker is recorded here as design context; it is not a plate and has
|
|
565
|
+
no series of its own.
|
|
566
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
567
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
568
|
+
sources:
|
|
569
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 82, stk. 1-2 (the 3 June 1998 / 31 December 2008 / 1 January 2009 lines and the word papegøjenummerplade), §§ 83-84 (the sticker), § 85; accessed 2026-08-02"
|
|
570
|
+
- "https://www.retsinformation.dk/eli/lta/2008/1338/dan/xml # lov nr. 1338 af 19/12/2008, § 1, nr. 9 (new § 7, stk. 6 in lov om registrering af køretøjer): the power to require marking of vehicles 'med særlige nummerplader eller mærkater' to strengthen tax and environmental enforcement — the enabling instrument for this plate; accessed 2026-08-02"
|
|
571
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 21/22 'Vare-lastbiler - Papegøje rektangulær' 120x504 hvid/gul/sort/sort, rows 23/24 kvadratisk; accessed 2026-08-02"
|
|
572
|
+
- "https://www.retsinformation.dk/eli/lta/2012/504/dan/xml # BEK 504/2012 § 84, stk. 2 — the same papegøjenummerplade wording, the FIRST appearance of the word in the registreringsbekendtgørelse (it is absent from BEK 633/2009, 811/2010 and 651/2011); accessed 2026-08-02"
|
|
573
|
+
notes: >-
|
|
574
|
+
THE PAPEGØJEPLADE ("parrot plate"), and the reason Danish plates are worth
|
|
575
|
+
modelling at all: the COLOUR ENCODES THE TAX CLASS, not the vehicle. Three
|
|
576
|
+
registered uses, three looks — exclusively commercial is all yellow,
|
|
577
|
+
private or mixed is yellow-and-white, and a car is white. The word appears
|
|
578
|
+
in the instrument exactly once, parenthetically, in § 82, stk. 2, and that
|
|
579
|
+
one parenthesis is what dates the plate to 1 January 2009. Note the
|
|
580
|
+
asymmetry the instrument creates: a van first registered between 3 June
|
|
581
|
+
1998 and the end of 2008 may still be running on the OLD sticker regime,
|
|
582
|
+
so the absence of a parrot plate on a mixed-use van is not evidence of
|
|
583
|
+
anything.
|
|
584
|
+
|
|
585
|
+
# =========================================================================
|
|
586
|
+
# MOTORCYCLES — the 240 x 165 mm two-row plate.
|
|
587
|
+
# =========================================================================
|
|
588
|
+
- id: dk-motorcycle-1976
|
|
589
|
+
class: motorcycle
|
|
590
|
+
categories: [motorcycle]
|
|
591
|
+
period: { start: 1976 }
|
|
592
|
+
period_evidence: statutory-date
|
|
593
|
+
period_note: "the 1 April 1976 numbering guidelines; see dk-standard-1976"
|
|
594
|
+
matching: strict
|
|
595
|
+
format:
|
|
596
|
+
pattern: "LL 99 999"
|
|
597
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
598
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?(?:[1-6]\d|7[0-5]|7[89]|8\d|9[0-7]) ?\d{3}\z'
|
|
599
|
+
characters: 7
|
|
600
|
+
pattern_note: >-
|
|
601
|
+
The plate is TWO-ROW (letters above, digits below). The dataset writes
|
|
602
|
+
the single-line printed form with the emitted space, as everywhere else;
|
|
603
|
+
the two-row layout is a design fact, recorded in `design`.
|
|
604
|
+
charset:
|
|
605
|
+
basis: secondary-wikipedia
|
|
606
|
+
notes: "see common.charset"
|
|
607
|
+
design:
|
|
608
|
+
plate: { w: 240, h: 165, unit: mm }
|
|
609
|
+
rows: 2
|
|
610
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
611
|
+
foreground: "#000000"
|
|
612
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
613
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
614
|
+
emblem: { present: false }
|
|
615
|
+
rear_differs: false
|
|
616
|
+
display: "ONE plate, mounted at the REAR and never on the side (§ 69, stk. 2)"
|
|
617
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
618
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
619
|
+
sources:
|
|
620
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 69, stk. 2 (one rear plate, not on the side); § 70, stk. 6 (rear-plate lighting); accessed 2026-08-02"
|
|
621
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 25/26 'MC og påhængsvogne til MC (hvid)' 165x240 hvid/sort/rød 10.000-75.999 og 78.000-97.999; accessed 2026-08-02"
|
|
622
|
+
notes: >-
|
|
623
|
+
SKAT stocks one type for motorcycles AND their trailers ("MC og
|
|
624
|
+
påhængsvogne til MC"), which is why a motorcycle trailer does not appear
|
|
625
|
+
as a trailer series here. PRE-2012 the motorcycle block was its own
|
|
626
|
+
(reported as 10.000-18.999 — secondary-wikipedia, see the decode file);
|
|
627
|
+
since 6 June 2012 motorcycles share the general 10.000-75.999 /
|
|
628
|
+
78.000-97.999 range with cars, vans and approved tractors, so a
|
|
629
|
+
motorcycle number is no longer distinguishable from a car number.
|
|
630
|
+
|
|
631
|
+
# =========================================================================
|
|
632
|
+
# MOPEDS. Two series, two colours, two digit counts — and the small one has
|
|
633
|
+
# a real, dated start.
|
|
634
|
+
# =========================================================================
|
|
635
|
+
- id: dk-moped-large
|
|
636
|
+
class: moped
|
|
637
|
+
categories: [moped]
|
|
638
|
+
period: { start: 2008 }
|
|
639
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
640
|
+
period_caveat: >-
|
|
641
|
+
THIS START IS AN UPPER BOUND, NOT A FIRST-ISSUE DATE. A "stor knallert"
|
|
642
|
+
(over 30 km/h) has always had to be registered under § 3, stk. 1, nr. 3
|
|
643
|
+
without any of the conditions that apply to the small one, so the
|
|
644
|
+
requirement predates every text reached in this pass. 2008 is the
|
|
645
|
+
commencement of BEK 1567/2007, the OLDEST registreringsbekendtgørelse
|
|
646
|
+
whose full text is machine-readable on retsinformation.dk (pre-2008
|
|
647
|
+
instruments publish ELI metadata only — see the GAPS block), and that text
|
|
648
|
+
already carries the duty. The true start is earlier and is not
|
|
649
|
+
established here.
|
|
650
|
+
matching: strict
|
|
651
|
+
format:
|
|
652
|
+
pattern: "LL 999"
|
|
653
|
+
regex: '\A[A-Z]{2} ?\d{3}\z'
|
|
654
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?[1-9]\d{2}\z'
|
|
655
|
+
characters: 5
|
|
656
|
+
charset:
|
|
657
|
+
basis: secondary-wikipedia
|
|
658
|
+
notes: >-
|
|
659
|
+
Alphabet per common.charset. The number block 100-999 is primary,
|
|
660
|
+
from SKAT's catalogue row "Stor Knallert" — which is also why
|
|
661
|
+
regex_strict forbids a leading zero.
|
|
662
|
+
design:
|
|
663
|
+
plate: { w: 145, h: 125, unit: mm }
|
|
664
|
+
rows: 2
|
|
665
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
666
|
+
foreground: "#000000"
|
|
667
|
+
band: { side: none }
|
|
668
|
+
band_note: "NO EU BAND, and it is not a choice: § 68, stk. 5, 3. pkt. — 'nummerplade til en knallert eller traktor udfærdiges ikke med EU-symbolet.'"
|
|
669
|
+
emblem: { present: false }
|
|
670
|
+
display: "ONE plate at the rear (§ 69, stk. 2); not lit at night (§ 70, stk. 6, 2. pkt.)"
|
|
671
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
672
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
673
|
+
sources:
|
|
674
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 1, nr. 3 and stk. 3; § 68, stk. 5 (no EU symbol); § 69, stk. 2; § 70, stk. 6; accessed 2026-08-02"
|
|
675
|
+
- "https://www.retsinformation.dk/eli/lta/2007/1567/dan/xml # BEK 1567/2007, in force 1 January 2008, already requiring knallert registration — the upper bound this period rests on; accessed 2026-08-02"
|
|
676
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 5 'Stor Knallert' 125x145 hvid/sort 100-999; accessed 2026-08-02"
|
|
677
|
+
notes: >-
|
|
678
|
+
THE 45 KM/H MOPED, on the smallest plate Denmark issues — 145 x 125 mm,
|
|
679
|
+
two rows, white with black characters and no EU band. The lille/stor
|
|
680
|
+
split is the 30 km/h design-speed line, which BEK 663/2025 uses in terms
|
|
681
|
+
("En knallert med en konstruktivt bestemt maksimal hastighed over 30 km
|
|
682
|
+
i timen") but only in its chapter on FOREIGN vehicles; the domestic
|
|
683
|
+
definition of a knallert is færdselslovens § 2, nr. 7, applied by BEK
|
|
684
|
+
663/2025 § 33, and neither instrument defines "lille knallert" in so
|
|
685
|
+
many words. Recorded that way rather than tidied. This plate is WHITE
|
|
686
|
+
and the small moped's is YELLOW, which is the reverse of the intuition
|
|
687
|
+
that yellow means commercial, and is why the two are modelled
|
|
688
|
+
separately.
|
|
689
|
+
|
|
690
|
+
- id: dk-moped-small-2006
|
|
691
|
+
class: moped
|
|
692
|
+
categories: [moped]
|
|
693
|
+
period: { start: 2006 }
|
|
694
|
+
period_evidence: statutory-date
|
|
695
|
+
period_note: >-
|
|
696
|
+
1 JULY 2006, and the instrument in force today still states it: BEK
|
|
697
|
+
663/2025 § 3, stk. 3 — "En lille knallert skal kun registreres, hvis den
|
|
698
|
+
er erhvervet som fabriksny den 1. juli 2006 eller senere." The same
|
|
699
|
+
sentence stands in BEK 1567/2007, so the rule is at least as old as that
|
|
700
|
+
text and dates itself. A small moped bought new before that day is on the
|
|
701
|
+
road unregistered and unplated, entirely lawfully — which a parse API
|
|
702
|
+
must not read as an anomaly.
|
|
703
|
+
matching: strict
|
|
704
|
+
format:
|
|
705
|
+
pattern: "LL 9999"
|
|
706
|
+
regex: '\A[A-Z]{2} ?\d{4}\z'
|
|
707
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?[1-9]\d{3}\z'
|
|
708
|
+
characters: 6
|
|
709
|
+
charset:
|
|
710
|
+
basis: secondary-wikipedia
|
|
711
|
+
notes: "alphabet per common.charset; the 1.000-9.999 block is primary from SKAT's catalogue row 'Lille knallert (gul)', hence no leading zero in regex_strict"
|
|
712
|
+
design:
|
|
713
|
+
plate: { w: 145, h: 125, unit: mm }
|
|
714
|
+
rows: 2
|
|
715
|
+
background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed, spec: gul }
|
|
716
|
+
foreground: "#000000"
|
|
717
|
+
border: { color: "#000000", hex_basis: observed, spec: sort }
|
|
718
|
+
band: { side: none }
|
|
719
|
+
band_note: "NO EU BAND — § 68, stk. 5, 3. pkt."
|
|
720
|
+
emblem: { present: false }
|
|
721
|
+
display: "ONE plate at the rear (§ 69, stk. 2); not lit at night (§ 70, stk. 6, 2. pkt.)"
|
|
722
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
723
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
724
|
+
sources:
|
|
725
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 3 (the 1 July 2006 cut-off, plus the invalideknallert and speed-pedelec exemptions); § 68, stk. 5; accessed 2026-08-02"
|
|
726
|
+
- "https://www.retsinformation.dk/eli/lta/2007/1567/dan/xml # the identical 1 July 2006 sentence in BEK 1567/2007 — the rule is at least that old; accessed 2026-08-02"
|
|
727
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 12 'Lille knallert (gul)' 125x145 gul/sort 1.000-9.999; accessed 2026-08-02"
|
|
728
|
+
notes: >-
|
|
729
|
+
THE 30 KM/H MOPED. YELLOW, and for once the yellow has nothing to do with
|
|
730
|
+
tax — it distinguishes the small moped from the large one, whose plate is
|
|
731
|
+
white. Registration is conditional on the purchase date rather than on the
|
|
732
|
+
vehicle: only a lille knallert acquired factory-new on or after 1 July
|
|
733
|
+
2006 must be registered. Invalideknallerter are exempt outright, and a
|
|
734
|
+
speed pedelec under the trial scheme in BEK nr 878 af 25/06/2018 is not
|
|
735
|
+
registered at all.
|
|
736
|
+
|
|
737
|
+
# =========================================================================
|
|
738
|
+
# TRAILERS — yellow, four digits.
|
|
739
|
+
# =========================================================================
|
|
740
|
+
- id: dk-trailer-1976
|
|
741
|
+
class: trailer
|
|
742
|
+
categories: [trailer, semitrailer, caravan]
|
|
743
|
+
period: { start: 1976 }
|
|
744
|
+
period_evidence: statutory-date
|
|
745
|
+
period_note: "the 1 April 1976 numbering guidelines; see dk-standard-1976. The yellow colour itself is undated — same caveat as dk-van-commercial-yellow"
|
|
746
|
+
matching: strict
|
|
747
|
+
format:
|
|
748
|
+
pattern: "LL 99 99"
|
|
749
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{2}\z'
|
|
750
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?[1-9]\d ?\d{2}\z'
|
|
751
|
+
characters: 6
|
|
752
|
+
charset:
|
|
753
|
+
basis: secondary-wikipedia
|
|
754
|
+
notes: "alphabet per common.charset; the 1.000-9.999 block is primary from SKAT's catalogue"
|
|
755
|
+
design:
|
|
756
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
757
|
+
background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed, spec: gul }
|
|
758
|
+
foreground: "#000000"
|
|
759
|
+
border: { color: "#000000", hex_basis: observed, spec: sort }
|
|
760
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
761
|
+
emblem: { present: false }
|
|
762
|
+
display: "ONE plate at the rear (§ 69, stk. 2)"
|
|
763
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
764
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
765
|
+
sources:
|
|
766
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 1, nr. 4-6 (which trailers must be registered, incl. the 30 km/h construction test for a påhængsredskab); § 69, stk. 2; accessed 2026-08-02"
|
|
767
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 10/11 'Påhængsvogne, sættevogne og påhængsredskaber (gul)' 120x504 gul/sort 1.000-9.999; accessed 2026-08-02"
|
|
768
|
+
notes: >-
|
|
769
|
+
One SKAT type covers påhængsvogne, sættevogne and påhængsredskaber
|
|
770
|
+
(caravans included) on a four-digit yellow plate. Registration is not
|
|
771
|
+
universal: § 3, stk. 1, nr. 6 catches a non-caravan påhængsredskab only
|
|
772
|
+
where "påhængsredskabets konstruktion gør det muligt at trække det med en
|
|
773
|
+
højere hastighed end 30 km/t". Motorcycle trailers are NOT here — SKAT
|
|
774
|
+
stocks them with the motorcycle plate (see dk-motorcycle-1976). Before
|
|
775
|
+
6 June 2012 trailers were split across two blocks by kind; the decode file
|
|
776
|
+
records that, tiered.
|
|
777
|
+
|
|
778
|
+
# =========================================================================
|
|
779
|
+
# TRACTORS. Two series because the digit count differs, which is the
|
|
780
|
+
# sharpest evidence that the two are different registrations.
|
|
781
|
+
# =========================================================================
|
|
782
|
+
- id: dk-tractor-registered
|
|
783
|
+
class: agricultural
|
|
784
|
+
categories: [tractor, machine]
|
|
785
|
+
period: { start: 2008 }
|
|
786
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
787
|
+
period_caveat: >-
|
|
788
|
+
UPPER BOUND, as for dk-moped-large: 2008 is the commencement of BEK
|
|
789
|
+
1567/2007, the oldest full text reachable, which already requires
|
|
790
|
+
registration of traktorer and blokvogne. The regime is older and is not
|
|
791
|
+
dated here.
|
|
792
|
+
matching: strict
|
|
793
|
+
format:
|
|
794
|
+
pattern: "LL 999"
|
|
795
|
+
regex: '\A[A-Z]{2} ?\d{3}\z'
|
|
796
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?[1-9]\d{2}\z'
|
|
797
|
+
characters: 5
|
|
798
|
+
charset:
|
|
799
|
+
basis: secondary-wikipedia
|
|
800
|
+
notes: "alphabet per common.charset; the 100-999 block is primary from SKAT's catalogue row 'Traktorer'"
|
|
801
|
+
design:
|
|
802
|
+
plate: { w: 240, h: 165, unit: mm }
|
|
803
|
+
rows: 2
|
|
804
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
805
|
+
foreground: "#000000"
|
|
806
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
807
|
+
band: { side: none }
|
|
808
|
+
band_note: "NO EU BAND — § 68, stk. 5, 3. pkt. puts tractors alongside mopeds and historic plates"
|
|
809
|
+
emblem: { present: false }
|
|
810
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
811
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
812
|
+
sources:
|
|
813
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 1, nr. 2 and stk. 2; § 68, stk. 5; accessed 2026-08-02"
|
|
814
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 6 'Traktorer' 165x240 hvid/sort/rød 100-999; accessed 2026-08-02"
|
|
815
|
+
notes: >-
|
|
816
|
+
THE THREE-DIGIT TRACTOR PLATE. Distinguished from dk-tractor-approved by
|
|
817
|
+
digit count alone, which is the point: a Danish tractor number of three
|
|
818
|
+
digits is a registered tractor and a five-digit one is a godkendt
|
|
819
|
+
traktor. § 3, stk. 2 sends tractors and blokvogne down two different
|
|
820
|
+
routes by reference to §§ 3 and 4 of lov om registrering af køretøjer —
|
|
821
|
+
some need no registration at all, others must be registered "som
|
|
822
|
+
godkendt". Historical curiosity with a primary source: BEK 651/2011 § 102
|
|
823
|
+
keeps alive "nummerplader af den tidligere anvendte cirkulære type" on
|
|
824
|
+
approved tractors and sidecars, so a genuinely ROUND Danish plate is
|
|
825
|
+
lawful on the road and has no replacement path (§ 102, stk. 3).
|
|
826
|
+
|
|
827
|
+
- id: dk-tractor-approved
|
|
828
|
+
class: agricultural
|
|
829
|
+
categories: [tractor, machine]
|
|
830
|
+
period: { start: 2008 }
|
|
831
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
832
|
+
period_caveat: "UPPER BOUND, as for dk-tractor-registered"
|
|
833
|
+
matching: strict
|
|
834
|
+
format:
|
|
835
|
+
pattern: "LL 99 999"
|
|
836
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
837
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?(?:[1-6]\d|7[0-5]|7[89]|8\d|9[0-7]) ?\d{3}\z'
|
|
838
|
+
characters: 7
|
|
839
|
+
charset:
|
|
840
|
+
basis: secondary-wikipedia
|
|
841
|
+
notes: "alphabet per common.charset; the block is primary from SKAT's catalogue row 'Traktorer - Godkendt (hvid)'"
|
|
842
|
+
design:
|
|
843
|
+
plate: { w: 240, h: 165, unit: mm }
|
|
844
|
+
rows: 2
|
|
845
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
846
|
+
foreground: "#000000"
|
|
847
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
848
|
+
band: { side: none }
|
|
849
|
+
band_note: "NO EU BAND — § 68, stk. 5, 3. pkt."
|
|
850
|
+
emblem: { present: false }
|
|
851
|
+
display: "ONE plate, at the FRONT — the only Danish vehicle plated at the front only (§ 69, stk. 3)"
|
|
852
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
853
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
854
|
+
sources:
|
|
855
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 69, stk. 3 (single FRONT plate on a godkendt traktor); § 3, stk. 2; accessed 2026-08-02"
|
|
856
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 27 'Traktorer - Godkendt (hvid)' 165x240 hvid/sort/rød 10.000-75.999 og 78.000-97.999; accessed 2026-08-02"
|
|
857
|
+
notes: >-
|
|
858
|
+
THE GODKENDT TRAKTOR — five digits, and the single plate goes on the
|
|
859
|
+
FRONT, which is unique in the Danish system (§ 69, stk. 3). Before
|
|
860
|
+
6 June 2012 approved tractors had their own narrow block (reported as
|
|
861
|
+
19.000-19.499 — secondary-wikipedia); since then they share the general
|
|
862
|
+
range with cars, vans and motorcycles.
|
|
863
|
+
|
|
864
|
+
# =========================================================================
|
|
865
|
+
# TAXIS AND PATIENT-TRANSPORT VEHICLES — the 98/99 block. A white plate whose
|
|
866
|
+
# NUMBER, not whose look, marks the class.
|
|
867
|
+
# =========================================================================
|
|
868
|
+
- id: dk-taxi
|
|
869
|
+
class: taxi
|
|
870
|
+
categories: [car, van]
|
|
871
|
+
period: { start: 1976 }
|
|
872
|
+
period_evidence: statutory-date
|
|
873
|
+
period_caveat: >-
|
|
874
|
+
As elsewhere, 1976 dates the NUMBERING guidelines the plate follows, not
|
|
875
|
+
the 98/99 block itself. The block is attested by SKAT's catalogue in 2012
|
|
876
|
+
and by both Wikipedias for the pre-2012 era; nothing dates its creation.
|
|
877
|
+
matching: recall-only
|
|
878
|
+
format:
|
|
879
|
+
pattern: "LL 99 999"
|
|
880
|
+
regex: '\A[A-Z]{2} ?\d{2} ?\d{3}\z'
|
|
881
|
+
characters: 7
|
|
882
|
+
block: "98.000-99.999"
|
|
883
|
+
pattern_note: >-
|
|
884
|
+
RECALL-ONLY, AND THE REASON IS A SCHEMA LIMIT WORTH RECORDING. This
|
|
885
|
+
series issues only the 98.000-99.999 block, so its true grammar is
|
|
886
|
+
narrower than the regex above — and that grammar cannot be written.
|
|
887
|
+
The human-pattern DSL spells a digit position as "9", so a LITERAL 9
|
|
888
|
+
is unspellable, and any regex fixing the leading 9 fails the
|
|
889
|
+
round-trip against every pattern the DSL can express (PRD-PLATES
|
|
890
|
+
§5.2). The diplomatic series escape the same trap only because their
|
|
891
|
+
block starts 76/77, whose digits are not the token. `regex` is
|
|
892
|
+
therefore deliberately wider than what this series issues — a match
|
|
893
|
+
is a shape hit, not a taxi claim — and per PRD-PLATES §2.7 that is
|
|
894
|
+
`recall-only`, which in turn forbids a `regex_strict`. The block
|
|
895
|
+
lives in `format.block` and in plates/_decode/dk-serial-blocks.yml,
|
|
896
|
+
where a parse API should read it.
|
|
897
|
+
charset:
|
|
898
|
+
basis: secondary-wikipedia
|
|
899
|
+
notes: "alphabet per common.charset; the 98.000-99.999 block is primary from SKAT's catalogue"
|
|
900
|
+
design:
|
|
901
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
902
|
+
plate_variants:
|
|
903
|
+
- { w: 240, h: 165, unit: mm, note: "'kvadratisk' rear plate — SKAT 'Taxa (kvadratisk)'" }
|
|
904
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
905
|
+
foreground: "#000000"
|
|
906
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
907
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
908
|
+
emblem: { present: false }
|
|
909
|
+
rear_differs: false
|
|
910
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
911
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
912
|
+
sources:
|
|
913
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 60/61 '20% (Taxi og sygetransportere)' 120x504 hvid/sort/rød 98.000-99.999; accessed 2026-08-02"
|
|
914
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 2-3 (the number rule and the series delegation this block is issued under); accessed 2026-08-02"
|
|
915
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Denmark # secondary-wikipedia: taxis and hire limousines retained the 98/99 block through the 2012 consolidation; accessed 2026-08-02"
|
|
916
|
+
notes: >-
|
|
917
|
+
SKAT does not call this a taxi plate — it calls it "20% (Taxi og
|
|
918
|
+
sygetransportere)", after the reduced registration-tax rate, and the
|
|
919
|
+
class therefore covers patient-transport vehicles as well as taxis and
|
|
920
|
+
hire limousines. The plate is a WHITE plate: it is the NUMBER that marks
|
|
921
|
+
the class, which is why it deserves a series rather than a colour note.
|
|
922
|
+
It is also one of the two survivors of the 6 June 2012 consolidation —
|
|
923
|
+
98/99 for this class and 76/77 for diplomats stayed put while every other
|
|
924
|
+
per-kind block was merged.
|
|
925
|
+
|
|
926
|
+
# =========================================================================
|
|
927
|
+
# DIPLOMATIC AND CONSULAR — the one plate whose colour the instrument states.
|
|
928
|
+
# Two series because the instrument's series delegation splits the block, and
|
|
929
|
+
# a parse API needs to tell a mission from an international organisation.
|
|
930
|
+
# =========================================================================
|
|
931
|
+
- id: dk-diplomatic-mission
|
|
932
|
+
class: diplomatic
|
|
933
|
+
categories: [car, van, motorcycle]
|
|
934
|
+
period: { start: 1976 }
|
|
935
|
+
period_evidence: statutory-date
|
|
936
|
+
period_caveat: >-
|
|
937
|
+
1976 dates the numbering guidelines the plate follows. The BLUE ground is
|
|
938
|
+
primary and current (§ 76, stk. 1) but undated: it is present in every
|
|
939
|
+
registreringsbekendtgørelse reached back to BEK 1567/2007 and its
|
|
940
|
+
introduction is not established here.
|
|
941
|
+
matching: strict
|
|
942
|
+
format:
|
|
943
|
+
pattern: "LL 76 999"
|
|
944
|
+
regex: '\A[A-Z]{2} ?76 ?\d{3}\z'
|
|
945
|
+
characters: 7
|
|
946
|
+
block: "76.000-76.999"
|
|
947
|
+
charset:
|
|
948
|
+
basis: primary-authority
|
|
949
|
+
notes: >-
|
|
950
|
+
No letter restriction is claimed for diplomatic plates. The Swedish
|
|
951
|
+
lesson applies (se-diplomatic: the landskod alphabet is NOT the
|
|
952
|
+
ordinary one), and nothing in the Danish sources says the ordinary
|
|
953
|
+
exclusions carry over here, so no `regex_strict` is written.
|
|
954
|
+
design:
|
|
955
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
956
|
+
background: { color: "#0057A8", finish: retroreflective, hex_basis: observed, spec: blå, spec_note: "the ONE colour the instrument states: BEK 663/2025 § 76, stk. 1 — plates 'hvor registreringsnummeret vises på en blå baggrund'" }
|
|
957
|
+
foreground: "#FFFFFF"
|
|
958
|
+
border: { color: "#0057A8", hex_basis: observed, spec: blå, note: "SKAT colour cell 'blå/hvid blå'" }
|
|
959
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: false, note: "COMPULSORY here: § 68, stk. 5, 2. pkt. — 'Grænsenummerplade og diplomatnummerplade udfærdiges dog kun med EU-symbolet.'" }
|
|
960
|
+
emblem: { present: false }
|
|
961
|
+
rear_differs: false
|
|
962
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
963
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
964
|
+
sources:
|
|
965
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 76, stk. 1 (who gets blue plates: foreign states' diplomatic and consular missions, international organisations and institutions under registreringsafgiftslovens § 2, stk. 2, and persons accorded diplomatic status by Udenrigsministeriet) and stk. 2 (Skatteforvaltningen may dispense and issue WHITE plates instead); § 68, stk. 5 (EU symbol compulsory); accessed 2026-08-02"
|
|
966
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 65 'Diplomatplader - rektangulære (blå) - EU' 120x504 blå/hvid blå 76.000-77.999; accessed 2026-08-02"
|
|
967
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Denmark # secondary-wikipedia: the split of the SKAT block into 76.000-76.999 for states' missions and 77.000-77.999 for international organisations; accessed 2026-08-02"
|
|
968
|
+
notes: >-
|
|
969
|
+
DIPLOMATIC MISSIONS OF STATES. The SKAT catalogue gives the whole
|
|
970
|
+
diplomatic block as 76.000-77.999 in one row; the split into 76 for
|
|
971
|
+
states' missions and 77 for international organisations is
|
|
972
|
+
secondary-wikipedia (both the English and the Danish article give it, and
|
|
973
|
+
it is consistent across them). Only the SPLIT is secondary — the block,
|
|
974
|
+
the colours and the compulsory EU band are primary. A NEGATIVE FINDING
|
|
975
|
+
worth recording for any claims model: § 76, stk. 2 lets Skatteforvaltningen
|
|
976
|
+
dispense from the blue plate and issue a white one, so the absence of a
|
|
977
|
+
blue plate does not disprove diplomatic status — the same trap se.yml
|
|
978
|
+
records for the Swedish security exemption.
|
|
979
|
+
|
|
980
|
+
- id: dk-diplomatic-organisation
|
|
981
|
+
class: diplomatic
|
|
982
|
+
categories: [car, van, motorcycle]
|
|
983
|
+
period: { start: 1976 }
|
|
984
|
+
period_evidence: statutory-date
|
|
985
|
+
period_caveat: "as dk-diplomatic-mission"
|
|
986
|
+
matching: strict
|
|
987
|
+
format:
|
|
988
|
+
pattern: "LL 77 999"
|
|
989
|
+
regex: '\A[A-Z]{2} ?77 ?\d{3}\z'
|
|
990
|
+
characters: 7
|
|
991
|
+
block: "77.000-77.999"
|
|
992
|
+
charset:
|
|
993
|
+
basis: primary-authority
|
|
994
|
+
notes: "as dk-diplomatic-mission — no letter restriction claimed"
|
|
995
|
+
design:
|
|
996
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
997
|
+
background: { color: "#0057A8", finish: retroreflective, hex_basis: observed, spec: blå }
|
|
998
|
+
foreground: "#FFFFFF"
|
|
999
|
+
border: { color: "#0057A8", hex_basis: observed, spec: blå }
|
|
1000
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: false }
|
|
1001
|
+
emblem: { present: false }
|
|
1002
|
+
rear_differs: false
|
|
1003
|
+
region_encoding: "plates/_decode/dk-serial-blocks.yml"
|
|
1004
|
+
region_encoding_file: dk-serial-blocks.yml
|
|
1005
|
+
sources:
|
|
1006
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 76; § 68, stk. 5; accessed 2026-08-02"
|
|
1007
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 65, block 76.000-77.999; accessed 2026-08-02"
|
|
1008
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: '77 000-77 999 Diplomatbiler, internationale organisationer mv.'; accessed 2026-08-02"
|
|
1009
|
+
notes: >-
|
|
1010
|
+
INTERNATIONAL ORGANISATIONS AND INSTITUTIONS — the upper half of the blue
|
|
1011
|
+
block. Identical in law and in appearance to dk-diplomatic-mission; the
|
|
1012
|
+
only difference is the number, which is exactly why it is modelled as its
|
|
1013
|
+
own series rather than as a note. The 77 assignment is
|
|
1014
|
+
secondary-wikipedia; the blue plate and its statutory basis are primary.
|
|
1015
|
+
|
|
1016
|
+
# =========================================================================
|
|
1017
|
+
# ØNSKENUMMERPLADE — the personalised plate, and the only Danish plate bound
|
|
1018
|
+
# to a PERSON rather than to a vehicle.
|
|
1019
|
+
# =========================================================================
|
|
1020
|
+
- id: dk-personalized-1992
|
|
1021
|
+
class: personalized
|
|
1022
|
+
categories: [car, van, truck, motorcycle, trailer]
|
|
1023
|
+
period: { start: 1992 }
|
|
1024
|
+
period_evidence: secondary-wikipedia
|
|
1025
|
+
period_note: >-
|
|
1026
|
+
2 MARCH 1992, reported by Danish Wikipedia, which also attributes the
|
|
1027
|
+
authorising legislation to a law of 8 May 1991 without giving its number.
|
|
1028
|
+
NEITHER was verified against an instrument in this pass: the
|
|
1029
|
+
registreringsbekendtgørelser whose full text is machine-readable start in
|
|
1030
|
+
2007, and BEK nr 18 af 10/01/1992 om registrering af motorkøretøjer m.v.
|
|
1031
|
+
— the obvious candidate — publishes ELI metadata only, with a StartDate
|
|
1032
|
+
of 1997-10-01 that is plainly a register artefact rather than that
|
|
1033
|
+
bekendtgørelse's commencement. The GRAMMAR below is primary; the DATE is
|
|
1034
|
+
not, and is tagged accordingly.
|
|
1035
|
+
matching: strict
|
|
1036
|
+
binding: owner
|
|
1037
|
+
binding_note: >-
|
|
1038
|
+
The one Danish plate that follows a person. § 74, stk. 5: the number "kan
|
|
1039
|
+
inden for rettighedsperioden overføres til et andet køretøj, som
|
|
1040
|
+
registreres til den, der har retten til at anvende ønskenummeret."
|
|
1041
|
+
§ 74, stk. 7-8: the right runs EIGHT YEARS from the first registration of
|
|
1042
|
+
a vehicle with the number and is renewable for a further eight against
|
|
1043
|
+
payment, applied for before expiry and not earlier than three months
|
|
1044
|
+
before it. § 74, stk. 6 closes the transfer list to a spouse, a partner of
|
|
1045
|
+
five years' shared residence, or a survivor on death — so an ønskenummer
|
|
1046
|
+
cannot simply be sold on.
|
|
1047
|
+
format:
|
|
1048
|
+
pattern: "LLLLLLL"
|
|
1049
|
+
regex: '\A[A-Z0-9]{2,7}\z'
|
|
1050
|
+
characters: "2-7"
|
|
1051
|
+
charset:
|
|
1052
|
+
basis: primary-instrument
|
|
1053
|
+
notes: >-
|
|
1054
|
+
BEK 663/2025 § 74, stk. 2, verbatim: "Ønskenummeret skal bestå af
|
|
1055
|
+
mindst to og højst syv latinske bogstaver eller arabiske tal. Et
|
|
1056
|
+
ønskenummer må ikke være egnet til at vække anstød eller medføre
|
|
1057
|
+
ulempe for nogen." Letters and digits may be mixed in any order and
|
|
1058
|
+
any proportion — the regex is the instrument's grammar, not an
|
|
1059
|
+
approximation of it. The anstød test is a NON-ISSUANCE rule and is
|
|
1060
|
+
deliberately not compiled into the regex, following the treatment of
|
|
1061
|
+
blocked combinations in nl.yml and se.yml.
|
|
1062
|
+
Æ, Ø and Å: Danish Wikipedia and English Wikipedia both report that
|
|
1063
|
+
the Danish letters may be used. They are outside this dataset's
|
|
1064
|
+
serial alphabet (_meta/separators.yml) and so cannot be written here;
|
|
1065
|
+
this is a KNOWN under-coverage of the Danish ønskenummer space,
|
|
1066
|
+
recorded rather than hidden. The instrument's own words — "latinske
|
|
1067
|
+
bogstaver" — do not obviously include them, and no primary resolves
|
|
1068
|
+
it.
|
|
1069
|
+
separator_note: >-
|
|
1070
|
+
SKAT's catalogue renders examples with a layout gap ("BONNY 11",
|
|
1071
|
+
"HANSEN1", "HANS 1"). § 74, stk. 2 admits only letters and digits, so
|
|
1072
|
+
the gap is a RENDERING gap and not part of the ønskenummer; the regex
|
|
1073
|
+
therefore carries no separator. A consumer matching a photographed
|
|
1074
|
+
plate should strip the forgiving set first, which _meta/separators.yml
|
|
1075
|
+
makes safe by construction.
|
|
1076
|
+
design:
|
|
1077
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1078
|
+
plate_variants:
|
|
1079
|
+
- { w: 240, h: 165, unit: mm, note: "'kvadratisk' rear plate, and a separate 'amerikaner' variant — SKAT rows 33/34 and 78/79" }
|
|
1080
|
+
- { w: 240, h: 165, unit: mm, note: "motorcycle ønskeplade — SKAT rows 35/36 'Ønskeplader MC (hvid)'" }
|
|
1081
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
1082
|
+
foreground: "#000000"
|
|
1083
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
1084
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
1085
|
+
emblem: { present: false }
|
|
1086
|
+
rear_differs: false
|
|
1087
|
+
region_encoding: none
|
|
1088
|
+
region_encoding_note: "an ønskenummer is chosen by its holder and encodes nothing"
|
|
1089
|
+
sources:
|
|
1090
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 4, nr. 2 (the plate type) and § 74 in full: the 2-7 character grammar, the anstød test, first-come allocation, the six-month registration deadline, transfer between vehicles, the closed transfer list, the eight-year right and its renewal; accessed 2026-08-02"
|
|
1091
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 31-36 and 78/79 'Ønskeplader', 120x504 and 165x240, hvid/sort/rød, 'Mindst 2 og maksimalt 7 karakterer'; accessed 2026-08-02"
|
|
1092
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: introduced 2 March 1992; a law of 8 May 1991 named without a number; roughly 4,000 in use; accessed 2026-08-02"
|
|
1093
|
+
notes: >-
|
|
1094
|
+
THE ØNSKENUMMERPLADE. Its grammar is entirely primary — two to seven
|
|
1095
|
+
Latin letters or Arabic numerals, § 74, stk. 2 — and it is the reason
|
|
1096
|
+
`regex` here is a length-quantified class rather than a shape. Everything
|
|
1097
|
+
procedural about it is primary too, including the parts that matter to a
|
|
1098
|
+
dataset: the right lasts eight years and is renewable, it moves between
|
|
1099
|
+
the holder's vehicles rather than staying with a car, and it may be
|
|
1100
|
+
transferred to another person only within a closed family list. Only the
|
|
1101
|
+
1992 START is secondary. English Wikipedia adds that an ønskenummer may
|
|
1102
|
+
not take the same form as a standard number; that restriction is NOT in
|
|
1103
|
+
§ 74 and is not encoded here.
|
|
1104
|
+
|
|
1105
|
+
# =========================================================================
|
|
1106
|
+
# HISTORIC PLATES. Two series, because the eligibility cut moved on a date
|
|
1107
|
+
# the instruments give exactly.
|
|
1108
|
+
# =========================================================================
|
|
1109
|
+
- id: dk-historic-pre1958
|
|
1110
|
+
class: historic
|
|
1111
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
1112
|
+
period: { start: 2008, end: 2011 }
|
|
1113
|
+
period_evidence: transitional-provision
|
|
1114
|
+
period_note: >-
|
|
1115
|
+
END IS EXACT, START IS AN UPPER BOUND. The end: BEK 811/2010 § 103,
|
|
1116
|
+
stk. 3 — "§ 79 har virkning fra den 1. april 2011. Indtil da finder § 76 i
|
|
1117
|
+
bekendtgørelse nr. 633 af 26. juni 2009 anvendelse." § 76 of BEK 633/2009
|
|
1118
|
+
is the 1958-cut historic plate, so this regime ran to 31 March 2011 and
|
|
1119
|
+
the 1976-cut one began on 1 April 2011. The start: BEK 1567/2007, in force
|
|
1120
|
+
1 January 2008, is the oldest text reachable and already carries the
|
|
1121
|
+
1958-cut rule (§ 76), so 2008 bounds the start from above rather than
|
|
1122
|
+
fixing it.
|
|
1123
|
+
matching: recall-only
|
|
1124
|
+
format:
|
|
1125
|
+
pattern: "LL 999"
|
|
1126
|
+
regex: '\A[A-Z]{1,2} ?\d{1,6}\z'
|
|
1127
|
+
characters: "2-8"
|
|
1128
|
+
pattern_note: >-
|
|
1129
|
+
A UNION, deliberately. BEK 1567/2007 § 76, stk. 2: "En historisk korrekt
|
|
1130
|
+
nummerplade er en nummerplade af en type og med et registreringsnummer
|
|
1131
|
+
fra før den 1. april 1958" — the plate REPLICATES whatever the vehicle
|
|
1132
|
+
would have carried, so the regex is the union of the pre-1958 Danish
|
|
1133
|
+
shapes and a match against it is a shape hit and nothing more. Hence
|
|
1134
|
+
`matching: recall-only` and no `regex_strict`.
|
|
1135
|
+
shapes_covered: >-
|
|
1136
|
+
One letter plus digits (the county plate) and two letters plus digits.
|
|
1137
|
+
The single-letter form is attested PRIMARILY, not from the enthusiast
|
|
1138
|
+
web: BEK 633/2009 § 101, stk. 2 and BEK 651/2011 § 102, stk. 2 both
|
|
1139
|
+
provide that "Køretøjer med nummerplader med enkelt bogstav kan
|
|
1140
|
+
fortsat anvende disse", and stk. 3 of each adds that no replacement is
|
|
1141
|
+
supplied for them. The digit counts are not stated in any instrument
|
|
1142
|
+
and the 1-6 range here is a deliberately generous recall bound.
|
|
1143
|
+
design:
|
|
1144
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1145
|
+
plate_note: >-
|
|
1146
|
+
SIZE AND COLOUR ARE NOT SPECIFIED for a historic plate — it is "af en
|
|
1147
|
+
type ... der svarer til køretøjets art og tidspunktet for køretøjets
|
|
1148
|
+
første registrering", i.e. period-correct by definition. The 504x120
|
|
1149
|
+
entry is the modern default and should not be read as a claim about any
|
|
1150
|
+
particular era's plate. Pre-1976 Danish plates are reported as black
|
|
1151
|
+
with white characters (secondary-wikipedia); that is recorded below and
|
|
1152
|
+
not asserted as a spec.
|
|
1153
|
+
background: { color: "#000000", finish: painted, hex_basis: observed, spec: sort, note: "secondary-wikipedia: the pre-1976 style is black ground with white characters" }
|
|
1154
|
+
foreground: "#FFFFFF"
|
|
1155
|
+
band: { side: none }
|
|
1156
|
+
band_note: "NO EU BAND, and not by choice: § 68, stk. 5, 3. pkt. — 'Historisk nummerplade ... udfærdiges ikke med EU-symbolet.'"
|
|
1157
|
+
emblem: { present: false }
|
|
1158
|
+
region_encoding: none
|
|
1159
|
+
region_encoding_note: >-
|
|
1160
|
+
The single letter on a pre-1958 plate WAS a county/city marker
|
|
1161
|
+
(secondary-wikipedia). No decode table is shipped for it — see the GAPS
|
|
1162
|
+
block and plates/_decode/dk-serial-blocks.yml.
|
|
1163
|
+
sources:
|
|
1164
|
+
- "https://www.retsinformation.dk/eli/lta/2007/1567/dan/xml # BEK 1567/2007 § 76: 'SKAT kan tillade brug af en historisk korrekt nummerplade på et køretøj, der er registreret første gang før den 1. april 1958. En historisk korrekt nummerplade er en nummerplade af en type og med et registreringsnummer fra før den 1. april 1958.'; accessed 2026-08-02"
|
|
1165
|
+
- "https://www.retsinformation.dk/eli/lta/2010/811/dan/xml # BEK 811/2010 § 103, stk. 3 — the virkningsbestemmelse that ends this regime on 31 March 2011; § 79 (the successor rule); accessed 2026-08-02"
|
|
1166
|
+
- "https://www.retsinformation.dk/eli/lta/2009/633/dan/xml # BEK 633/2009 § 76 (the 1958 cut as it stood) and § 101, stk. 1-2 (circular tractor/sidecar plates and single-letter plates remain lawful, with no replacement path); accessed 2026-08-02"
|
|
1167
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: pre-1958 systems — one letter plus digits, the letter marking the amt; accessed 2026-08-02"
|
|
1168
|
+
notes: >-
|
|
1169
|
+
THE 1958-CUT HISTORIC PLATE, and the reason Denmark needs two historic
|
|
1170
|
+
series instead of one. Between 2008 (at the latest) and 31 March 2011 the
|
|
1171
|
+
permit was open only to vehicles first registered before 1 APRIL 1958 and
|
|
1172
|
+
the plate had to be a pre-1958 type. That date is not decorative: read
|
|
1173
|
+
with the 1 April 1976 line in the current instrument, the two together are
|
|
1174
|
+
the only primary evidence in this file that Denmark's numbering changed
|
|
1175
|
+
twice in the twentieth century, on 1 April 1958 and on 1 April 1976.
|
|
1176
|
+
Neither reform's own instrument was reached.
|
|
1177
|
+
|
|
1178
|
+
- id: dk-historic-pre1976
|
|
1179
|
+
class: historic
|
|
1180
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
1181
|
+
period: { start: 2011 }
|
|
1182
|
+
period_evidence: transitional-provision
|
|
1183
|
+
period_note: >-
|
|
1184
|
+
1 APRIL 2011, dated to the day by a virkningsbestemmelse rather than by a
|
|
1185
|
+
commencement clause — which is exactly the distinction this wave exists to
|
|
1186
|
+
police. BEK 811/2010 came into force on 1 July 2010 (§ 103, stk. 1), but
|
|
1187
|
+
§ 103, stk. 3 held its historic-plate section back: "§ 79 har virkning fra
|
|
1188
|
+
den 1. april 2011." Shipping 2010 here, from the bekendtgørelse's own
|
|
1189
|
+
date, would have been the Spanish defect in miniature.
|
|
1190
|
+
matching: recall-only
|
|
1191
|
+
format:
|
|
1192
|
+
pattern: "LL 999"
|
|
1193
|
+
regex: '\A[A-Z]{1,2} ?\d{1,6}\z'
|
|
1194
|
+
characters: "2-8"
|
|
1195
|
+
pattern_note: >-
|
|
1196
|
+
A UNION, as for dk-historic-pre1958, but a wider one: the eligibility
|
|
1197
|
+
window now reaches to 31 March 1976, so the replicated plate may be
|
|
1198
|
+
either a pre-1958 single-letter type or a 1958-1976 two-letter type.
|
|
1199
|
+
`matching: recall-only`; no `regex_strict`.
|
|
1200
|
+
design:
|
|
1201
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1202
|
+
plate_note: "period-correct by definition (§ 75, stk. 2); the entry is a default, not a claim"
|
|
1203
|
+
background: { color: "#000000", finish: painted, hex_basis: observed, spec: sort, note: "secondary-wikipedia: pre-1976 style, black ground with white characters" }
|
|
1204
|
+
foreground: "#FFFFFF"
|
|
1205
|
+
band: { side: none }
|
|
1206
|
+
band_note: "NO EU BAND — § 68, stk. 5, 3. pkt."
|
|
1207
|
+
emblem: { present: false }
|
|
1208
|
+
mounting_exemption: "§ 70, stk. 3 exempts historic plates (and any plate from before 1 April 1976) from the two-screw rule"
|
|
1209
|
+
region_encoding: none
|
|
1210
|
+
sources:
|
|
1211
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 75 in full: eligibility (first registered before 1 April 1976), the period-correct type-and-number rule with § 56, the six-month deadline, and that the plate FOLLOWS THE VEHICLE and must be surrendered on deregistration or renumbering; § 68, stk. 4, nr. 3 and stk. 5; § 70, stk. 3; § 72, stk. 4 (a historic plate IS replaceable, unlike an ordinary lost plate); accessed 2026-08-02"
|
|
1212
|
+
- "https://www.retsinformation.dk/eli/lta/2010/811/dan/xml # § 103, stk. 3: '§ 79 har virkning fra den 1. april 2011'; § 79 carries the 1976 cut; accessed 2026-08-02"
|
|
1213
|
+
- "https://www.retsinformation.dk/eli/lta/2018/1643/dan/xml # BEK 1643/2018 — the 1976 cut unchanged mid-chain, confirming the boundary moved once and stayed; accessed 2026-08-02"
|
|
1214
|
+
notes: >-
|
|
1215
|
+
THE HISTORIC PLATE AS IT STANDS. Eligibility: first registered before
|
|
1216
|
+
1 April 1976. The plate must match the vehicle's kind and the time of its
|
|
1217
|
+
first registration "eller senere" (§ 75, stk. 2), so a 1960s car may
|
|
1218
|
+
lawfully wear a 1970s plate but not the reverse, and a specific number may
|
|
1219
|
+
be requested in the application. Unlike an ønskenummerplade it FOLLOWS THE
|
|
1220
|
+
VEHICLE (§ 75, stk. 4). Note the separate veteran regime it is often
|
|
1221
|
+
confused with: § 4 lets a vehicle first registered more than thirty years
|
|
1222
|
+
ago be registered "til veterankørsel", which restricts USE (occasional
|
|
1223
|
+
only, no commercial passenger transport, no dangerous goods, no emergency
|
|
1224
|
+
driving, no hire without driver) and has nothing to do with plates.
|
|
1225
|
+
|
|
1226
|
+
# =========================================================================
|
|
1227
|
+
# GRÆNSENUMMERPLADE — the Danish export/emigration plate, dated by a red
|
|
1228
|
+
# field carrying DK and the expiry year.
|
|
1229
|
+
# =========================================================================
|
|
1230
|
+
- id: dk-export-border
|
|
1231
|
+
class: export
|
|
1232
|
+
categories: [car, van, truck, motorcycle]
|
|
1233
|
+
period: { start: 2008 }
|
|
1234
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
1235
|
+
period_caveat: >-
|
|
1236
|
+
UPPER BOUND. BEK 1567/2007, in force 1 January 2008, already carries the
|
|
1237
|
+
grænsenummerplade regime; so does lov nr. 1338 af 19/12/2008 by reference,
|
|
1238
|
+
and registreringsafgiftsloven exempts vehicles registered on them. The
|
|
1239
|
+
series is older than any text reached and its start is not established.
|
|
1240
|
+
matching: strict
|
|
1241
|
+
format:
|
|
1242
|
+
pattern: "99 999"
|
|
1243
|
+
regex: '\A\d{2} ?\d{3}\z'
|
|
1244
|
+
characters: 5
|
|
1245
|
+
pattern_note: >-
|
|
1246
|
+
NO LETTERS. § 68, stk. 2's two-letters-plus-digits rule applies to the
|
|
1247
|
+
ordinary plate; SKAT's catalogue renders the grænseplade as five digits
|
|
1248
|
+
alone ("12 045"), with the country and year carried in the red field
|
|
1249
|
+
rather than in the serial.
|
|
1250
|
+
charset:
|
|
1251
|
+
basis: primary-authority
|
|
1252
|
+
notes: "digits only; SKAT's own format key writes '#' for a numeral and 'Dkåå' for the red year box, which it defines as 'Dk + årstal i rød kasse'"
|
|
1253
|
+
design:
|
|
1254
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1255
|
+
plate_variants:
|
|
1256
|
+
- { w: 240, h: 165, unit: mm, note: "motorcycle grænseplade — SKAT rows 51/55/59" }
|
|
1257
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
1258
|
+
foreground: "#000000"
|
|
1259
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
1260
|
+
validity_field: { side: left, color: "#C8102E", hex_basis: observed, content: "DK over the two-digit expiry year, in white on red", note: "SKAT stocks three variants at any time — 'løbende år', 'løbende år + 1' and 'løbende år + 2' (rows 49-59), which is how the year on the plate is always in stock ahead of demand" }
|
|
1261
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: false, note: "COMPULSORY: § 68, stk. 5, 2. pkt." }
|
|
1262
|
+
emblem: { present: false }
|
|
1263
|
+
region_encoding: none
|
|
1264
|
+
sources:
|
|
1265
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 60 in full: who may have one (a resident emigrating or going abroad long-term, taking the vehicle with them), the 21-days-before-departure and 6-months-abroad limits, the 24-hour collection permit for someone already abroad, the syn-linked outer limits in stk. 3, that a grænsenummerplade vehicle cannot be re-registered to another owner and the plates cannot move to another vehicle; § 68, stk. 4, nr. 1 and stk. 5; accessed 2026-08-02"
|
|
1266
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 49-59 'Grænseplader - bil/MC (hvid) løbende år / +1 / +2 EU', 120x504 and 165x240, hvid/sort/rød; accessed 2026-08-02"
|
|
1267
|
+
- "https://www.retsinformation.dk/eli/lta/2007/1567/dan/xml # the grænsenummerplade regime already present in the oldest full text reachable; accessed 2026-08-02"
|
|
1268
|
+
notes: >-
|
|
1269
|
+
DENMARK'S EXPORT PLATE, and its shape is unusual enough to be worth
|
|
1270
|
+
spelling out: a white plate with a RED FIELD on the left carrying "DK"
|
|
1271
|
+
over the two-digit year the registration expires, then a bare five-digit
|
|
1272
|
+
serial with no letters at all. The EU band is compulsory on it. The
|
|
1273
|
+
regime is narrower than "export" suggests — § 60 is written for a resident
|
|
1274
|
+
who is emigrating or going abroad for an extended period and taking the
|
|
1275
|
+
car, not for the trade, and the vehicle can be neither re-registered to
|
|
1276
|
+
anyone else nor have its plates moved. English Wikipedia calls it a
|
|
1277
|
+
"temporary export plate", which is close enough to be worth noting and
|
|
1278
|
+
loose enough not to be adopted as the definition.
|
|
1279
|
+
|
|
1280
|
+
# =========================================================================
|
|
1281
|
+
# THE NORDIC BORDER PLATE — abolished, and dated at the end.
|
|
1282
|
+
# =========================================================================
|
|
1283
|
+
- id: dk-border-nordic
|
|
1284
|
+
class: temporary
|
|
1285
|
+
categories: [car, van, truck, motorcycle]
|
|
1286
|
+
period: { start: 2008, end: 2011 }
|
|
1287
|
+
period_evidence: instrument-in-force-upper-bound
|
|
1288
|
+
period_note: >-
|
|
1289
|
+
END IS INSTRUMENT-DATED: the nordiske grænsenummerplade survives as § 99
|
|
1290
|
+
of BEK 811/2010 and is GONE from BEK 651/2011, which came into force on
|
|
1291
|
+
18 June 2011 and repealed BEK 811/2010 the same day (§ 101). The regime
|
|
1292
|
+
therefore ended on 17 June 2011. START IS AN UPPER BOUND: BEK 1567/2007,
|
|
1293
|
+
in force 1 January 2008, already carries it, and nothing earlier was
|
|
1294
|
+
reachable.
|
|
1295
|
+
matching: strict
|
|
1296
|
+
format:
|
|
1297
|
+
pattern: "9999"
|
|
1298
|
+
regex: '\A\d{4}\z'
|
|
1299
|
+
characters: 4
|
|
1300
|
+
evidence: secondary-wikipedia
|
|
1301
|
+
charset:
|
|
1302
|
+
basis: secondary-wikipedia
|
|
1303
|
+
notes: >-
|
|
1304
|
+
THE FORMAT IS THE ONLY SECONDARY THING HERE. Danish Wikipedia
|
|
1305
|
+
describes the plate as four red digits, the first two identifying the
|
|
1306
|
+
motor office, followed by a red "DK". The instruments that create and
|
|
1307
|
+
abolish the regime say nothing about its appearance, and SKAT's 2012
|
|
1308
|
+
catalogue postdates its abolition, so nothing primary describes it.
|
|
1309
|
+
The regex covers the four digits only; the "DK" is recorded as a
|
|
1310
|
+
design legend rather than as part of the serial, because no source
|
|
1311
|
+
establishes whether it sits inside the serial field.
|
|
1312
|
+
design:
|
|
1313
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
1314
|
+
foreground: "#C8102E"
|
|
1315
|
+
legend: "DK, in red, following the four digits (secondary-wikipedia)"
|
|
1316
|
+
band: { side: none }
|
|
1317
|
+
emblem: { present: false }
|
|
1318
|
+
region_encoding: none
|
|
1319
|
+
region_encoding_note: >-
|
|
1320
|
+
Danish Wikipedia reports that the first two digits identified the issuing
|
|
1321
|
+
motor office. That is a REAL decode claim and it is deliberately NOT
|
|
1322
|
+
shipped as a table: no source, primary or secondary, enumerates the
|
|
1323
|
+
office codes, and a decode table with no rows is worse than none.
|
|
1324
|
+
sources:
|
|
1325
|
+
- "https://www.retsinformation.dk/eli/lta/2010/811/dan/xml # BEK 811/2010 §§ 99-100: temporary registration on nordiske grænsenummerplader of a non-EU/EEA foreign vehicle for up to a year, and the duty to surrender the plates and permit to the police or SKAT on leaving Denmark for anywhere but Finland, Norway or Sweden; accessed 2026-08-02"
|
|
1326
|
+
- "https://www.retsinformation.dk/eli/lta/2011/651/dan/xml # BEK 651/2011 § 101: in force 18 June 2011, repealing BEK 811/2010 — and containing no nordisk grænsenummerplade; accessed 2026-08-02"
|
|
1327
|
+
- "https://www.retsinformation.dk/eli/lta/2007/1567/dan/xml # the regime present in the oldest full text reachable; accessed 2026-08-02"
|
|
1328
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: four red digits, the first two indicating the motor office, followed by DK in red; accessed 2026-08-02"
|
|
1329
|
+
notes: >-
|
|
1330
|
+
AN ENDED SERIES, kept because its end is exactly dated and because a
|
|
1331
|
+
parse API meeting one of these plates should be told the last one was
|
|
1332
|
+
issued no later than 17 June 2011. It was the Nordic reciprocal
|
|
1333
|
+
arrangement: a foreign vehicle from outside the EU/EEA could be
|
|
1334
|
+
temporarily registered on Danish nordiske grænsenummerplader for up to a
|
|
1335
|
+
year, and the plates and permit had to be handed in at the border on
|
|
1336
|
+
leaving for anywhere other than Finland, Norway or Sweden. BEK 651/2011
|
|
1337
|
+
dropped the whole thing without a transitional provision.
|
|
1338
|
+
|
|
1339
|
+
# =========================================================================
|
|
1340
|
+
# FASTE PRØVESKILTE — trade plates. Red characters on white, two digits.
|
|
1341
|
+
# =========================================================================
|
|
1342
|
+
- id: dk-dealer-testplate
|
|
1343
|
+
class: dealer
|
|
1344
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
1345
|
+
period: { start: 2008 }
|
|
1346
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
1347
|
+
period_caveat: >-
|
|
1348
|
+
UPPER BOUND, but a well-evidenced one. BEK 633/2009 § 103 required holders
|
|
1349
|
+
of a fast prøveskilt "der er udleveret før den 1. januar 2008" to have
|
|
1350
|
+
their right renewed by the end of 2013 — so the regime is older than the
|
|
1351
|
+
SKAT era and older than every text reached. 2008 is the commencement of
|
|
1352
|
+
BEK 1567/2007, the oldest full text reachable, and bounds the start from
|
|
1353
|
+
above.
|
|
1354
|
+
matching: strict
|
|
1355
|
+
format:
|
|
1356
|
+
pattern: "LL 99"
|
|
1357
|
+
regex: '\A[A-Z]{2} ?\d{2}\z'
|
|
1358
|
+
regex_strict: '\A[ABCDEFGHJKLMNOPRSTUVWXYZ][ABCDEFGHJKLMNPRSTUVWXYZ] ?[1-9]\d\z'
|
|
1359
|
+
characters: 4
|
|
1360
|
+
charset:
|
|
1361
|
+
basis: secondary-wikipedia
|
|
1362
|
+
notes: "alphabet per common.charset; the 10-99 block is primary from SKAT's catalogue, hence no leading zero in regex_strict"
|
|
1363
|
+
design:
|
|
1364
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1365
|
+
plate_variants:
|
|
1366
|
+
- { w: 240, h: 165, unit: mm, note: "motorcycle prøveskilt — SKAT rows 3/4 'Faste prøveskilte - MC (hvid)'" }
|
|
1367
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
1368
|
+
foreground: "#C8102E"
|
|
1369
|
+
foreground_note: "RED characters on white — SKAT colour cell 'hvid/rød rød', i.e. white ground, red characters, red border. Danish Wikipedia describes the fixed prøveskilt as white with red letters and four black digits; the black digits are not in SKAT's catalogue and are not adopted here"
|
|
1370
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
1371
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
1372
|
+
emblem: { present: false }
|
|
1373
|
+
region_encoding: none
|
|
1374
|
+
sources:
|
|
1375
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 68, stk. 4, nr. 5 (the plate type, by reference to §§ 7 a-7 e i lov om registrering af køretøjer); § 77 (§§ 69-71 apply to prøveskilte, except the two-screw rule); accessed 2026-08-02"
|
|
1376
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT rows 1-4 'Faste prøveskilte - Biler (hvid)' 120x504 and '- MC (hvid)' 165x240, hvid/rød, 10-99; accessed 2026-08-02"
|
|
1377
|
+
- "https://www.retsinformation.dk/eli/lta/2009/633/dan/xml # § 103: renewal of rights to prøveskilte issued before 1 January 2008 — evidence the regime predates the reachable texts; accessed 2026-08-02"
|
|
1378
|
+
notes: >-
|
|
1379
|
+
THE FAST PRØVESKILT — a trade plate for manufacturers, importers,
|
|
1380
|
+
dealers and repairers, bound to the business rather than to a vehicle,
|
|
1381
|
+
and the shortest Danish number at four characters. Its statutory home is
|
|
1382
|
+
§§ 7 a-7 e of lov om registrering af køretøjer rather than the
|
|
1383
|
+
bekendtgørelse. NOT MODELLED AS A SERIES, deliberately: the LØSE
|
|
1384
|
+
PRØVESKILT was replaced by the PRØVEMÆRKE (§§ 78-81), which is
|
|
1385
|
+
self-adhesive plastic film bearing a løbenummer and a validity period,
|
|
1386
|
+
issued at most fourteen days before that period begins and not returned
|
|
1387
|
+
afterwards. It is a sticker with a running number, not a plate with a
|
|
1388
|
+
registration number, so it has no format this schema can honestly carry
|
|
1389
|
+
and it is recorded here instead.
|
|
1390
|
+
|
|
1391
|
+
# =========================================================================
|
|
1392
|
+
# BLOKVOGN — heavy-haulage. The tallest plate Denmark issues, with a word
|
|
1393
|
+
# printed on it.
|
|
1394
|
+
# =========================================================================
|
|
1395
|
+
- id: dk-blokvogn
|
|
1396
|
+
class: standard
|
|
1397
|
+
categories: [truck, trailer, machine]
|
|
1398
|
+
period: { start: 2008 }
|
|
1399
|
+
period_evidence: instrument-in-force-start-upper-bound
|
|
1400
|
+
period_caveat: "UPPER BOUND, as for dk-tractor-registered: BEK 1567/2007 already requires blokvogne to be registered"
|
|
1401
|
+
matching: strict
|
|
1402
|
+
format:
|
|
1403
|
+
pattern: "99 99 99"
|
|
1404
|
+
regex: '\A\d{2} ?\d{2} ?\d{2}\z'
|
|
1405
|
+
characters: 6
|
|
1406
|
+
pattern_note: >-
|
|
1407
|
+
NO LETTERS, and a six-digit number — the only Danish plate with more
|
|
1408
|
+
than five digits. SKAT's catalogue gives the range as 100000-999999 and
|
|
1409
|
+
renders it in three pairs. The word BLOKVOGN is printed above the
|
|
1410
|
+
number and is a LEGEND, not part of the serial; it is recorded in
|
|
1411
|
+
`design.legend`.
|
|
1412
|
+
charset:
|
|
1413
|
+
basis: primary-authority
|
|
1414
|
+
notes: "digits only, 100000-999999, from SKAT's catalogue"
|
|
1415
|
+
design:
|
|
1416
|
+
plate: { w: 504, h: 207, unit: mm }
|
|
1417
|
+
rows: 2
|
|
1418
|
+
legend: "BLOKVOGN, printed above the number"
|
|
1419
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: hvid }
|
|
1420
|
+
foreground: "#000000"
|
|
1421
|
+
border: { color: "#C8102E", hex_basis: observed, spec: rød }
|
|
1422
|
+
band: { side: left, color: "#003399", content: eu-stars+DK, hex_basis: observed, optional: true }
|
|
1423
|
+
emblem: { present: false }
|
|
1424
|
+
region_encoding: none
|
|
1425
|
+
sources:
|
|
1426
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 68 'Blokvogne (hvid) EU' 207x504 hvid/sort rød, 'Blokvogn 100000-999999', format rendered 'BLOKVOGN 55 22 25'; accessed 2026-08-02"
|
|
1427
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 1, nr. 2 and stk. 2 (blokvogne must be registered, by reference to §§ 3-4 i lov om registrering af køretøjer); accessed 2026-08-02"
|
|
1428
|
+
notes: >-
|
|
1429
|
+
THE BLOKVOGN PLATE — 504 x 207 mm, nearly twice the height of an ordinary
|
|
1430
|
+
plate, with the word BLOKVOGN printed above a six-digit number and no
|
|
1431
|
+
letters at all. A blokvogn is the Danish heavy-haulage category (§ 3 sends
|
|
1432
|
+
it and tractors down two routes by reference to lov om registrering af
|
|
1433
|
+
køretøjer §§ 3-4). Danish Wikipedia reports that blokvogne are now
|
|
1434
|
+
registered on ordinary yellow commercial plates; SKAT's 2012 catalogue
|
|
1435
|
+
still stocks the dedicated plate, so this file records the dedicated plate
|
|
1436
|
+
as open and flags the conflict rather than resolving it — the sources
|
|
1437
|
+
disagree and PRD-PLATES §5.3 says record, do not average.
|
|
1438
|
+
|
|
1439
|
+
# =========================================================================
|
|
1440
|
+
# LUFTHAVNSPLADER — airside-only plates. Included because SKAT stocks them,
|
|
1441
|
+
# flagged because the class vocabulary has no home for them.
|
|
1442
|
+
# =========================================================================
|
|
1443
|
+
- id: dk-airport-rf
|
|
1444
|
+
class: specialty
|
|
1445
|
+
class_caveat: >-
|
|
1446
|
+
NO CLASS IN _meta/classes.yml FITS. This is an operational plate for a
|
|
1447
|
+
vehicle confined to airport grounds, issued by the state to an airport
|
|
1448
|
+
operator; it is not a specialty-DESIGN programme on a standard serial,
|
|
1449
|
+
which is what `specialty` is defined as. `specialty` is used as the
|
|
1450
|
+
least-wrong placeholder and the mismatch is flagged for the maintainer:
|
|
1451
|
+
the right fix is a vocabulary amendment by PR (a `restricted-area` class
|
|
1452
|
+
or similar), not an ad-hoc value in a data file.
|
|
1453
|
+
categories: [car, van, truck, machine]
|
|
1454
|
+
period: { start: 2012 }
|
|
1455
|
+
period_evidence: agency-series-catalogue
|
|
1456
|
+
period_note: >-
|
|
1457
|
+
2012 is the date of SKAT's catalogue, the only authority document that
|
|
1458
|
+
describes these plates; it bounds the start from above. Danish Wikipedia
|
|
1459
|
+
reports a colour history — green with black characters, then red with
|
|
1460
|
+
white, then yellow with red "siden 2011" — which if correct puts the
|
|
1461
|
+
current design at 2011; that is secondary and conflicts with the
|
|
1462
|
+
catalogue's own colour words, so it is recorded below rather than adopted.
|
|
1463
|
+
matching: strict
|
|
1464
|
+
format:
|
|
1465
|
+
pattern: "RF 99 999"
|
|
1466
|
+
regex: '\ARF ?\d{2} ?\d{3}\z'
|
|
1467
|
+
characters: 7
|
|
1468
|
+
pattern_note: >-
|
|
1469
|
+
The letters are FIXED at RF, so they are spelled as literals rather than
|
|
1470
|
+
as pattern tokens. Danish Wikipedia glosses RF as "RegistreringsFri"
|
|
1471
|
+
(registration-free), which is consistent with the vehicles being outside
|
|
1472
|
+
ordinary registration; that gloss is secondary-wikipedia.
|
|
1473
|
+
charset:
|
|
1474
|
+
basis: primary-authority
|
|
1475
|
+
notes: "RF + five digits, block RF10000-RF99999, from SKAT's catalogue"
|
|
1476
|
+
design:
|
|
1477
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1478
|
+
background: { color: "#C8102E", finish: retroreflective, hex_basis: observed, spec: rød }
|
|
1479
|
+
foreground: "#FFCC00"
|
|
1480
|
+
colour_conflict: >-
|
|
1481
|
+
RECORDED, NOT RESOLVED. SKAT's colour cell reads "rød/gul rød", which
|
|
1482
|
+
under the background/characters/border reading used throughout this file
|
|
1483
|
+
gives a RED ground with YELLOW characters and a red border. Danish
|
|
1484
|
+
Wikipedia says the opposite for the same period: "siden 2011 gule med
|
|
1485
|
+
røde tegn" — yellow ground, red characters. Both are recorded; the SKAT
|
|
1486
|
+
reading is the one encoded because it is the authority's own document,
|
|
1487
|
+
and the conflict is flagged for the verifier.
|
|
1488
|
+
band: { side: none }
|
|
1489
|
+
emblem: { present: false }
|
|
1490
|
+
region_encoding: none
|
|
1491
|
+
sources:
|
|
1492
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 45 'Lufthavnsplader - rektangulær' 120x504 rød/gul rød RF10000-RF99999, format 'RF 24 721'; accessed 2026-08-02"
|
|
1493
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: the RF series is used at Danish airports (Copenhagen/Kastrup, Aalborg, Billund), the vehicles may use public roads only by dispensation or on temporary prøveskilte because the insurance covers airport grounds only, and the colour history green -> red -> yellow-with-red since 2011; accessed 2026-08-02"
|
|
1494
|
+
notes: >-
|
|
1495
|
+
AIRSIDE PLATES. Included because they are a stocked, formatted, numbered
|
|
1496
|
+
Danish plate type in the authority's own catalogue, and because a parse
|
|
1497
|
+
API meeting "RF 24 721" should not silently fail. Two things make them
|
|
1498
|
+
unlike everything else in this file: the vehicles are not ordinarily
|
|
1499
|
+
registered for road use at all, and the letters are fixed rather than
|
|
1500
|
+
serial. See `class_caveat` — the class vocabulary needs an amendment, and
|
|
1501
|
+
this series is where the need shows up.
|
|
1502
|
+
|
|
1503
|
+
- id: dk-airport-rf-trailer
|
|
1504
|
+
class: specialty
|
|
1505
|
+
class_caveat: "as dk-airport-rf"
|
|
1506
|
+
categories: [trailer]
|
|
1507
|
+
period: { start: 2012 }
|
|
1508
|
+
period_evidence: agency-series-catalogue
|
|
1509
|
+
period_note: "as dk-airport-rf — the SKAT catalogue's own date, bounding the start from above"
|
|
1510
|
+
matching: strict
|
|
1511
|
+
format:
|
|
1512
|
+
pattern: "RF 99 99"
|
|
1513
|
+
regex: '\ARF ?\d{2} ?\d{2}\z'
|
|
1514
|
+
characters: 6
|
|
1515
|
+
charset:
|
|
1516
|
+
basis: primary-authority
|
|
1517
|
+
notes: >-
|
|
1518
|
+
RF + four digits. SKAT's catalogue prints the range as
|
|
1519
|
+
"RF1000-FR9999"; the trailing "FR" is a transposition in the source
|
|
1520
|
+
and is recorded as such, not silently corrected — the format cell on
|
|
1521
|
+
the same row renders "RF 24 72", so the prefix is RF at both ends.
|
|
1522
|
+
design:
|
|
1523
|
+
plate: { w: 504, h: 120, unit: mm }
|
|
1524
|
+
background: { color: "#C8102E", finish: retroreflective, hex_basis: observed, spec: rød }
|
|
1525
|
+
foreground: "#FFCC00"
|
|
1526
|
+
colour_conflict: "as dk-airport-rf"
|
|
1527
|
+
band: { side: none }
|
|
1528
|
+
emblem: { present: false }
|
|
1529
|
+
region_encoding: none
|
|
1530
|
+
sources:
|
|
1531
|
+
- "https://web.archive.org/web/20170917063422/https://www.skat.dk/getFiles.aspx?Id=e6c2c7e8-e7a7-4b5e-b15e-4b67e27d3f66&name=planche_nummerplader_2012.pdf # SKAT row 47 'Lufthavnsplader - påhængsvogn' 120x504 rød/gul rød 'RF1000-FR9999', format 'RF 24 72'; accessed 2026-08-02"
|
|
1532
|
+
notes: >-
|
|
1533
|
+
The airside trailer plate — four digits instead of five, which is the
|
|
1534
|
+
only thing separating it from dk-airport-rf and the reason it is a series
|
|
1535
|
+
of its own rather than a variant. The typo in SKAT's range cell is left
|
|
1536
|
+
standing and annotated; a dataset that silently repairs its sources
|
|
1537
|
+
cannot be audited against them.
|
|
1538
|
+
|
|
1539
|
+
# ---------------------------------------------------------------------------
|
|
1540
|
+
# GAPS — what this pass could NOT establish. Recorded here because a stated
|
|
1541
|
+
# gap is a finding and a silent one is a defect (PRD-PLATES §5.1
|
|
1542
|
+
# jurisdiction-completeness).
|
|
1543
|
+
# ---------------------------------------------------------------------------
|
|
1544
|
+
gaps:
|
|
1545
|
+
- id: dk-gap-military
|
|
1546
|
+
what: "Forsvarets nummerplader — the Danish armed forces' own plates"
|
|
1547
|
+
why_not_shipped: >-
|
|
1548
|
+
A SCHEMA COLLISION, not a sourcing failure, and it is worth reporting as
|
|
1549
|
+
such. Danish Wikipedia describes the plate as a branch emblem followed by
|
|
1550
|
+
five digits "hvor der mellem andet og tredje ciffer er et punktum" — a
|
|
1551
|
+
FULL STOP inside the number, printed between the second and third digit.
|
|
1552
|
+
U+002E is in _meta/separators.yml's `forgiving` set but NOT in its
|
|
1553
|
+
`emitted` set, so the dataset cannot spell this plate's printed form
|
|
1554
|
+
without either failing the lint or misrepresenting the plate by writing a
|
|
1555
|
+
hyphen or a space in place of the stop. Per PRD-PLATES §2.6 that is a
|
|
1556
|
+
schema amendment (a `never_separator` entry, or an addition to `emitted`
|
|
1557
|
+
with its rationale), not a data entry, and it is out of scope for a
|
|
1558
|
+
jurisdiction pass. No Forsvarsministeriet instrument was located.
|
|
1559
|
+
sources:
|
|
1560
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: black ground, white characters, yellow branch emblem for Hæren, Søværnet, Flyvevåbnet and the joint authorities; a mark plus five digits with a full stop between the second and third; accessed 2026-08-02"
|
|
1561
|
+
- id: dk-gap-emergency
|
|
1562
|
+
what: "Beredskabsstyrelsen (Danish Emergency Management Agency) plates"
|
|
1563
|
+
why_not_shipped: >-
|
|
1564
|
+
Same full-stop collision as the military plate on the five-digit form,
|
|
1565
|
+
plus a variable digit count. Danish Wikipedia describes a blue ground with
|
|
1566
|
+
orange characters, the agency's own mark, then one, two, three or five
|
|
1567
|
+
digits denoting the vehicle's attachment, with a full stop between the
|
|
1568
|
+
second and third digit on the five-digit form. No instrument located.
|
|
1569
|
+
sources:
|
|
1570
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia; the article cites nrpl.dk; accessed 2026-08-02"
|
|
1571
|
+
- id: dk-gap-municipal
|
|
1572
|
+
what: "Særlige kommunale nummerplader — municipal plates, incl. fire brigades"
|
|
1573
|
+
why_not_shipped: >-
|
|
1574
|
+
THE POWER IS PRIMARY BUT THE FORMAT IS NOT. BEK 663/2025 § 3, stk. 4: a
|
|
1575
|
+
municipality's vehicle that is exempt from registration tax under
|
|
1576
|
+
registreringsafgiftslovens § 2, stk. 1, nr. 3 or 4 "skal ... registreres i
|
|
1577
|
+
Køretøjsregisteret, men kan føre særlige kommunale nummerplader", and
|
|
1578
|
+
§ 68, stk. 1 exempts them from the rectangular/square requirement. The
|
|
1579
|
+
instrument stops there: no format, no colours, no size. Danish Wikipedia
|
|
1580
|
+
describes a municipal coat of arms in the centre with letters and digits
|
|
1581
|
+
on either side, possibly beginning KF. That is not a grammar, and a
|
|
1582
|
+
guessed pattern would fail the round-trip honestly or pass it dishonestly.
|
|
1583
|
+
sources:
|
|
1584
|
+
- "https://www.retsinformation.dk/eli/lta/2025/663/dan/xml # § 3, stk. 4; § 68, stk. 1; accessed 2026-08-02"
|
|
1585
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia: municipal arms centred, alphanumerics either side, may begin KF; closed-track shadow plates beginning FF; accessed 2026-08-02"
|
|
1586
|
+
- id: dk-gap-royal
|
|
1587
|
+
what: "Kongehusets nummerplader — the royal household's plates"
|
|
1588
|
+
why_not_shipped: >-
|
|
1589
|
+
Danish Wikipedia describes a golden crown and a running number of up to
|
|
1590
|
+
three digits in white. No ground colour, no size, no instrument, and no
|
|
1591
|
+
grammar for the number. Not shipped.
|
|
1592
|
+
sources:
|
|
1593
|
+
- "https://da.wikipedia.org/wiki/Nummerplade # secondary-wikipedia; accessed 2026-08-02"
|
|
1594
|
+
- id: dk-gap-heavy-bus-lorry
|
|
1595
|
+
what: "What plate a bus, or a lorry above 4 t, carries"
|
|
1596
|
+
why_not_shipped: >-
|
|
1597
|
+
SKAT's catalogue names only "Personbiler" and "Vare-lastbiler", and the
|
|
1598
|
+
vægtafgiftslov § 2 a split that the yellow and parrot plates track is
|
|
1599
|
+
confined to vare- and lastbiler of not more than 4 t (§§ 82 and 85). No
|
|
1600
|
+
source reached says which type a bus or a heavier lorry draws.
|
|
1601
|
+
dk-standard-1976 therefore claims `categories: [car]` and nothing more.
|
|
1602
|
+
- id: dk-gap-1958-and-1976-instruments
|
|
1603
|
+
what: "The instruments that enacted the 1 April 1958 and 1 April 1976 numbering reforms"
|
|
1604
|
+
why_not_shipped: >-
|
|
1605
|
+
Both dates are stated inside instruments that are in force or recently in
|
|
1606
|
+
force (see THE FOUR DATES above), but neither ENACTING instrument was
|
|
1607
|
+
reached, so both series carry `period_evidence: statutory-date` rather
|
|
1608
|
+
than `instrument-in-force`. The obstacle is concrete and worth recording
|
|
1609
|
+
for whoever picks this up: retsinformation.dk serves full document bodies
|
|
1610
|
+
only for the newer part of its corpus. Of the registreringsbekendtgørelse
|
|
1611
|
+
chain, BEK 1567/2007 onwards return a complete ELI XML embodiment
|
|
1612
|
+
(/eli/lta/{year}/{nr}/dan/xml), while BEK 1067/2005, BEK 1350/2000, BEK
|
|
1613
|
+
916/1997, BEK 592/1996 and BEK 18/1992 return metadata only — 1-4 KB of
|
|
1614
|
+
Meta with no body — and their HTML and legacy R0710.aspx URLs redirect
|
|
1615
|
+
into the site's single-page app. A 1976 Justitsministeriet bekendtgørelse
|
|
1616
|
+
is very unlikely to be in the corpus at all. Danish Wikipedia offers
|
|
1617
|
+
1903-1958 (one letter + up to six digits, the letter marking the amt) and
|
|
1618
|
+
a two-letter era from 1958; that is secondary-wikipedia and is not shipped
|
|
1619
|
+
as a series.
|
|
1620
|
+
- id: dk-gap-pre1958-county-letters
|
|
1621
|
+
what: "A decode table for the pre-1958 single county letter"
|
|
1622
|
+
why_not_shipped: >-
|
|
1623
|
+
The single letter WAS geographic — that much is primary by implication,
|
|
1624
|
+
since BEK 633/2009 § 101, stk. 2 and BEK 651/2011 § 102, stk. 2 keep
|
|
1625
|
+
single-letter plates lawful, and both Wikipedias describe the letter as an
|
|
1626
|
+
amt or city marker. But no source reached, primary or secondary,
|
|
1627
|
+
ENUMERATES the letters against their counties. A decode table needs rows;
|
|
1628
|
+
this one would have none, so none is shipped. Named for whoever resolves
|
|
1629
|
+
it: the enthusiast register nrpl.dk (cited by both Wikipedia articles) is
|
|
1630
|
+
the likeliest place a full list exists.
|
|
1631
|
+
- id: dk-gap-yellow-plate-date
|
|
1632
|
+
what: "When the yellow goods-vehicle plate was introduced"
|
|
1633
|
+
why_not_shipped: >-
|
|
1634
|
+
No Danish instrument specifies plate colours (see the header), so nothing
|
|
1635
|
+
dates the yellow plate. The earliest evidence reached is SKAT's own
|
|
1636
|
+
catalogue: the 2009 skat.dk plate pages and the 2012 poster. The series
|
|
1637
|
+
ships with the 1976 numbering date and a loud `period_caveat` rather than
|
|
1638
|
+
with a colour date it cannot support.
|
|
1639
|
+
- id: dk-gap-faroe-greenland
|
|
1640
|
+
what: "Faroe Islands (FO) and Greenland (GL) plates"
|
|
1641
|
+
why_not_shipped: >-
|
|
1642
|
+
OUT OF SCOPE BY THE INSTRUMENT'S OWN DEFINITION, not by omission. BEK
|
|
1643
|
+
663/2025 § 1, stk. 4: "»her i landet« om Kongeriget Danmark, bortset fra
|
|
1644
|
+
Færøerne og Grønland." Both have their own ISO 3166-1 codes and their own
|
|
1645
|
+
registers; neither is modelled in this file. English Wikipedia covers both
|
|
1646
|
+
inside its Denmark article, which is a trap for anyone extending this file
|
|
1647
|
+
rather than creating fo.yml and gl.yml.
|