Luhn-Mod-10-Prüfziffer
Für 7992739871 lautet die Luhn-Prüfziffer 3, die Nummer wird also 79927398713: die Modulo-10-Regel der Zahlungskarten, angewandt auf jede Ziffernfolge, etwa Mitglieds- oder Seriennummern. Sie können auch vollständige Nummern prüfen. 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
- 7992739871
- Berechnungsmodus
- Compute
- Eingabe
- 7992739871
- Prüfziffer
- 3
- Mit Prüfziffer
- 79927398713
Lange Kontocodes, IMEI-Fragmente, Mitgliedsnummern und interne Serien lassen sich leicht vertippen. Der Luhn-Algorithmus — auch Mod-10-Prüfziffernverfahren genannt — hängt eine einzelne Endziffer an, sodass die meisten Einziffer-Ersetzungen und viele benachbarte Vertauschungen die Prüfsumme brechen. Diese Fähigkeit berechnet diese Ziffer für jede reine Ziffern-Nutzlast, die Sie bereits haben, oder prüft eine vollständige Nummer, die eine bereits enthält, und lehnt nicht-numerische Eingaben mit einem klaren Fehler ab, statt Bindestriche oder Buchstaben stillschweigend zu entfernen. Anders als ein reiner Zahlungskarten-Prüfer akzeptiert sie jede Ziffernlänge, sodass Sie Lager-SKUs, Treue-IDs und Etiketten stapelweise mit derselben Regel schützen können, der die Branche auf Karten vertraut.
Was der Luhn-Mod-10-Algorithmus leistet und was er erkennt
Prüfziffern existieren, weil Menschen und Tastaturen vorhersehbare Schäden erzeugen: eine falsche Taste, zwei benachbarte Ziffern vertauscht oder eine Ziffer beim erneuten Tippen eingefügt oder weggelassen. Hans Peter Luhn veröffentlichte ein einfaches Verfahren von rechts nach links, das jede zweite Ziffer verdoppelt, Werte über neun durch Abzug von neun reduziert, das Ergebnis summiert und eine Endziffer so wählt, dass die Summe durch zehn teilbar ist. Diese Konstruktion erkennt alle Einziffer-Fehler und die meisten benachbarten Vertauschungen; deshalb verlassen sich Zahlungsnetze, Telekom-Kennungen und unzählige interne Kontoformate noch Jahrzehnte später darauf.
Dieses Werkzeug implementiert diesen Standarddurchlauf auf jeder reinen Ziffernfolge — keine Hausvariante und kein BIN-Parser eines Kartennetzes. Sie erhalten die Prüfziffer als Ein-Zeichen-Zeichenkette, die vollständige Nummer mit angehängter Ziffer oder ein boolesches Gültigkeitsflag mit der erwarteten Prüfziffer, neu berechnet nur aus der Nutzlast. Im Vergleich zu Damm-Quasigruppen-Prüfziffern ist Luhn der De-facto-Industriestandard für karten- und kontoähnliche Felder; im Vergleich zu Prüfziffern der Barcode-Familie (EAN, UPC, ISBN) ist Luhn nicht an ein GTIN-Einzelhandelslayout gebunden — er gilt für jede Ziffern-Nutzlast Ihrer Wahl.
Wo Luhn-Prüfziffern in realen Systemen passen
Mitgliedschafts- und Treueprogramme erzeugen sequenzielle oder zufällige numerische IDs und brauchen eine Endziffer, die Callcenter-Agenten und mobile Tastaturen nicht stillschweigend verderben. Lager- und Logistikteams drucken Karton- oder Asset-Codes; eine einzige vertippte Ziffer auf einem Handgerät ist üblich, und Luhn erkennt jede Einziffer-Ersetzung. Telekom- und Geräteabläufe, die IMEI oder ähnliche Kennungen bereits in Mod-10-Form dokumentieren, können neu berechnen und prüfen, ohne eine kartenspezifische Oberfläche.
Integrationstests und Datenqualitätsjobs berechnen die erwartete Prüfziffer für jede Zeile eines CSV-Exports neu und markieren Zeilen, in denen die gespeicherte vollständige Nummer nicht mehr übereinstimmt — das fängt menschliche Edits und Off-by-one-Fehler in Generatoren. Produktteams, die bereits einen Karten-Luhn-Validator für den Zahlungs-UX anbieten, können dieses allgemeine Werkzeug trotzdem für interne Kennungen übernehmen, wo derselbe Algorithmus nötig ist, die Eingabe aber kein PAN ist.
Behandeln Sie eine bestandene Luhn-Prüfung nicht als Nachweis von Autorisierung, Eigentum oder dass eine Karte echt ist — sie beweist nur, dass die Ziffernfolge unter diesem Algorithmus wohlgeformt ist, dieselbe Ehrlichkeitsschwelle wie bei jeder Prüfsumme.
Anwendungsfälle
Exportierte ID-Spalten prüfen
Prüfen Sie stapelweise jede numerische ID in einem Partner-CSV oder Lager-Export und stellen Sie Zeilen unter Quarantäne, deren Prüfziffer nicht mehr mit dem neu berechneten Erwartungswert übereinstimmt.
Häufige Fragen
Was ist eine Luhn-Mod-10-Prüfziffer?
Es ist eine einzelne Endziffer, berechnet mit dem Verdopplungsalgorithmus von Hans Peter Luhn, sodass die gewichtete Ziffernsumme der vollständigen Nummer durch zehn teilbar ist und die meisten Einziffer- sowie viele Vertauschungsfehler erkannt werden.
Was passiert mit Buchstaben, Leerzeichen oder Bindestrichen?
Geben Sie nur Ziffern 0-9 an; fehlgeschlagene Validierungsaufgaben werden nicht berechnet.
Welche Tippfehler erkennt die Luhn-Prüfziffer?
Sie erkennt jede einzelne falsche Ziffer und die meisten Vertauschungen zweier benachbarter Ziffern, also die beiden häufigsten Fehler beim Abtippen. Einige Vertauschungen rutschen durch; das ist der Ausgleich dafür, mit bestehenden Modulo-10-Systemen kompatibel zu bleiben.
Bedeutet eine gültige Luhn-Nummer, dass Karte oder Konto echt sind?
Nein. Eine bestandene Prüfung zeigt nur, dass die Ziffernfolge nach der Luhn-Regel korrekt aufgebaut ist. Sie belegt weder Berechtigung noch Inhaberschaft noch die Existenz einer Karte; nutzen Sie sie als Filter gegen Tippfehler.
Wie berechnet man die Luhn-Prüfziffer von Hand?
Von rechts beginnend wird jede zweite Ziffer verdoppelt, von Werten über neun wird neun abgezogen, dann wird alles addiert. Die Prüfziffer ist die Ziffer, die die Summe durch zehn teilbar macht; für 7992739871 ist das die 3.
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/luhn \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"7992739871"}'const res = await fetch("https://api.kit.forhosting.com/enc/luhn", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "7992739871"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/luhn",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "7992739871"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/luhn", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"7992739871"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"7992739871"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/luhn", 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": "7992739871"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.luhn",
"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
Führen Sie sie kostenlos im Browser aus oder rufen Sie die KIT-API zum veröffentlichten Preis auf; beide Wege nutzen dieselbe reine Arithmetik, ohne Netz und ohne gespeicherte Nummern.
Was der Luhn-Mod-10-Algorithmus leistet und was er erkennt
Die Antwort benennt den Algorithmus stets als luhn, damit nachgelagerte Systeme festhalten können, welches Schema den Wert geschützt hat. Diese Abwägungen helfen, das richtige Schema zu wählen: nutzen Sie Luhn, wenn Interoperabilität mit bestehenden Mod-10-Systemen wichtiger ist, als jedes letzte Vertauschungspaar zu fangen.
So berechnen Sie eine Prüfziffer oder prüfen eine vollständige Nummer
Senden Sie ein number-Feld, das nur die Zeichen 0 bis 9 enthält. Der Modus validate erwartet eine vollständige Nummer mit mindestens zwei Ziffern (eine oder mehr Nutzlastziffern plus die abschließende Prüfziffer). Leere Zeichenketten, fehlendes number und ungültige mode-Werte scheitern vor jedem Verdoppeln und werden nicht berechnet. Bevorzugen Sie compute, wenn Sie neue IDs erzeugen; bevorzugen Sie validate, wenn Sie eine ID von einem Nutzer, einer Partnerdatei oder einem gescannten Etikett erhalten und vor der Datensatzsuche ein boolesches Tor brauchen. Leerzeichen, Bindestriche, Buchstaben, Dezimalpunkte und wissenschaftliche Notation werden als nicht-numerische Eingabe mit invalid_input abgelehnt, damit Sie nie stillschweigend einen abgeschnittenen Wert annehmen. Der Modus compute ist Standard: die Engine durchläuft die Nutzlast von rechts, als säße am Ende eine Prüfziffer, liefert check_digit als Ein-Zeichen-Zeichenkette und with_check als Nutzlast plus diese Ziffer, damit Sie eine einzige Zeichenkette speichern oder drucken können. Die Antwort meldet valid true, wenn die vollständige gewichtete Summe durch zehn teilbar ist, und enthält stets die abschließende check_digit, die nur aus der Nutzlast neu berechnete expected_check_digit und die payload-Teilzeichenkette ohne die letzte Ziffer. Diese Form erleichtert es, in einem Formular «Sie haben X getippt, erwartet Y» ohne zweiten Aufruf anzuzeigen. Weil der Pfad reines Parse ohne Uhr, Zufallsquelle oder Netz ist, liefert dieselbe Eingabe immer dasselbe JSON im kostenlosen Browser-Tool und in der API. Für $0.002 pro erfolgreicher Anfrage können Sie Massenimporte, Onboarding-Formulare und Etikettendrucker schützen, ohne eine individuelle Stufe zu verhandeln.
Integrationsbeispiele
Mitglieds- oder Konto-IDs erzeugen
Erzeugen Sie eine sequenzielle Nutzlast, rufen Sie den Modus compute auf und speichern Sie with_check, damit jede neue ID eine Luhn-Endziffer trägt, bevor sie auf Karten gedruckt oder per E-Mail an Mitglieder gesendet wird.
Getippte oder gescannte Codes beim Eingang prüfen
Wenn ein Nutzer oder Scanner eine vollständige Nummer sendet, rufen Sie den Modus validate auf und sperren Sie die Suche, wenn valid false ist; zeigen Sie expected_check_digit, um einen einzelnen Tippfehler zu korrigieren.
Technische Fragen
Wie berechne ich eine Luhn-Prüfziffer mit dieser API?
Senden Sie POST mit number als Nutzlastziffern und mode compute (oder lassen Sie mode weg). Die Antwort enthält check_digit und with_check (Nutzlast plus Prüfziffer).
Wie prüfe ich eine Nummer, die schon eine Prüfziffer hat?
Senden Sie POST mit der vollständigen Ziffernfolge und mode validate. Die Antwort enthält valid, check_digit, expected_check_digit und payload ohne die letzte Ziffer.
Ist das Luhn-Prüfziffern-Werkzeug kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zum veröffentlichten Grundpreis $0.002; ungültige Eingabe wird nie berechnet.