Luhn-algoritme-checker
Luhn valideert alleen het controlecijfer, niet of de kaart actief is.
Het Luhn-algoritme (ISO/IEC 7812-1) is de controlesom die creditcardnummers, IMEI-apparaatidentificatoren, Canadese SIN’s, Amerikaanse NPI’s en een handvol andere nummersystemen beschermt tegen eencijferige tikfouten. Plak een reeks cijfers – spaties en streepjes worden genegeerd – en de checker laat zien of het nummer geldig is en doorloopt de verdubbelings- en optelstappen, zodat u het desgewenst met de hand kunt controleren.
Hoe de Luhn-check wordt berekend
-
1
Niet-cijfers verwijderen
Spaties, streepjes en punten worden verwijderd. Alleen de cijfers 0–9 tellen mee.
-
2
Verdubbelt elk tweede cijfer van rechts naar links
Vanaf de voorlaatste positie wordt elke tweede cijfer verdubbeld.
-
3
Tel de cijfers van elke verdubbelde waarde op
Als verdubbelen 14 oplevert, tel dan 1 + 4 = 5 op. Dat komt overeen met 9 aftrekken van elke verdubbeling ≥ 10.
-
4
Tel alle resulterende waarden op
Tel de verdubbelde en gereduceerde cijfers op bij de onaangeroerde cijfers.
-
5
Controleer of het getal deelbaar is door 10
Als het totaal met 0 eindigt, wordt het getal geaccepteerd; anders is het ongeldig.
Werkelijk voorbeeld
Controleer 4539 1488 0343 6467:
| Pos (rechts → links) | Cijfer | Verdubbeld? | Waarde |
|---|---|---|---|
| 1 | 7 | nee | 7 |
| 2 | 6 | ja | 12 → 3 |
| 3 | 4 | nee | 4 |
| 4 | 6 | ja | 12 → 3 |
| 5 | 3 | nee | 3 |
| 6 | 4 | ja | 8 |
| 7 | 3 | nee | 3 |
| 8 | 0 | ja | 0 |
| 9 | 8 | nee | 8 |
| 10 | 8 | ja | 16 → 7 |
| 11 | 4 | nee | 4 |
| 12 | 1 | ja | 2 |
| 13 | 9 | nee | 9 |
| 14 | 3 | ja | 6 |
| 15 | 5 | nee | 5 |
| 16 | 4 | ja | 8 |
Totaal: 80. 80 mod 10 = 0 → geldig.
Waar Luhn wordt gebruikt
| Systeem | Lengte | Beschermd volgens de Luhn-regeling? |
|---|---|---|
| Visa, Mastercard, Discover | 13–19 cijfers | ja |
| American Express | 15 cijfers | ja |
| IMEI (ID van een GSM-apparaat) | 15 cijfers | ja |
| Canadese sociale verzekering | 9 cijfers | ja |
| Amerikaanse nationale provideridentifier | 10 cijfers | ja |
| Israëlische identiteitskaart (Teudat Zehut) | 9 cijfers | ja |
| ISBN-13 | 13 cijfers | nee (gebruikt mod 10 met gewichten 1 en 3) |
Wat Luhn detecteert en mist
- Detecteert: alle eencijferige fouten en de meeste (maar niet alle) verwisselingen van aangrenzende cijfers.
- Mist: de verwisseling 09 ↔ 90 en enkele vergelijkbare paren. Het is een controle op tikfouten, geen beveiligingscontrole.
- Geen beveiligingsfunctie. Een Luhn-geldig nummer is eenvoudig te genereren. PAN-validatie bij betaalgateways gebruikt uitgeverbereiken, CVV, AVS en 3-D Secure, niet alleen Luhn.
Veelgestelde vragen
Nee. Luhn controleert alleen of het nummer wiskundig correct is gevormd; het geeft geen informatie over of de kaart is uitgegeven, of er geld op zit, of of de kaart is gestolen. De echte validatie vindt plaats bij de uitgever tijdens de autorisatie.
Ja – de laatste cijfer is de controlecijfer en kan altijd zo worden gekozen dat de som delbaar is met 10. Zo werken IMEI-generatoren en testkaartnummers.
Het detecteert elke substitutie van één cijfer en de meeste transposities tussen opeenvolgende cijfers, maar enkele paren (zoals 09 ↔ 90) blijven het controlebedrag ongewijzigd. Robuustere methoden (ISBN-13, Verhoeff, Damm) bieden meer foutbescherming ten koste van hogere complexiteit.
De checker werkt geheel in uw browser, waardoor niets wordt verzonden – maar het plakken van echte PAN-gegevens waar u dat niet nodig hebt, is een slechte gewoonte. Gebruik testnummers (bijvoorbeeld 4242 4242 4242 4242) wanneer u experimenteert.
Luhn kan worden gebruikt voor elke lengte, maar is standaardiseerd voor specifieke schema’s (meestal 9 tot 19 cijfers). De checker stelt geen bovengrens op voor de lengte.
Gerelateerde tools
Webpack-configuratiegenerator
Maak een webpack.config.js voor webpack 5 vanuit een kort formulier: stel entry, uitvoermap en mode in en zet TypeScript, Babel, een CSS-loader, HtmlWebpackPlugin en een dev-server aan.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
Decimaal naar hexadecimaal converter
Voer een decimaal geheel getal in en ontvang direct de hexadecimale waarde, inclusief negatieve waarden als 64-bits tweecomplement.
JSON-editor online
Bewerk JSON lokaal in de browser, bekijk de opgemaakte structuur, formatteer of minimaliseer tekst, sorteer sleutels en download een JSON-bestand.
Tool beschikbaar in andere talen
- Validador do Algoritmo de Luhn [PT]
- أداة فحص خوارزمية Luhn [AR]
- Luhn-Algorithmus-Prüfer [DE]
- Verificador del Algoritmo de Luhn [ES]
- Luhnアルゴリズムチェッカー [JA]
- Luhn-algoritmens kontrollverktyg [SV]
- Luhn 알고리즘 검사기 [KO]
- Vérificateur d'algorithme de Luhn [FR]
- Pemeriksa Algoritma Luhn [ID]
- Trình kiểm tra thuật toán Luhn [VI]
- เครื่องตรวจสอบอัลกอริทึมของ Luhn [TH]
- Walidator algorytmu Luhna [PL]
- Luhn Algorithm Checker [EN]
- Controllore dell'Algoritmo di Luhn [IT]
- Проверка по алгоритму Луна [RU]
- Luhn Algoritma Kontrolcüsü [TR]
- Luhn 算法校验工具 [ZH]