GTIN-Prüfziffer
Geben Sie die führenden Ziffern 629104150021 ein und erhalten Sie die Prüfziffer 3, die GTIN-13 lautet also 6291041500213. So fangen Sie einen vertippten Produktcode ab, bevor er auf ein Etikett, zu einem Händler oder auf einen Marktplatz gelangt. 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
- Ziffern
- 629104150021
- Prüfziffer
- 3
- GTIN
- 6291041500213
- Länge der Nutzdaten
- 12
- GTIN-Länge
- 13
Eine Global Trade Item Number (GTIN) ist der GS1-Identifikator, der als EAN-, UPC- oder ITF-Strichcode auf Verbraucherpacks, Innenpacks und logistischen Einheiten gedruckt wird. Das letzte Zeichen ist eine Prüfziffer, die aus den führenden Ziffern berechnet wird, damit ein Tippfehler oder eine Scannervertauschung in der Regel abgelehnt wird, bevor der Code gespeichert, gedruckt oder an einen Marktplatz gesendet wird. Dieser GTIN-Prüfzifferrechner wendet die offizielle GS1-Modulo-10-Regel an: eine gewichtete Wechselsumme von rechts der Nutzlast, wobei die rechteste führende Ziffer mit drei multipliziert wird und die Gewichte eins und drei nach links wechseln. Die Prüfziffer ist der Wert, der diese Summe zu einem Vielfachen von zehn macht. Senden Sie die führenden Ziffern einer GTIN-8, GTIN-12, GTIN-13 oder GTIN-14 — ohne die Prüfziffer — und die Antwort liefert die Prüfziffer, die fertige GTIN, die gewichtete Summe und die Familie, wenn die Nutzlastlänge standard ist.
So wird die GS1-Prüfziffer einer GTIN berechnet
Eine GTIN endet immer mit einer einzelnen Prüfziffer, die die Marke nicht wählt: sie ist eine reine Funktion der führenden Ziffern davor. GS1 verwendet eine Modulo-10-Regel für GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) und GTIN-14, deshalb kann dieser Rechner jede dieser Familien allein aus der Nutzlast vervollständigen. Beginnen Sie rechts bei den führenden Ziffern.
Multiplizieren Sie die rechteste Nutzlastziffer mit drei, die nächste nach links mit eins, die nächste mit drei, und wechseln Sie weiter, bis jede führende Ziffer ein Gewicht hat. Addieren Sie die gewichteten Produkte zur gewichteten Summe. Die Prüfziffer ist zehn minus diese Summe modulo zehn, mit einem zweiten Modulo zehn, damit Rest null die Ziffer null und nicht zehn ergibt.
Nach dem Anhängen der Prüfziffer ergibt dasselbe Drei-Eins-Muster von rechts nach links auf den vollen Code ein Vielfaches von zehn — das ist der Annahme-Test, den ein Scanner oder ein Lagersystem anwenden soll. Das ist nicht der Luhn-Algorithmus von Zahlungskarten: Luhn verdoppelt jede zweite Ziffer von rechts und spaltet Produkte über neun, während GS1 ein striktes Drei-oder-Eins-Gewicht nutzt und nie spaltet. Die Berechnung ist lokal und deterministisch: kein GS1-Registeraufruf, kein Netz, keine Uhr.
Typische Nutzlastlängen sind sieben Ziffern für GTIN-8, elf für GTIN-12, zwölf für GTIN-13 und dreizehn für GTIN-14, und diese Längen werden im Feld family gekennzeichnet, wenn sie passen.
Eingabevertrag, Antwortform und Fehlerverhalten
Eine leere Zeichenkette oder ein fehlendes Feld scheitert ebenfalls, bevor eine gewichtete Summe läuft. Ist die Nutzlastlänge sieben, elf, zwölf oder dreizehn, ist family GTIN-8, GTIN-12, GTIN-13 bzw. GTIN-14; andere Längen lassen family weg, statt einen Namen zu erfinden.
Das Standardbeispiel 629104150021 ist ein zwölfstelliger GTIN-13-Körper, dessen Prüfziffer drei ist, sodass gtin zu 6291041500213 wird. Gescheiterte Validierung wird nicht abgerechnet. Halten Sie Anfragen bei einer kurzen Ziffernkette; dieser Endpunkt berechnet eine Prüfziffer, er sucht keine Produkte und zeichnet keine Balken.
Wo ein GTIN-Prüfzifferrechner seinen Nutzen bringt
Katalog- und PIM-Teams erhalten Firmenpräfix-plus-Artikelreferenz-Ketten aus internen SKU-Systemen und müssen die offizielle GS1-Prüfziffer anhängen, bevor der Code an einen Händler, einen Marktplatz oder ein Versandetikett geht. Einzelhandels-Wareneingangs-Apps berechnen die Prüfziffer aus den führenden Ziffern einer gescannten GTIN neu, damit eine einzige Vertauschung kein Phantom-SKU und keine Bestandsabweichung zum Lieferavis erzeugt. E-Commerce-Onboarding-Formulare können die erwartete Prüfziffer neben einem Einfügefeld zeigen und das Absenden sperren, wenn das Schlusszeichen, das der Verkäufer tippte, nicht passt — günstiger als eine spätere Anzeigenablehnung.
Datenqualitätsjobs laufen über jede GTIN-Spalte in einem Katalogexport, entfernen das letzte Zeichen, rechnen neu und stellen Zeilen unter Quarantäne, deren gespeicherte Prüfziffer nicht mehr passt — sie fangen menschliche Edits und Off-by-one-Fehler in Generatoren, die die falsche Familienlänge auffüllten. Gegenüber einem nur-GTIN-14-Validator oder einem Multi-Symbologie-Barcodeprüfer ist die Suchintention hier die generische Phrase, die Menschen tippen: eine GTIN-Prüfziffer aus führenden Ziffern, kein vierzehnstelliger Logistikmodus und kein ISBN-spezifischer Pfad.
Behandeln Sie eine bestandene Prüfziffer nicht als Nachweis von Markeninhaberschaft oder GS1-Registrierung; sie belegt nur, dass die mod-10-Ziffer zur Nutzlast unter den Standard-GS1-Gewichten passt.
Anwendungsfälle
Vertippte GTINs am Wareneingang oder Onboarding fangen
Berechnen Sie die Prüfziffer aus den führenden Ziffern einer gescannten oder eingefügten GTIN neu und sperren Sie Einlagerung oder Angebot, wenn das Schlusszeichen nicht passt.
GTIN-Spalten in Katalogen und EDI-Exporten prüfen
Entfernen Sie das letzte Zeichen jeder gespeicherten GTIN, rechnen Sie mit diesem Rechner neu und stellen Sie Zeilen unter Quarantäne, deren Prüfziffer nicht mehr zur GS1-gewichteten Summe passt.
Häufige Fragen
Was ist eine GTIN-Prüfziffer?
Es ist die letzte Ziffer einer Global Trade Item Number, berechnet mit einer GS1-Modulo-10-Wechselsumme, damit Einziffernfehler beim Tippen und Scannen in der Regel erkannt werden, bevor der Code gespeichert oder gedruckt wird.
Welche GTIN-Längen werden unterstützt?
Dieselbe GS1-Regel deckt GTIN-8, GTIN-12, GTIN-13 und GTIN-14 ab. Ist die Nutzlastlänge 7, 11, 12 oder 13, benennt das Feld family diesen GTIN-Typ.
Was geschieht, wenn die Eingabe Buchstaben, Leerzeichen oder Bindestriche enthält?
Die Engine streift Satzzeichen nie still, sodass ein Bindestrich-Einfügen kein falscher Produktcode werden kann. Gescheiterte Validierung wird nicht abgerechnet.
Wie prüfe ich eine GTIN, die ich bereits habe?
Entfernen Sie die letzte Ziffer, geben Sie den Rest ein und vergleichen Sie die berechnete Prüfziffer mit der gedruckten. Weichen sie ab, wurde der Code vertippt oder falsch gelesen. Ein korrekter Code ergibt mit den Gewichten drei und eins von rechts eine durch zehn teilbare Summe.
Ist das dasselbe wie die Luhn-Prüfung bei Kreditkarten?
Nein. Luhn verdoppelt jede zweite Ziffer von rechts und zerlegt Produkte über neun. GS1 gewichtet dagegen streng abwechselnd mit drei und eins und zerlegt nie. Beide Verfahren liefern für dieselben Ziffern oft unterschiedliche Prüfziffern.
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/fin/gtin-check-digit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"digits":"629104150021"}'const res = await fetch("https://api.kit.forhosting.com/fin/gtin-check-digit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"digits": "629104150021"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/gtin-check-digit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"digits": "629104150021"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/gtin-check-digit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"digits":"629104150021"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"digits":"629104150021"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/gtin-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
{
"digits": "629104150021"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.gtin_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
max_digits | 32 |
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
Jedes Nichtziffernzeichen scheitert mit invalid_input statt stiller Bereinigung, sodass ein Bindestrich-Einfügen nie zu einem falschen Produktcode wird. Dieselbe reine Arithmetik treibt das kostenlose Browser-Werkzeug und den Prepaid-API-Pfad.
Eingabevertrag, Antwortform und Fehlerverhalten
Senden Sie per POST einen JSON-Body mit digits gleich nur den führenden GTIN-Zeichen — fügen Sie die Prüfziffer, die Sie berechnen wollen, nicht bei. Das Feld muss eine Zeichenkette aus den Zeichen null bis neun sein; Alias-Schlüssel wie number, text, gtin, code und payload werden akzeptiert, damit Integrationen, die diese Namen schon sprechen, nicht umbenennen müssen. Führende Nullen zählen (ein UPC-A-Körper beginnt oft mit null), senden Sie daher eine JSON-Zeichenkette statt einer JSON-Zahl, wenn die Nutzlast mit null beginnen kann. Leerzeichen, Bindestriche, Buchstaben und Satzzeichen sind Nichtziffernzeichen und scheitern mit invalid_input unter Nennung des Feldes digits, statt still gestrippt zu werden. Bei Erfolg spiegelt der Body digits, liefert check_digit als Ein-Zeichen-String von null bis neun, liefert gtin als den fertigen Identifikator (Nutzlast plus Prüfziffer), meldet payload_length und gtin_length, enthält weighted_sum für Prüfspuren und setzt algorithm auf gs1-mod-10. Weil der Pfad reines Parse ohne Uhr, Zufall oder Netz ist, liefert derselbe JSON-Body auf dem kostenlosen Browser-Werkzeug und der API zu $0.002 pro erfolgreicher Anfrage immer dasselbe JSON-Ergebnis.
Wo ein GTIN-Prüfzifferrechner seinen Nutzen bringt
Druckereien, die EAN-13-, UPC-A- oder ITF-14-Symbole ausgeben, pinnen gtin in Tests, damit die Barcode-Bibliothek und diese API nie auseinanderlaufen.
Integrationsbeispiele
Eine GTIN für Etiketten und Angebote vervollständigen
Senden Sie die führenden Nutzlastziffern, speichern Sie check_digit und gtin und speisen Sie den fertigen Identifikator in einen EAN-13-, UPC-A- oder ITF-14-Etikettendrucker oder ein Marktplatz-Angebotsformular.
Technische Fragen
Wie berechne ich eine GTIN-Prüfziffer mit dieser API?
Senden Sie POST mit digits gleich nur der führenden Nutzlast (ohne Prüfziffer). Typische Längen sind 7, 11, 12 oder 13. Die Antwort enthält check_digit und gtin (den fertigen Identifikator).
Ist der GTIN-Prüfzifferrechner kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen das Prepaid-KIT-Guthaben zum veröffentlichten Grundpreis $0.002; ungültige Eingabe wird nie berechnet.