Algorytm Luhna: walidator i kalkulator cyfry kontrolnej
Algorytm Luhna chroni numery kart, numery IMEI i wiele numerów klientów przed literówkami. Wpisz jeden numer w wierszu: narzędzie sprawdzi ostatnią cyfrę albo ją obliczy. Używaj wyłącznie numerów przykładowych lub testowych.
Jak to obliczamy
Nie wpisuj prawdziwych danych karty. Obliczenia działają wyłącznie w Twojej przeglądarce; wpisane dane nie są wysyłane, zapisywane ani dodawane do paska adresu. Wynik to czysta kontrola formatu: nie mówi nic o tym, czy karta istnieje, jest zablokowana albo ma środki.
Jak działa algorytm Luhna
- Zaczynając od prawej i pomijając cyfrę kontrolną, podwój co drugą cyfrę.
- Jeśli wynik podwojenia jest większy od 9, zsumuj jego cyfry (to samo co odjęcie 9): 7 × 2 = 14 → 5.
- Dodaj wszystkie cyfry. Cyfra kontrolna uzupełnia sumę do najbliższej wielokrotności 10.
Przykład 7992739871: od prawej 1→2, 7, 8→16→7, 9, 3→6, 7, 2→4, 9, 9→18→9, 7. Suma wynosi 67; do 70 brakuje 3 → pełny numer 79927398713. Przy sprawdzaniu uwzględnia się cyfrę kontrolną: suma musi być podzielna przez 10 (tu 70).
Gdzie stosuje się algorytm Luhna?
W numerach kart zgodnych z ISO/IEC 7812-1 (karty płatnicze i wiele kart lojalnościowych), w 15. cyfrze numeru IMEI telefonu (3GPP TS 23.003) oraz w wielu numerach klientów i umów. Wykrywa każdą pojedynczą błędną cyfrę i prawie wszystkie zamiany sąsiednich cyfr – poza „09” ↔ „90”. Nie chroni przed zmyślonymi numerami: co dziesiąty losowy numer przechodzi test. Uwaga: PESEL, NIP i REGON mają własne, inne sumy kontrolne – algorytm Luhna ich nie sprawdza.
Do testów możesz użyć podręcznikowego przykładu 79927398713 albo numeru IMEI ze standardu 3GPP: 49015420323751-8.
Najczęściej zadawane pytania
Czy moja karta jest ważna, jeśli numer przechodzi test Luhna?
Nie. Test pokazuje tylko, że ciąg cyfr ma poprawną budowę. Czy karta istnieje, jest aktywna i ma środki, wie wyłącznie bank, który ją wydał. Prawdziwe dane karty podawaj tylko przy płatności w sklepie.
Czy wpisane dane są zapisywane lub wysyłane?
Nie. Obliczenia działają w JavaScripcie na Twoim urządzeniu, dane nie trafiają do adresu URL ani do pamięci przeglądarki. Mimo to używaj wyłącznie numerów przykładowych lub testowych.
Czy mogę tym sprawdzić numer IMEI?
Tak. 15-cyfrowy numer IMEI kończy się cyfrą kontrolną Luhna (3GPP TS 23.003, załącznik B). W trybie sprawdzania wpisz wszystkie 15 cyfr, w trybie obliczania – pierwsze 14.
Czy algorytm Luhna sprawdza PESEL lub NIP?
Nie. PESEL i NIP mają własne sumy kontrolne z innymi wagami. Ten kalkulator obsługuje wyłącznie algorytm Luhna (mod 10), stosowany m.in. w numerach kart i IMEI.
Jakich błędów algorytm Luhna nie wykrywa?
Zamiany 0 i 9 (09 ↔ 90), błędów bliźniaczych takich jak 22 ↔ 55, 33 ↔ 66, 44 ↔ 77 oraz kilku jednoczesnych błędów, które przypadkiem się znoszą.
Dlaczego narzędzie nie rozpoznaje wydawcy karty?
Przypisanie pierwszych cyfr (IIN/BIN) do wydawców stale się zmienia i nie jest potrzebne do kontroli formatu. Narzędzie celowo ogranicza się do cyfry kontrolnej.
Źródła i podstawa prawna
- ISO/IEC 7812-1: ISO/IEC 7812-1:2017 – Identification cards, Annex: Luhn formula for computing modulus-10 check digits
- 3GPP TS 23.003: 3GPP TS 23.003 – Numbering, addressing and identification, Annex B: IMEI check digit (Luhn)
- US Patent 2,950,048 – H. P. Luhn, Computer for verifying numbers (1960)
Stan na:
Podobne narzędzia
- Cyfra kontrolna EAN, GTIN i ISBNSprawdź cyfrę kontrolną EAN-8, EAN-13, UPC-A, GTIN-14 i ISBN-10/13, oblicz brakującą cyfrę i przelicz ISBN-10 na ISBN-13 – za darmo, w przeglądarce.
- Sprawdź IBANSprawdź poprawność numeru IBAN: cyfry kontrolne (mod 97), długość i format dla 89 krajów. Działa w przeglądarce – numer nie jest nigdzie wysyłany.
- Sprawdzanie poprawności adresu e-mailSprawdź poprawność adresów e-mail wg RFC 5321/5322: długość, etykiety domeny, domeny z polskimi znakami (Punycode). Także listy. Lokalnie, bez wysyłania.
- Kodowanie i dekodowanie Base64Kodowanie i dekodowanie Base64 oraz Base64url z poprawnym UTF-8, do tego kodowanie URL (percent-encoding). Jasne komunikaty błędów, działa w przeglądarce.
- Generator border-radius CSSZaokrąglone rogi CSS suwakami: wszystkie rogi razem lub osobno, px albo %, eliptyczna składnia z 8 wartościami – najkrótszy zapis, podgląd na żywo i kopiowanie.
- Generator box-shadow CSSBox shadow generator: twórz cienie CSS suwakami – wiele warstw, rozmycie, spread, kolor z przezroczystością, inset i szablony, CSS kopiujesz jednym kliknięciem.