ForHosting KIT · Entwickler-Tools

JMBG-Prüfziffer

Die 12 Ziffern 180198071000 erhalten die Prüfziffer 5, die vollständige JMBG lautet also 1801980710005. Ergänzen oder prüfen Sie die einheitliche Bürgernummer aus Serbien, Bosnien und Herzegowina, Montenegro und Nordmazedonien, bevor ein Tippfehler einen doppelten Datensatz erzeugt. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Zahl
180198071000
Erhalten Sie
Berechnungsmodus
Compute
Eingabe
180198071000
Tag
18
Monat
01

Die JMBG (Jedinstveni matični broj građana), oft als eindeutige Bürgerstammnummer übersetzt, ist die dreizehnstellige Personenkennung, die in der ehemaligen Sozialistischen Föderativen Republik Jugoslawien eingeführt wurde und in Nachfolgestaaten —manchmal unter verwandten Namen wie EMBG— weiterhin für Personenstand, Steuern, Gesundheit, Banken und Beschäftigung genutzt wird. Die Nummer bündelt das Geburtsdatum als Tag-Monat-Jahr (sieben Ziffern: DDMMYYY mit dreistelliger Jahresangabe), einen zweistelligen Regionscode des Registrierungsorts, eine dreistellige Seriennummer innerhalb dieses Tages und dieser Region sowie eine abschließende Prüfziffer. Diese Prüfziffer ist nicht willkürlich: Sie entsteht aus einer festen gewichteten Summe modulo elf über die ersten zwölf Ziffern, sodass eine vertippte Ziffer oder ein vertauschtes Paar in der Regel abgelehnt wird, bevor die Kennung gespeichert oder abgeglichen wird. Diese Fähigkeit implementiert ausschließlich diese Prüfsumme. Der Modus compute akzeptiert genau zwölf Ziffern —Datum, Region und Serie ohne Prüfziffer— und liefert die mod-11-Ziffer plus die vollständige dreizehnstellige Zeichenkette. Der Modus validate akzeptiert dreizehn Ziffern (optionale Leerzeichen oder Bindestriche) und meldet, ob die letzte Ziffer dem neu berechneten Erwartungswert entspricht.

So wird die ehemalige jugoslawische JMBG-Prüfziffer berechnet

Nach der gemeinsamen JMBG-Spezifikation der ehemaligen jugoslawischen Republiken ist die Prüfziffer ein gewichteter Wert modulo elf über die ersten zwölf Ziffern der Nummer. Diese zwölf Ziffern sind der siebenstellige Datumsblock DDMMYYY (Tag, Monat und die letzten drei Ziffern des Geburtsjahres), der zweistellige Regionscode und die dreistellige Seriennummer für diesen Tag und diese Region.

Jede der zwölf Positionen wird mit einem festen Gewicht aus der wiederholten Folge sieben, sechs, fünf, vier, drei, zwei multipliziert —die Gewichte sind also genau 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 von links nach rechts. Die zwölf Produkte werden summiert; der Rest dieser Summe modulo elf wird gebildet; die vorläufige Prüfziffer ist elf minus dieser Rest. Ist der vorläufige Wert zehn oder elf, ist die veröffentlichte Prüfziffer null; andernfalls ist sie der vorläufige Wert selbst.

Die Validierung berechnet die erwartete Ziffer aus der zwölfstelligen Nutzlast neu und vergleicht sie mit der dreizehnten Ziffer der übermittelten Nummer. Ein bekanntes Lehrbeispiel ist die Basis 180198071000 (Geburtsdatum 18. Januar 1980, Region 71, Serie 000), die die Prüfziffer 5 und die volle JMBG 1801980710005 ergibt.

Ein weiteres übliches Beispiel ist 010100650000 mit Prüfziffer 6. Der Algorithmus ist deterministisch und lokal: kein Aufruf eines Bevölkerungsregisters, keine Uhr und keine Zufallsquelle. Gegenüber generischen mod-11- oder schwedischen Personnummer-Werkzeugen ist die Suchabsicht hier eng: Personen, die einen JMBG-Prüfziffer-Rechner für Datum-Region-Serie-Basen oder einen Prüfer der dreizehnstelligen ehemaligen jugoslawischen Bürgernummer brauchen, kein Zahlungskarten- oder nordisches Personalnummern-Werkzeug.

Wo JMBG-Prüfziffern in Balkan- und Diaspora-Workflows passen

Banken und Fintechs in Serbien, Bosnien und Herzegowina, Montenegro, Nordmazedonien und verwandten Märkten prüfen dreizehnstellige JMBG- oder EMBG-Werte bei der Kontoeröffnung, damit eine einzelne Transposition keinen Phantomkunden und keinen abgelehnten KYC-Datensatz erzeugt. ETL-Jobs, die Kunden- oder Mitarbeiter-Stammdaten laden, gehen jede JMBG-Spalte in einem CSV- oder XML-Feed durch, rufen den validate-Modus auf und stellen Zeilen mit valid false unter Quarantäne —sowohl menschliche Edits als auch Off-by-one-Fehler in Generatoren.

Kommunale und schulische Systeme akzeptieren oft sowohl bindestrichhaltige als auch kompakte Formen; das Entfernen von Leerzeichen und Bindestrichen vor der Ziffernprüfung hält den Vertrag einfach, ohne einen zweiten Algorithmus zu erfinden. Diaspora-Anwendungen —Visaformulare, Überweisungs-Apps und Doppelstaatsangehörigkeitsportale— erhalten häufig JMBG-Werte von Personen, die vor Jahrzehnten ausgewandert sind; ein leichtes Prüfsummen-Gate ist oft die erste Verteidigungslinie vor teuren Registerabfragen.

Behandeln Sie eine bestandene JMBG-Prüfung nicht als Nachweis, dass der Inhaber im Bevölkerungsregister lebt, einen gültigen Personalausweis hat oder zu einem Dienst berechtigt ist; sie beweist nur, dass die mod-11-Ziffer mit Datum, Region und Serie unter den offiziellen ehemaligen jugoslawischen Gewichten übereinstimmt.

JMBG-Spalten in Stammdaten prüfen

Validieren Sie batchweise jede JMBG oder EMBG in einer CRM-, EHR- oder Payroll-CSV und stellen Sie Zeilen unter Quarantäne, deren Prüfziffer nicht mehr dem neu berechneten Erwartungswert entspricht.

Was ist eine JMBG-Prüfziffer?

Es ist die dreizehnte Ziffer der ehemaligen jugoslawischen Bürgerstammnummer, berechnet mit einem gewichteten mod-11-Algorithmus über das siebenstellige Datum, die zweistellige Region und die dreistellige Serie, damit Tipp- und Scanfehler in der Regel vor dem Speichern erkannt werden.

Was bedeuten die 13 Ziffern einer JMBG?

Die ersten sieben sind das Geburtsdatum aus Tag, Monat und den letzten drei Ziffern des Jahres. Es folgen zwei Ziffern für die Registrierungsregion, drei für eine laufende Nummer und zuletzt die Prüfziffer. Bei 1801980710005 ist 18 der Tag, 01 der Monat und 71 die Region.

Wie wird die JMBG-Prüfziffer berechnet?

Multiplizieren Sie die 12 Ziffern mit den zweimal wiederholten Gewichten 7, 6, 5, 4, 3, 2, addieren Sie die Produkte und nehmen Sie den Rest bei Division durch 11. Elf minus dieser Rest ist die Prüfziffer; ergibt sich 10 oder 11, ist sie 0.

Beweist eine gültige JMBG, dass die Person existiert?

Nein. Eine korrekte Prüfziffer zeigt nur, dass die 13 Ziffern zusammenpassen. Es wird kein Melderegister abgefragt, daher sagt das Ergebnis nichts darüber, ob die Person lebt, registriert ist oder Anspruch auf eine Leistung hat.

Kann ich eine JMBG mit Leerzeichen oder Bindestrichen eingeben?

Ja. Leerzeichen und Bindestriche werden vor der Prüfung entfernt, sodass kompakte und gegliederte Schreibweisen gleichermaßen funktionieren. Andere Satzzeichen und Buchstaben werden dagegen abgelehnt.

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.

POSThttps://api.kit.forhosting.com/enc/jmbg

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/enc/jmbg \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"180198071000"}'
{
  "number": "180198071000"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.jmbg",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Nichtnumerische Eingaben und falsche Längen scheitern mit invalid_input statt stillschweigendem Abschneiden. Dieselbe reine Arithmetik läuft kostenlos im Browser und zum veröffentlichten API-Preis, ohne Registerabfrage und ohne Behauptung, dass eine gültige Prüfsumme bedeute, die Person sei lebend, registriert oder zu einem Dienst berechtigt.

Eingabevertrag, Modi und Fehlerverhalten

Senden Sie ein number-Feld mit dem JMBG-Körper. Falsche Länge ist ein expliziter Fehler, der den Modus und die gesendete Länge nennt —zwölf für compute, dreizehn für validate—, damit Client-Formulare eine präzise Meldung zeigen können, ohne zu raten. Leere Zeichenketten, fehlendes number und ungültige mode-Werte scheitern vor jeder gewichteten Summe und werden nicht berechnet. Eine wohlgeformte Zeichenkette mit lediglich falscher Prüfziffer liefert valid false ohne Exception. Leerzeichen und Bindestriche werden entfernt, sodass gängige Anzeigeformen wie 1801980-71-000-5 oder gruppierte Ziffern nach Normalisierung akzeptiert werden; andere Zeichensetzung und Buchstaben werden als nichtnumerische Eingabe mit invalid_input abgelehnt, damit ein still abgeschnittener Wert nie den Speicher erreicht. Der Modus compute ist der Standard: die Engine verlangt genau zwölf Ziffern, liefert check_digit als einzeichenige Zeichenkette, liefert with_check als die dreizehnstellige volle JMBG, die Sie drucken oder speichern können, und liefert außerdem day, month, year3, date (DDMMYYY), region und serial für Audit-Spuren. Der Modus validate akzeptiert genau dreizehn Ziffern; die Antwort meldet valid true, wenn die letzte Ziffer dem neu berechneten expected_check_digit entspricht, und enthält stets payload (die zwölf gewichteten Ziffern), check_digit, expected_check_digit, dieselben Strukturfelder, length und die Algorithmusbezeichnung jmbg-mod11 mit der Gewichtszeichenkette. Alias-Schlüssel wie jmbg, embg, digits und code werden für dasselbe Nutzlastfeld akzeptiert, damit Integrationen mit regionalen Feldnamen nicht umbenennen müssen. Weil der Pfad reines Parse ohne Uhr, Zufall oder Netz ist, liefert derselbe JSON-Körper auf dem kostenlosen Browser-Tool und der API zu $0.002 pro erfolgreicher Anfrage stets dasselbe JSON-Ergebnis.

Wo JMBG-Prüfziffern in Balkan- und Diaspora-Workflows passen

Gesundheitsportale und Apothekensysteme berechnen expected_check_digit neu, wenn eine Klinik eine Nummer telefonisch aufnimmt oder von einem gescannten Ausweis einfügt, und fangen Tippfehler ab, bevor eine Akte oder ein Rezept abgelegt wird. Arbeitgeber und Payroll-Anbieter vervollständigen zwölfstellige Basen in Sandboxes im compute-Modus und speichern dann with_check in Testmitarbeitern, die wie Produktionskennungen aussehen müssen.

Eine 12-stellige JMBG-Basis für Test-Fixtures vervollständigen

Rufen Sie den compute-Modus mit DDMMYYY plus Region und Serie auf, speichern Sie with_check und nutzen Sie die dreizehnstellige JMBG in Sandbox-KYC-, Payroll- oder Gesundheits-Testdatensätzen.

Eingegebene oder importierte Bürgernummern prüfen

Wenn ein Formular, eine Bankdatei oder ein HR-Feed dreizehn Ziffern sendet, rufen Sie den validate-Modus auf und blockieren Sie die Anmeldung bei valid false; zeigen Sie expected_check_digit, um einen einzelnen Tippfehler zu korrigieren.

Wie berechne ich eine JMBG-Prüfziffer mit dieser API?

Senden Sie ein POST mit number auf genau zwölf Ziffern (DDMMYYY plus Region und Serie) und mode compute (oder lassen Sie mode weg). Die Antwort enthält check_digit und with_check (die volle dreizehnstellige JMBG).

Wie prüfe ich eine volle dreizehnstellige JMBG?

Senden Sie ein POST mit der Ziffernfolge (optionale Leerzeichen oder Bindestriche) und mode validate. Die Antwort enthält valid, check_digit, expected_check_digit und payload (die zwölf gewichteten Ziffern).

Was passiert bei falscher Länge, Buchstaben oder ungewöhnlicher Zeichensetzung?

Nach dem Entfernen von Leerzeichen und Bindestrichen werden nichtnumerische Eingaben und Längen ungleich zwölf (compute) bzw. dreizehn (validate) mit invalid_input abgelehnt. Fehlgeschlagene Validierungsaufgaben werden nicht berechnet.

Ist das JMBG-Prüfziffer-Werkzeug kostenlos?

Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen das prepaid KIT-Guthaben zum veröffentlichten Basispreis $0.002; ungültige Eingaben werden nie berechnet.

Vollständige KIT-Dokumentation lesen →