Programowanie webowe

Credit Card Validator

Zweryfikuj numer karty algorytmem Luhna, określ sieć płatniczą i długość. Wszystko jest obliczane w przeglądarce — numer nigdzie nie jest wysyłany.

The Luhn algorithm is a checksum most payment networks append to a card number to catch accidental typing errors (one transposed or mistyped digit). This tool checks a number against Luhn and identifies the payment network from its prefix (BIN).

How to use it

Common uses

Things to keep in mind

A card passing the Luhn check doesn't mean it's active, unblocked, or even real — the check only catches obvious typing mistakes.

Card data is processed entirely in your browser and never sent anywhere, but for actual payments, always use a certified payment form (PCI DSS) rather than pasting a real card number into a third-party tool.

Artykuł o tym narzędziu: Algorytm Luhna: jak sprawdza się poprawność numeru karty

Najczęstsze pytania

Czy pomyślna weryfikacja oznacza, że karta jest prawdziwa i ma środki?

Nie — to narzędzie sprawdza tylko sumę kontrolną Luhna i oczekiwaną długość cyfr dla wykrytej sieci; nie może powiedzieć, czy karta faktycznie istnieje, jest aktywna lub ma środki, ponieważ wymaga to kontaktu z wystawcą karty.

Jak działa algorytm Luhna?

Podwaja co drugą cyfrę licząc od prawej, sumuje cyfry wyników razem z niezmienionymi cyframi i sprawdza, czy suma jest wielokrotnością 10 — wykrywa większość literówek i przestawionych cyfr, ale nie jest sprawdzeniem oszustwa.

Czy mój numer karty jest gdzieś wysyłany?

Nie, walidacja odbywa się całkowicie w Twojej przeglądarce, a numer nigdy nie jest przesyłany ani przechowywany.

Jak rozpoznawana jest sieć płatnicza (Visa, Mastercard itp.) na podstawie numeru karty?

Na podstawie kilku pierwszych cyfr numeru, zwanych BIN (Bank Identification Number) — na przykład numery Visa zawsze zaczynają się od 4, a Mastercard od zakresu 51–55 lub 2221–2720; formularze płatności rozpoznają ikonę sieci na podstawie tego prefiksu jeszcze zanim skończysz wpisywać numer.

Czy BIN pozwala ustalić, który bank wydał kartę?

Częściowo — pierwsze 6 cyfr (rozszerzony BIN) zwykle pozwala rozpoznać nie tylko sieć płatniczą, ale też konkretny bank wydający i typ karty (debetowa lub kredytowa), choć dokładne ustalenie banku wymaga specjalistycznych baz danych BIN, a nie samego algorytmu Luhna.

Artykuły: Programowanie webowe

HEX, RGB, HSL: dlaczego istnieje tyle sposobów zapisu koloru

Dlaczego projektanci często wybierają HSL zamiast HEX przy ręcznym dobieraniu odcienia koloru.

Minifikacja CSS: co dokładnie jest usuwane z pliku i po co

Dlaczego zminifikowany CSS działa dokładnie tak samo w przeglądarce, mimo że staje się nieczytelny dla człowieka.

Minifikacja JavaScript: różnica między minifikacją a obfuskacją

Dlaczego zminifikowany kod nadal można przeczytać, jeśli się chce, a zobfuskowany — nie.

Minifikacja HTML: dlaczego spacje w znacznikach w ogóle mają znaczenie

Dlaczego usunięcie spacji wewnątrz <pre> lub textarea może zepsuć wygląd strony, w przeciwieństwie do niemal każdego innego miejsca.

Gradienty CSS: czym linear różni się od radial i conic

Dlaczego conic-gradient sprawdza się w wykresach kołowych, a radial-gradient daje efekt plamy światła.

IBAN: jak zbudowany jest międzynarodowy numer konta bankowego

Dlaczego pierwsze dwie litery w IBAN to kod kraju, a nie część samego numeru konta.

Kody QR: jak link mieści się w kwadracie z pikseli

Dlaczego kod QR z logo na środku nadal się skanuje, mimo że część wzoru jest zasłonięta.

Kody kreskowe: czym Code 128 różni się od EAN-13

Dlaczego produkty na sklepowych półkach prawie zawsze mają EAN-13, a nie Code 128.

Obrazy placeholder: dlaczego fałszywe obrazki mają znaczenie podczas developmentu

Dlaczego deweloperzy celowo wstawiają szare prostokąty zamiast prawdziwych zdjęć, gdy layout jest jeszcze w budowie.