Was ist eine Prüfziffer und wie erkennt sie Fehler?
Die letzte Zahl auf einem Barcode ist nicht zufällig — sie ist eine Prüfziffer. Wie eine einfache Formel Scan- und Tippfehler erkennt.
Eine Prüfziffer ist der eingebaute Lügendetektor eines Barcodes. Sie ist eine einzelne zusätzliche Ziffer, berechnet aus allen anderen, deren einziger Zweck es ist, zu verraten, wenn ein Code falsch gescannt oder getippt wurde. Zu verstehen, wie sie funktioniert, zeigt dir, warum eine falsch getippte Produktnummer fast nie unbemerkt durchrutscht. 🐾
Was ist eine Prüfziffer?
Eine Prüfziffer ist eine Redundanzziffer: eine Zahl, die mit einer festen Formel aus den anderen Ziffern eines Codes berechnet und dann ans Ende angehängt wird. Wird der Code später gescannt, wendet der Leser dieselbe Formel auf die eingehenden Ziffern an und prüft, ob das Ergebnis noch mit dieser letzten Ziffer übereinstimmt. Tut es das nicht, wurde etwas falsch gelesen, und der Scanner lehnt den Code ab, statt auf fehlerhaften Daten zu handeln.
Die Ziffer trägt keine eigene Produktinformation. Sie ist reine Fehlererkennung. Diese Idee gehört zu einer viel größeren Familie von Techniken, die wir in Fehlererkennung vs. Fehlerkorrektur und Prüfsummen, Hashes und Parität überblicken. In einem Barcode ist sie die letzte, stille Verteidigungslinie gegen einen ausgerutschten Scan.
Wie funktioniert die UPC- und EAN-Prüfziffer?
UPC-A und EAN-13 verwenden beide einen gewichteten Mod-10-Algorithmus. Das Clevere ist die abwechselnde Gewichtung: Die Ziffern werden nicht einfach aufsummiert. Stattdessen werden abwechselnde Ziffern vor dem Summieren mit 3 und der Rest mit 1 multipliziert, weshalb man oft von der 3-1-Gewichtung spricht.
Hier ist das Rezept für einen UPC-A, dessen erste 11 Ziffern die Daten und dessen 12. Ziffer die Prüfziffer ist:
- Nimm die 11 Datenziffern und nummeriere sie von links.
- Addiere die Ziffern an den ungeraden Positionen (1., 3., 5. usw.) und multipliziere diese Summe mit 3.
- Addiere die Ziffern an den geraden Positionen (2., 4., 6. usw.) und multipliziere diese Summe mit 1.
- Addiere die beiden Ergebnisse zu einer Gesamtsumme.
- Finde, was du addieren musst, um das nächste Vielfache von 10 zu erreichen. Diese Zahl, das Mod-10-Komplement, ist die Prüfziffer.
Kurz gesagt: Die Prüfziffer ist das, was die gesamte gewichtete Summe glatt durch 10 teilbar macht.
Ein durchgerechnetes Beispiel, Schritt für Schritt
Berechnen wir die Prüfziffer für den UPC-A, dessen 11 Datenziffern 03600029145 sind. Von links nummeriert liegen die Ziffern an den Positionen 1 bis 11.
| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Ziffer | 0 | 3 | 6 | 0 | 0 | 0 | 2 | 9 | 1 | 4 | 5 |
Schritt 1 — ungerade Positionen (1, 3, 5, 7, 9, 11): 0 + 6 + 0 + 2 + 1 + 5 = 14. Mal 3: 14 × 3 = 42.
Schritt 2 — gerade Positionen (2, 4, 6, 8, 10): 3 + 0 + 0 + 9 + 4 = 16.
Schritt 3 — Gesamtsumme: 42 + 16 = 58.
Schritt 4 — Mod-10-Komplement: 58 geteilt durch 10 lässt einen Rest von 8. Um das nächste Vielfache von 10 (also 60) zu erreichen, müssen wir 2 addieren. Die Prüfziffer ist also 2.
Der vollständige, gültige UPC-A ist 036000291452. Liest ein Scanner jemals eine andere letzte Ziffer, geht die Rechnung nicht auf, und der Code wird abgelehnt.
Ein sauberes Detail: Ist der Rest bereits 0, ist die Prüfziffer 0, nicht 10. Genau das garantiert "Mod-10": jedes Mal eine einzelne Ziffer.
Welche Fehler erkennt eine Prüfziffer?
Das gewichtete Mod-10-Schema ist bewusst so ausgelegt, dass es die beiden häufigsten menschlichen und maschinellen Ausrutscher erkennt.
Einzelziffernfehler
Wird eine einzelne Ziffer falsch gelesen, etwa aus einer 3 eine 8, verschiebt sich die gewichtete Summe und landet nicht mehr auf einem Vielfachen von 10. Eine Prüfziffer erkennt jeden Einzelziffernfehler.
Vertauschungsfehler
Eine Vertauschung liegt vor, wenn zwei benachbarte Ziffern getauscht werden, etwa 21 statt 12 getippt — ein klassischer Fingerpatzer. Weil benachbarte Positionen unterschiedliche Gewichte tragen (eine wird mit 3, die andere mit 1 multipliziert), ändert ihr Tausch meist die Summe, sodass die meisten Vertauschungen ebenfalls erkannt werden.
Welche Fehler können durchrutschen?
Keine einzelne Prüfziffer ist perfekt, und es ist ehrlich, das zu sagen. Die 3-1-Gewichtung übersieht einen bestimmten, engen Fall: die Vertauschung zweier benachbarter Ziffern, die sich um genau 5 unterscheiden. Vertauscht man etwa eine 1 und eine 6, bleibt die gewichtete Summe unverändert, weil die durch den Tausch entstehende Differenz ein Vielfaches von 10 ist und unter Mod-10 verschwindet.
Diese blinden Flecken sind selten, weshalb eine einzelne Prüfziffer für den Handel genügt. Wenn weit höhere Zuverlässigkeit nötig ist, schichten Systeme stärkere Verfahren obenauf, von längeren Prüfsummen bis zur vollen Fehlerkorrektur in 2D-Codes, beschrieben in QR-Code-Fehlerkorrektur. Eine Prüfziffer ist ein kluger Wächter, kein unüberwindbarer.
Warum ist das für alltägliche Barcodes wichtig?
Jedes Mal, wenn der Scanner einer Kassiererin piept, bedeutet dieser Piepton, dass die Prüfziffer bestanden hat. Ein ausbleibender Piepton oder ein "bitte erneut scannen" bedeutet oft, dass der Leser einen Lesefehler abgefangen hat, bevor dir der falsche Artikel berechnet werden konnte. Dieses winzige Stück Mathematik, das täglich still milliardenfach läuft, ist ein großer Grund, warum man Barcodes vertraut.
Das ganze System, wer diese Nummern vergibt und eindeutig hält, wird weltweit koordiniert, wie wir in GS1-Barcode-Standards erklären, und woher der Handelscode kam, siehst du in der Geschichte des UPC-Barcodes. Wenn du lieber eine vollständige Nachricht als eine Nachschlagenummer codieren möchtest, kannst du einen kostenlosen QR-Code erstellen, dessen Raster seine eigene, weit mächtigere Fehlerkorrektur trägt.
Häufig gestellte Fragen
Was ist eine Prüfziffer?
Es ist eine zusätzliche Ziffer, die mit einer festen Formel aus den anderen Ziffern eines Codes berechnet wird. Ein Scanner berechnet sie aus den gelesenen Ziffern neu und lehnt den Code ab, wenn das Ergebnis nicht übereinstimmt — so werden Lesefehler erkannt.
Wie wird die UPC-Prüfziffer berechnet?
Addiere die Ziffern an ungeraden Positionen und multipliziere mit 3, addiere die Ziffern an geraden Positionen, summiere beide Ergebnisse und nimm dann die Zahl, die nötig ist, um das nächste Vielfache von 10 zu erreichen. Dieses Mod-10-Komplement ist die Prüfziffer.
Was bedeutet die 3-1-Gewichtung?
Abwechselnde Ziffern werden vor dem Summieren mit 3 und der Rest mit 1 multipliziert. Benachbarten Positionen unterschiedliche Gewichte zu geben ist es, was dem Schema erlaubt, die meisten Vertauschungsfehler zu erkennen.
Welche Fehler übersieht eine Prüfziffer?
Das UPC- und EAN-Schema erkennt jeden Einzelziffernfehler und die meisten Vertauschungen, kann aber den Tausch zweier benachbarter Ziffern übersehen, die sich um genau 5 unterscheiden, weil sich diese Änderung unter Mod-10 aufhebt.
Verwenden QR-Codes eine Prüfziffer?
QR-Codes gehen weiter und nutzen eine eingebaute Fehlerkorrektur, die Schäden sowohl erkennen als auch reparieren kann, statt einer einzelnen Prüfziffer, die nur Fehler erkennt.
Erstelle einen QR-Code auf die ehrliche Art 🐾
Für immer kostenlos, kein Tracking, kein Ablauf — direkt in deinem Browser erzeugt.