UIC-Wagennummer-Prüfziffer
Geben Sie die ersten elf Ziffern 21812471217 ein, und Sie erhalten die Prüfziffer 3 sowie die komplette Wagennummer 218124712173. Bei einer fertigen zwölfstelligen UIC-Nummer sehen Sie sofort, ob die letzte Ziffer passt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Zahl
- 21812471217
- Berechnungsmodus
- Compute
- Eingabe
- 21812471217
- Prüfziffer
- 3
- Wagennummer
- 218124712173
Eisenbahnbetreiber, Wagenhalter und Logistiksysteme kennzeichnen Güter- und Personenfahrzeuge mit einer zwölfstelligen europäischen UIC-Fahrzeugnummer. Elf dieser Ziffern kodieren Typ, Land und Serienidentität; die zwölfte ist eine Selbstprüfziffer aus einer festen alternierenden Zwei-Eins-Gewichtung, sodass ein Tippfehler oder eine Vertauschung weit häufiger scheitert, als wie ein anderes gültiges Fahrzeug auszusehen. Diese Fähigkeit berechnet diese Prüfziffer aus einer elfstelligen Nutzlast oder prüft eine vollständige zwölfstellige Nummer und meldet, ob die gespeicherte Schlussziffer dem neu berechneten Wert entspricht.
So wird die UIC-Prüfziffer berechnet
Die UIC- und europäischen Fahrzeugnummerierungsregeln definieren eine deterministische Prüfziffer über die ersten elf Ziffern der zwölfstelligen Fahrzeugnummer. Nummerieren Sie diese Nutzlastpositionen von links beginnend bei Index null: jede Ziffer wird mit Gewicht zwei multipliziert, wenn der Index gerade ist, und mit Gewicht eins, wenn er ungerade ist; jedes Produkt größer als neun wird anschließend durch Summieren seiner Dezimalziffern gefaltet (dieselbe Luhn-artige Faltung verwandter mod-10-Verfahren). Die elf gefalteten Werte werden summiert.
Die Prüfziffer ist zehn minus diese Summe modulo zehn, erneut modulo zehn, sodass eine bereits durch zehn teilbare Summe die Prüfziffer null ergibt. Das Anhängen dieser einzelnen Ziffer erzeugt die vollständige zwölfstellige Nummer, die am Wagenkasten und in Flottenbasen erscheint, oft mit Gruppierungsleerzeichen und einem Bindestrich vor der Prüfziffer gedruckt. Die Prüfung ist die Umkehrung: die erwartete Ziffer aus den ersten elf Zeichen neu berechnen und mit der zwölften vergleichen.
*-Werkzeuge unterscheiden können.
Wo UIC-Prüfziffern in reale Bahnabläufe passen
Fahrzeughalter und Keeper vergeben Serien innerhalb einer Baureihe und eines Ländercodes; bevor Lack, Schilder und TAF/TSI-Register aktualisiert werden, müssen sie die richtige Prüfziffer anhängen, damit Partner und streckenseitige Systeme die Identität beim ersten Lesen akzeptieren. Werkstatt- und Instandhaltungssysteme importieren Keeper-CSV-Dateien mit zwölfstelligen Nummern und sollten Zeilen ablehnen, deren Prüfziffer nicht mehr stimmt — das fängt sowohl menschliche Edits als auch Off-by-one-Fehler in vorgelagerten Generatoren.
Intermodal- und Terminal-Anwendungen, in denen Mitarbeitende eine Wagennummer tippen, können bei Fokusverlust prüfen und Bewegungen blockieren, bis valid true ist, und so fehlgeschlagene EDI-Austausche und Rangierabweichungen verringern. Behandeln Sie eine gültige Prüfziffer nicht als Nachweis von Zuteilung, Keeper-Rechten oder Typcode-Korrektheit — sie belegt nur, dass die zwölfstellige Kette unter der UIC-Regel der alternierenden Zwei-Eins-Gewichte arithmetisch wohlgeformt ist, dieselbe Ehrlichkeitsschwelle wie bei jedem industriellen Prüfsummenverfahren.
Anwendungsfälle
Keeper- und RIV-Austauschdateien auditieren
Prüfen Sie stapelweise jede zwölfstellige Fahrzeugnummer in einer Partner-CSV oder EDI-Export und quarantänisieren Sie Zeilen, deren Prüfziffer dem neu berechneten Erwartungswert nicht mehr entspricht.
Häufige Fragen
Was ist die Prüfziffer einer UIC-Wagennummer?
Es ist die zwölfte Ziffer einer europäischen Eisenbahn-Fahrzeugnummer, berechnet aus den ersten elf mit alternierenden Gewichten 2 und 1 und einer Luhn-artigen Ziffernsummen-Faltung, sodass Einzeltippfehler weit häufiger scheitern, als wie ein anderes Fahrzeug auszusehen.
Wie wird die Prüfziffer einer UIC-Wagennummer berechnet?
Von links werden die elf Ziffern abwechselnd mit 2 und 1 multipliziert. Ist ein Produkt größer als 9, zählt die Summe seiner beiden Ziffern. Alles wird addiert, und die Prüfziffer ist der Abstand zum nächsten Zehner (0, wenn die Summe schon einer ist).
Beweist eine gültige Prüfziffer, dass der Wagen registriert ist?
Nein. Sie zeigt nur, dass die zwölf Ziffern rechnerisch zusammenpassen. Ob die Nummer vergeben wurde, wer Halter ist oder ob der Typcode stimmt, verrät sie nicht.
Darf ich die Nummer mit Leerzeichen, Bindestrich oder Punkten einfügen?
Ja. Leerzeichen, Bindestrich und Punkte der üblichen Beschriftung werden vor der Prüfung entfernt. Buchstaben und andere Zeichen lehnt das Werkzeug ab, damit kein verirrtes Zeichen unbemerkt durchrutscht.
Wie prüfe ich eine vollständige zwölfstellige Wagennummer?
Wählen Sie die Prüfung und geben Sie alle zwölf Ziffern ein. Das Werkzeug berechnet die Prüfziffer aus den ersten elf neu und vergleicht sie mit der zwölften. Bei 218124712173 passt die 3.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/uic-wagon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"21812471217"}'const res = await fetch("https://api.kit.forhosting.com/enc/uic-wagon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "21812471217"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/uic-wagon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "21812471217"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/uic-wagon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"21812471217"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"21812471217"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/uic-wagon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"number": "21812471217"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.uic_wagon",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Leerzeichen, Bindestriche und Punkte des üblichen Drucklayouts werden vor der Arithmetik entfernt; Buchstaben und andere Nichtziffern werden mit einem klaren invalid_input-Fehler abgelehnt. Führen Sie sie kostenlos im Browser aus oder rufen Sie die KIT-API zum veröffentlichten Preis auf; beide Pfade nutzen denselben reinen Ganzzahlalgorithmus ohne Netz und ohne gespeicherte Fahrzeugregister.
So wird die UIC-Prüfziffer berechnet
Weil der Algorithmus reine Ganzzahlarithmetik mit festen Gewichten ist, liefert dieselbe Nutzlast auf jeder Plattform dieselbe Prüfziffer — Browser, Worker oder Offline-Testharness —, weshalb die Fähigkeit als parse-Engine der Stufe A und nicht als Modellaufruf geliefert wird.
So berechnen Sie eine Prüfziffer oder prüfen eine vollständige Nummer
Senden Sie ein number-Feld mit den Nutzlast- oder vollständigen Fahrzeugziffern. Der Modus validate erwartet nach dem Entfernen genau zwölf Ziffern. Leere Strings, fehlendes number, ungültige mode-Werte und falsche Längen (zum Beispiel zehn oder dreizehn Ziffern) scheitern vor jeder gewichteten Summe und werden nicht berechnet. Bevorzugen Sie compute, wenn Sie einen neuen Serienblock anlegen oder vervollständigen; bevorzugen Sie validate, wenn Sie eine vollständige Nummer von einem Scanner, einer CSV oder einem Keeper-Wechsel-Formular erhalten und vor dem Speichern des Assets ein boolesches Tor brauchen. Optionale Leerzeichen, Bindestriche und Punkte werden entfernt, damit Formulare das übliche Anzeigelayout mit Gruppen und einem abschließenden Strich vor der Prüfziffer akzeptieren; Buchstaben und andere Symbole werden als nichtnumerische Eingabe mit invalid_input abgelehnt, sodass ein Formular nie einen still bereinigten, aber weiterhin falschen Wert annimmt. Der Modus compute ist Standard: liefern Sie nach dem Entfernen genau elf Nutzlastziffern; die Engine gibt check_digit als einzeichigen String, vehicle_number als diese elf Ziffern plus Prüfziffer und length zwölf zurück. Die Antwort meldet valid true, wenn die Schlussziffer mit der neu berechneten expected_check_digit übereinstimmt, und enthält stets payload (die ersten elf Ziffern), check_digit wie übermittelt, expected_check_digit und die kanonische vehicle_number aus payload plus erwarteter Ziffer. Diese Form erleichtert in einer Flotten-UI die Anzeige «Sie haben X getippt, erwartet war Y» ohne zweite Anfrage. Weil der Pfad reines Parse ohne Uhr, Zufallsquelle oder Netz ist, liefert dieselbe Eingabe im kostenlosen Browser-Tool und über die API stets dasselbe JSON. Zu $0.002 pro erfolgreicher Anfrage können Sie Massenimporte von Flotten, RIV-Austauschdateien und Partner-EDI-Audits absichern, ohne eine individuelle Stufe zu verhandeln.
Wo UIC-Prüfziffern in reale Bahnabläufe passen
Integrationstests und Datenqualitätsjobs berechnen expected_check_digit für jede Fahrzeugspalte eines Exports neu und quarantänisieren Abweichungen, bevor sie nationale oder internationale Register erreichen. Etikettendrucker, die Schablonen aus elfstelligen Nutzlasten setzen, rufen den compute-Modus einmal pro Fahrzeug auf und setzen vehicle_number unter die Markierungsgrafik. In jedem Ablauf gilt derselbe Vertrag: Ziffern nach optionalem Entfernen der Trenner, elf für compute oder zwölf für validate, strukturiertes mit Goldens testbares JSON, identisches Verhalten kostenlos im Browser oder mit vorausbezahltem KIT-Guthaben, und ehrliches Scheitern, wenn die Eingabe keine wohlgeformte UIC-Ziffernkette ist.
Integrationsbeispiele
Elfstellige Nutzlast für Schilder und Lack vervollständigen
Nehmen Sie Typ-, Länder- und Serienziffern (elf insgesamt), rufen Sie den compute-Modus auf und drucken Sie vehicle_number am Wagen, damit die Markierung eine partnergültige UIC-Prüfziffer trägt.
Gescannte oder getippte Wagennummern am Eingang prüfen
Wenn ein Handscanner oder Formular zwölf Ziffern sendet, rufen Sie den validate-Modus auf und sperren Sie Flotten- oder Rangier-Updates, wenn valid false ist, und zeigen Sie expected_check_digit zur Korrektur eines Tippfehlers.
Technische Fragen
Wie berechne ich eine UIC-Prüfziffer mit dieser API?
Senden Sie POST mit number von genau elf Ziffern (Leerzeichen, Bindestriche und Punkte optional) und mode compute (oder lassen Sie mode weg). Die Antwort enthält check_digit und vehicle_number (den vollständigen zwölfstelligen Code).
Wie prüfe ich eine vollständige zwölfstellige Fahrzeugnummer?
Senden Sie POST mit der zwölfstelligen Zeichenkette und mode validate. Die Antwort enthält valid, check_digit, expected_check_digit, payload und die kanonische vehicle_number.
Was geschieht bei Buchstaben, falschen Längen oder schlechten Trennern?
Leerzeichen, Bindestriche und Punkte werden entfernt; verbleibende Nichtziffern und Längen ungleich elf (compute) oder zwölf (validate) werden mit invalid_input abgelehnt. Fehlgeschlagene Prüfaufgaben werden nicht berechnet.
Ist das UIC-Wagennummer-Prüfziffer-Werkzeug kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zum veröffentlichten Basispreis $0.002; ungültige Eingabe wird nie berechnet.