Generator · German data

German vehicle registration plate

Endpoint GET /v1/de/vehicle-registration

What it covers

Returns a realistic German vehicle registration plate (Kfz-Kennzeichen). `type` selects the kind: `standard` (default, `<DISTRICT> LL NNNN`, e.g. M AB 1234), `custom` (Wunschkennzeichen), `seasonal` (Saisonkennzeichen), `historic` (trailing H), `electric` (trailing E), `motorcycle`, `military` (`Y-NNN NNN`, no district), or `diplomatic` (`0-MM-NNN`, no district). `district` forces the Unterscheidungszeichen (an unknown code is a 400) and is ignored by military/diplomatic. `era` picks the recognition alphabet: `current`, `legacy` (pre-2000 reduced set), or `both`. No German plate carries a checksum, so there is no invalid variant. Use `format` to choose spaced or compact rendering.

Parameters

ParameterTypeDescription
countinteger1–1000Number of records to return, 1–1000 (your plan may lower this). Omitted returns a single record; set it for a batch.
districtstringForce the district code (Unterscheidungszeichen), e.g. M, HH, GÖ. Umlaut-sensitive; an unknown code is a 400. Ignored for military/diplomatic.
edgebooleanRestrict output to edge-case plates from the rare corners of the format.
era"current" | "legacy" | "both"Recognition alphabet: current (full A–Z), legacy (pre-2000 reduced set), or both (mixed per call). Default current.
extremebooleanReturn a correct value wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, or bidi/combining marks). Homoglyphs are excluded so the value stays machine-parseable; it still validates after normalisation.
format"with-space" | "compact"Plate rendering: with a space or compact. Default with-space.
invalidbooleanReturn a deliberately invalid value that fails validation, for testing rejection paths.
seedintegerInteger seed for reproducible output: the same seed always yields the same record.
type"standard" | "custom" | "seasonal" | "historic" | "electric" | "motorcycle" | "military" | "diplomatic"Plate kind: standard, custom, seasonal, historic, electric, motorcycle, military, or diplomatic.

Response fields

FieldTypeDescription
valuestringThe plate in the requested format, e.g. "M AB 1234".
type"standard" | "custom" | "seasonal" | "historic" | "electric" | "motorcycle" | "military" | "diplomatic"Which kind of plate this is.
district?stringThe Unterscheidungszeichen (1–3 letter district code, e.g. M, HH, GÖ); absent for military/diplomatic.
state?stringThe Bundesland (federal state) the district code belongs to, e.g. Bayern.
city?stringThe Stadt or Landkreis whose office issues the code, e.g. München.

Other generators for Germany

See all generators for Germany →

The same kind of identifier elsewhere

Try it

Generate a live example below — every response is valid by format and entirely synthetic.