Barcode-Prüfziffer für EAN-13, UPC-A und Code 128 berechnen
Die Prüfziffer eines Barcodes ist eine kleine arithmetische Sicherung, mit der Scanner und Katalogsysteme Tippfehler erkennen.
Im Browser ausführen – kostenlos
Geben Sie die numerischen Nutzdaten ein, wählen Sie EAN-13, UPC-A oder Code 128 Mod-103, und dieser Rechner liefert den vorgeschriebenen Wert. Er prüft vor der Berechnung die Länge, bewahrt führende Nullen und arbeitet deterministisch ohne Registerabfrage. Nutzen Sie ihn beim Vorbereiten von Produktdaten, Etiketten, Testfällen oder automatisierten Importabläufen.
Geben Sie die Nutzdaten ein, nicht den vollständigen Barcode
Beginnen Sie mit den Ziffern, die die Daten tragen, und lassen Sie die zu berechnende Prüfziffer weg. Für EAN-13 geben Sie genau zwölf Nutzdatenziffern ein; das Ergebnis liefert die dreizehnte Ziffer und zusätzlich den vollständigen dreizehnstelligen Barcode. Für UPC-A geben Sie genau elf Ziffern ein und erhalten die zwölfte. Übermitteln Sie den Wert bei API-Aufrufen als Text, damit eine führende Null Bestandteil des Barcodes bleibt. Der Rechner weist Leerzeichen, Satzzeichen, Vorzeichen, Dezimalpunkte und alle anderen nicht numerischen Zeichen zurück, denn eine stillschweigende Bereinigung könnte einen Übertragungsfehler verbergen. Auch eine zur gewählten Symbologie unpassende Ziffernanzahl wird abgelehnt. Dieser ausdrückliche Vertrag hilft, wenn eine Tabellenkalkulationsspalte oder ein Produktfeed mehrere Kennungsformate enthält: Wählen Sie den vorgesehenen Standard, statt ihn aus der Eingabe zu erraten. Die Berechnung bestätigt nur die mathematische Stimmigkeit. Sie vergibt kein Unternehmenspräfix, bestätigt keine Inhaberschaft und beweist nicht, dass die Nummer für ein reales Produkt registriert ist.
So werden EAN-13- und UPC-A-Prüfziffern berechnet
EAN-13 und UPC-A verwenden dasselbe Gewichtungsschema modulo zehn. Von der äußersten rechten Nutzdatenziffer nach links multipliziert der Rechner abwechselnde Stellen mit drei und eins, addiert die Produkte und wählt die Ziffer, die die Summe auf das nächste Vielfache von zehn ergänzt. Ist die Summe bereits durch zehn teilbar, lautet die Prüfziffer null. Die Bezeichnungen bleiben wichtig, weil unterschiedliche Längen vorgeschrieben sind: EAN-13 besitzt zwölf Nutzdatenziffern vor der Prüfziffer, UPC-A dagegen elf. Eine korrekte Prüfziffer erkennt jeden Austausch einer einzelnen Ziffer und viele häufige Vertauschungen. Sie ist deshalb bei Dateneingabe und Scans hilfreich, aber keine kryptografische Signatur. Zwei oder mehr abgestimmte Änderungen können gelegentlich dasselbe Ergebnis bewahren. Verwenden Sie die Prüfung als schnelle strukturelle Sicherung und wenden Sie anschließend weitere Geschäftsregeln Ihres Katalogs an. Da ausschließlich festgelegte Ganzzahlarithmetik verwendet wird, erzeugen dieselbe Eingabe und Symbologie im Browser und über die API stets dasselbe Ergebnis.
Verarbeitung numerischer Code-128-Mod-103-Daten
Für Code 128 Mod-103 nutzt diese Fähigkeit Code Set C, die kompakte Darstellung für paarweise gruppierte numerische Daten. Geben Sie eine gerade Anzahl von zwei bis achtundneunzig Ziffern ein. Jedes Ziffernpaar wird zu einem Code-128-Codewort mit einem Wert zwischen null und neunundneunzig. Die Prüfsumme beginnt mit dem Start-C-Wert 105 und addiert jedes Datencodewort, multipliziert mit seiner bei eins beginnenden Position. Der Rest dieser Summe modulo 103 ist der zurückgegebene Prüfwert. In der JSON-Antwort kann er aus einem, zwei oder drei Dezimalzeichen bestehen, stellt aber ein einziges Code-128-Prüfcodewort dar und keine druckbaren Ziffern, die an den Ausgangstext angehängt werden. Ein Barcode-Renderer muss dieses Codewort codieren und anschließend das Stoppmuster ergänzen. Der Rechner wählt nicht zwischen Code Set A, B und C und optimiert keine Wechsel. Die Beschränkung auf Ziffern macht die Codierungsannahme eindeutig und reproduzierbar. Nutzen Sie für Buchstaben, Satzzeichen oder eine einzelne Schlussziffer mit notwendigem Codewechsel einen vollständigen Encoder.
Anwendungsfälle
Produktetiketten vorbereiten
Berechnen Sie die letzte EAN-13- oder UPC-A-Ziffer, bevor Sie freigegebene Produktnummern an Etiketten- oder Barcode-Software übergeben.
Importabläufe testen
Erzeugen Sie erwartete Prüfwerte für Produktfeed-Tests und weisen Sie Datensätze mit einer zum Standard unpassenden Länge zurück.
Numerische Code-128-Testfälle erstellen
Ermitteln Sie das Mod-103-Prüfcodewort für Code Set C beim Testen von Scannern, Encodern, Lageretiketten oder Integrationen.
Häufige Fragen
Soll ich die vorhandene Prüfziffer eingeben?
Nein. Geben Sie zwölf Ziffern für EAN-13, elf für UPC-A oder die geradzahlige numerische Code-128-Nutzlast ein.
Warum muss die Barcodenummer als Text gesendet werden?
Text bewahrt führende Nullen genau. Ein numerischer JSON-Wert kann sie verlieren und dadurch die vorgeschriebene Länge verändern.
Beweist ein korrektes Ergebnis die Produktregistrierung?
Nein. Es bestätigt nur die gewählte Rechenregel; ein Produkt- oder Unternehmensregister wird nicht abgefragt.
Warum verlangt Code 128 eine gerade Ziffernanzahl?
Diese Fähigkeit nutzt Code Set C, das Zahlen paarweise codiert. Gemischte oder ungerade Inhalte benötigen einen vollständigen Encoder.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Dieselbe deterministische Berechnung ist im Browser auch kostenlos möglich.
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/web/barcode-check-digit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"400638133393","symbology":"ean13"}'const res = await fetch("https://api.kit.forhosting.com/web/barcode-check-digit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "400638133393",
"symbology": "ean13"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/barcode-check-digit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "400638133393",
"symbology": "ean13"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/barcode-check-digit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"400638133393","symbology":"ean13"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"400638133393","symbology":"ean13"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/barcode-check-digit", 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": "400638133393",
"symbology": "ean13"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.barcode_check_digit",
"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.
Limits
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |