A German vehicle plate — a Kfz-Kennzeichen — begins with a district code that tells you exactly where the vehicle was registered. This free validator confirms a plate follows the official civilian format and identifies the issuing Zulassungsbezirk from its district code. It is built for German logistics, fleet, and insurance teams.
How it works
A standard German plate has three components, which the tool checks against a single canonical pattern:
- District code (Unterscheidungszeichen): 1–3 letters identifying the registration district, e.g.
B(Berlin),M(Munich),HH(Hamburg). - Recognition letters: 1 or 2 letters following the district code.
- Number: 1 to 4 digits, with no leading zero.
After matching the structure, the tool looks the district code up in a bundled table of common Zulassungsbezirke and names the district. Spacing and hyphens between the parts are flexible — B AB 1234, B-AB-1234, and B AB1234 are all accepted.
Example
Validate M XY 99:
District code = M -> München (Munich)
Letters = XY
Number = 99 (no leading zero -> ok)
The plate is well-formed and was issued in the Munich registration district.
Notes
A valid result means the plate matches the official structure and (where the code is known) names the issuing district. It does not confirm the plate is currently registered to a vehicle — that requires the relevant Zulassungsstelle. Uncommon district codes still validate but display as unknown rather than being guessed. All processing happens locally in your browser.