UPC-A-Prüfziffer
Die Produktnummer 01234567890 erhält die Prüfziffer 5, der vollständige UPC-A lautet also 012345678905. Fügen Sie einen zwölfstelligen Code aus einer Partnerdatei oder vom Scanner ein, um zu sehen, ob die letzte Ziffer stimmt. 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
- 01234567890
- Berechnungsmodus
- Compute
- Eingabe
- 01234567890
- Prüfziffer
- 5
- Mit Prüfziffer
- 012345678905
Handelsproduktnummern in Nordamerika enden fast immer mit einer UPC-A-Prüfziffer: elf Nutzlastziffern, die Hersteller und Artikel kennzeichnen, plus eine Schlussziffer, die belegt, dass die gesamte Zeichenkette ohne Einzelziffernfehler getippt oder gescannt wurde. Diese Fähigkeit setzt die Standardregel GTIN-12 mod-10 um, die auf jedem zwölfstelligen UPC-A gilt: ungerade Positionen von links werden mit drei gewichtet, gerade mit eins, und die Prüfziffer ist der Betrag bis zum nächsten Vielfachen von zehn. Nutzen Sie den Modus compute, wenn Sie nur die elfstellige Produktnummer haben und die Ziffer für Etikett, Datenbank oder Barcode-Generator brauchen; nutzen Sie den Modus validate, wenn Partner, Scanner oder Formular einen vollständigen zwölfstelligen Code senden und Sie ein klares valid-Flag sowie die erwartete Ziffer für Fehlermeldungen brauchen.
So wird die UPC-A-Prüfziffer berechnet
Ein UPC-A-Code hat immer zwölf Ziffern. Die ersten elf bilden die Produktnummer (oft ein GS1-Firmenpräfix plus Artikelreferenz); die zwölfte ist die Prüfziffer. Zur Berechnung gehen Sie die elf Nutzlastziffern von links nach rechts mit 1-basierten Positionen durch: multiplizieren Sie jede Ziffer an ungerader Position mit drei und jede an gerader Position mit eins, addieren Sie diese Produkte und nehmen Sie die Prüfziffer als (10 minus diese Summe modulo 10) modulo 10.
Gleichwertig muss die volle zwölfstellige Zeichenkette einschließlich Prüfziffer unter denselben Positiongewichten eine gewichtete Summe haben, die ein Vielfaches von zehn ist. Das ist dieselbe Familie von mod-10-Regeln wie bei GTIN-8, GTIN-12, GTIN-13 und GTIN-14; UPC-A ist speziell die zwölfstellige Form, die auf US- und kanadischen Verpackungen üblich ist. Der Algorithmus ist deterministisch und lokal: kein Katalogabruf, kein Netzwerkanruf und keine Uhr.
Gegenüber Multi-Symbologie-Barcode-Validierern ist die Suchintention hier eng: wer den UPC-A-Prüfziffer-Rechner für elfstellige Nutzlasten braucht, nicht einen allgemeinen EAN- oder ISBN-Checker.
Wo UPC-A-Prüfziffern in reale Abläufe passen
Katalog- und PIM-Teams erhalten elfstellige interne Produktnummern und müssen die offizielle UPC-A-Prüfziffer anhängen, bevor sie Regaletiketten drucken oder auf Marktplätzen veröffentlichen, die ungültige GTINs ablehnen. Lager-Scanner und Wareneingangs-Apps prüfen zwölfstellige Codes an der Rampe, damit eine einzige Transposition kein Phantom-SKU und keine Bestandsabweichung erzeugt. Datenqualitätsjobs laufen über jede UPC-Spalte in einem CSV-Export, rufen den Modus validate auf und stellen Zeilen unter Quarantäne, in denen valid false ist — sie fangen menschliche Edits und Generator-Bugs ab.
Behandeln Sie eine bestandene UPC-A-Prüfung nicht als Nachweis von Markeneigentum oder GS1-Registrierung; sie belegt nur, dass die mod-10-Ziffer unter den Standardgewichten zur Nutzlast passt.
Anwendungsfälle
UPC-Spalten in Katalogexporten prüfen
Validieren Sie stapelweise jeden zwölfstelligen UPC in einem PIM- oder Partner-CSV und stellen Sie Zeilen unter Quarantäne, deren Prüfziffer nicht mehr dem neu berechneten Erwartungswert entspricht.
Häufige Fragen
Was ist eine UPC-A-Prüfziffer?
Sie ist die zwölfte Ziffer eines UPC-A-Codes, berechnet mit einer gewichteten mod-10-Summe, damit Einzelziffernfehler beim Tippen oder Scannen meist erkannt werden, bevor der Code gespeichert oder gedruckt wird.
Wie wird die UPC-A-Prüfziffer berechnet?
Von links gelesen werden die Ziffern an ungeraden Stellen mit 3 und die an geraden Stellen mit 1 multipliziert, dann wird alles addiert. Die Prüfziffer ergänzt diese Summe zum nächsten Vielfachen von zehn, oder sie ist 0, wenn die Summe schon eines ist.
Wie prüfe ich einen vollständigen zwölfstelligen UPC?
Wählen Sie die Prüfung und geben Sie alle zwölf Ziffern ein. Sie erhalten eine klare Aussage, ob der Code gültig ist, und zusätzlich die erwartete Prüfziffer, die sich gut für eine Fehlermeldung eignet.
Ist ein UPC-A dasselbe wie ein EAN-13?
Beide gehören zur selben Familie von Prüfregeln, doch UPC-A ist die zwölfstellige Form, auch GTIN-12 genannt, die auf Verpackungen in den USA und Kanada üblich ist. Dieses Werkzeug behandelt nur diese Form, weder EAN-13 noch ISBN.
Darf ich einen UPC mit Leerzeichen oder Bindestrichen eingeben?
Nein. Erlaubt sind nur die Ziffern 0 bis 9, und nichts wird stillschweigend entfernt, damit kein halb bereinigter Code gespeichert wird. Bei falscher Länge nennt die Meldung, ob elf oder zwölf Ziffern erwartet werden.
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/upc-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"01234567890"}'const res = await fetch("https://api.kit.forhosting.com/enc/upc-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "01234567890"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/upc-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "01234567890"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/upc-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"01234567890"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"01234567890"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/upc-check", 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": "01234567890"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.upc_check",
"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
Nichtnumerische Eingaben und falsche Längen scheitern mit invalid_input statt stiller Bereinigung, sodass Sie nie einen halb bereinigten Code speichern. Dieselbe reine Arithmetik läuft kostenlos im Browser und zum veröffentlichten API-Preis.
Eingabevertrag, Modi und Fehlerverhalten
Senden Sie ein number-Feld, das nur die Zeichen null bis neun enthält. Falsche Länge ist ein expliziter Fehler, der Modus und gesendete Länge nennt — elf für compute, zwölf für validate —, damit Client-Formulare «elf Ziffern nötig» anzeigen können, ohne zu raten. Leere Strings, fehlendes number und ungültige mode-Werte scheitern vor jeder gewichteten Summe und werden nicht berechnet. Bevorzugen Sie compute, wenn Sie Produktnummern erzeugen oder vervollständigen; bevorzugen Sie validate, wenn Sie eine Suche oder einen Import an einen vollständigen Code aus Benutzer- oder Partnerdatei knüpfen. Leerzeichen, Bindestriche, Buchstaben und Dezimalpunkte werden als nichtnumerische Eingabe mit invalid_input abgelehnt, damit ein still gestrippter Wert nie den Speicher erreicht. Der Modus compute ist der Standard: die Engine verlangt genau elf Ziffern, liefert check_digit als Ein-Zeichen-String und with_check als den zwölfstelligen UPC-A, den Sie drucken oder speichern können. Der Modus validate verlangt genau zwölf Ziffern; die Antwort meldet valid true, wenn die Schlussziffer mit dem neu berechneten expected_check_digit übereinstimmt, und enthält immer payload (die ersten elf Ziffern), check_digit, expected_check_digit und length zwölf. Alias-Schlüssel wie digits, upc und code werden für dasselbe Nutzlastfeld akzeptiert, sodass Integrationen, die bereits «upc» sprechen, nicht umbenennen müssen. Weil der Pfad reines Parse ohne Uhr, Zufallsquelle oder Netzwerk ist, liefert derselbe JSON-Body auf dem kostenlosen Browser-Tool und auf der API zu $0.002 pro erfolgreicher Anfrage immer dasselbe JSON-Ergebnis.
Wo UPC-A-Prüfziffern in reale Abläufe passen
E-Commerce-Onboarding-Formulare können expected_check_digit neu berechnen und eine freundliche Korrektur zeigen, wenn ein Verkäufer einen Code mit vertippter letzter Ziffer einfügt. In jedem Ablauf ist der Vertrag gleich: nur Ziffern, feste Länge pro Modus, strukturiertes JSON, das Sie mit Goldens testen können, identisches Verhalten von Gratis-Browser und Prepaid-API, und ehrliches invalid_input, wenn die Zeichenkette keine reine Ziffernfolge der richtigen Länge ist.
Integrationsbeispiele
11-stellige Produktnummer für Etiketten vervollständigen
Rufen Sie den Modus compute mit der elfstelligen Nutzlast auf, speichern Sie with_check und speisen Sie den zwölfstelligen UPC-A in Ihren Barcode-Drucker oder Marketplace-Eintrag ein.
Gescannte oder getippte UPC-A bei der Eingabe prüfen
Wenn Scanner oder Formular zwölf Ziffern senden, rufen Sie den Modus validate auf und sperren Sie die Suche, wenn valid false ist; zeigen Sie expected_check_digit, um einen Einzelziffernfehler zu korrigieren.
Technische Fragen
Wie berechne ich eine UPC-A-Prüfziffer mit dieser API?
POST mit number auf genau elf Ziffern und mode compute (oder mode weglassen). Die Antwort enthält check_digit und with_check (den vollständigen zwölfstelligen UPC-A).
Wie prüfe ich einen vollständigen zwölfstelligen UPC-A?
POST mit der zwölfstelligen Zeichenkette und mode validate. Die Antwort enthält valid, check_digit, expected_check_digit und payload (Ziffern ohne die letzte).
Was passiert bei falscher Länge, Buchstaben oder Bindestrichen?
Nichtnumerische Eingaben und andere Längen als elf (compute) oder zwölf (validate) werden mit invalid_input abgelehnt. Fehlgeschlagene Validierungsaufgaben werden nicht berechnet.
Ist das UPC-A-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.