Skip to content
Проверка номера карты
Tools

Проверка номера карты

Новое

Проверьте номер карты по алгоритму Luhn и определите платёжную систему.

Format check only — not a real-card check.

This verifies the Luhn checksum, the brand prefix and the length so you can build and test payment forms. A “valid” result means the number is well-formed — not that a card exists, is active, or has funds. Everything runs in your browser; numbers are never sent anywhere. Please don’t use it for fraud.

Brand: — Luhn: — Length: —

Enter a card number to validate.

Luhn checksum — step by step Every second digit from the right is doubled (then reduced by 9 if it goes over 9), and all the digits are summed. A total divisible by 10 passes.
Enter digits above to see the calculation.
Card brand rules (IIN / BIN)
Brand Starts with Length CVV
Visa 4 13, 16, 19 3
Mastercard 51–55, 2221–2720 16 3
American Express 34, 37 15 4
Discover 6011, 644–649, 65 16–19 3
Diners Club 300–305, 36, 38, 39 14–19 3
JCB 3528–3589 16–19 3
UnionPay 62, 81 16–19 3
Maestro 50, 56–69 12–19 3
Test card numbers Public sandbox numbers for testing checkouts (Stripe / Adyen / PayPal style). Test only — fake, not real cards.
4242 4242 4242 4242 Visa · Stripe default
4000 0566 5566 5556 Visa · debit
4111 1111 1111 1111 Visa · classic test
5555 5555 5555 4444 Mastercard
5200 8282 8282 8210 Mastercard · debit
2223 0031 2200 3222 Mastercard · 2-series
3782 822463 10005 American Express
3714 496353 98431 American Express
6011 1111 1111 1117 Discover
3056 9309 0259 04 Diners Club
3566 0020 2036 0505 JCB
6200 0000 0000 0005 UnionPay
6759 6498 2643 8453 Maestro · UK
Generate a test number Build a random, Luhn-valid number for form testing. Test only — fake, not a real card.
Batch check Paste many numbers (one per line) to validate them all at once.

Runs entirely in your browser. Nothing is uploaded.

Проверяйте любой номер карты прямо в браузере

Этот валидатор банковских карт проверяет, правильно ли сформирован номер карты, используя алгоритм Луна, платёжную систему и ожидаемую длину — в режиме реального времени по мере ввода. Вставьте или введите номер, и вы мгновенно увидите обнаруженную платёжную систему с логотипом, результат проверки Луна и длины, а также необязательную проверку формата CVV и срока действия.

Инструмент предназначен для разработчиков, создающих формы оплаты, и для всех, кто хочет выявить опечатку перед отправкой платежа. Всё работает локально в браузере без обращения к серверу, поэтому он также служит приватным валидатором номера карты и калькулятором проверки Луна — даже в корпоративных сетях с жёсткими политиками исходящего трафика.

Как работает алгоритм Луна

Алгоритм Луна, также называемый проверкой mod-10, — это формула контрольной суммы, которую почти все карточные сети используют с момента получения патента Хансом Петером Луном в 1954 году. Начиная с правого края, каждая вторая цифра умножается на 2; если результат превышает 9, вычитается 9, после чего все цифры складываются. Если сумма делится на 10, номер считается действительным. Например, сумма цифр 4242 4242 4242 4242 равна 80 — делится на 10 — значит, номер действителен по Луну.

Пошаговый разбор Луна на этой странице визуализирует вычисление для любого введённого номера: выделяет удвоенные цифры, показывает вклад каждой цифры в текущую сумму и выводит итоговое значение с остатком. Это самый быстрый способ понять, как реально работает проверка Луна, — что особенно полезно, когда нужно самостоятельно реализовать её в коде.

Определение платёжной системы по IIN/BIN

Первые шесть-восемь цифр карты — её Идентификационный номер эмитента (IIN), исторически называемый Банковским идентификационным номером (BIN); они определяют платёжную сеть. Этот определитель платёжной системы распознаёт Visa (начинается с 4), Mastercard (51–55 и 2221–2720), American Express (34/37), Discover (6011, 644–649, 65), Diners Club (300–305, 36, 38, 39), JCB (3528–3589), UnionPay (62, 81) и Maestro, а в таблице правил платёжных систем показывает допустимые длины и количество цифр CVV для каждого.

Определение системы происходит во время набора: уже по первым четырём цифрам видно, к какой сети — Visa, Mastercard или Amex — относится номер. Именно такую проверку выполняют формы оплаты на сайтах интернет-магазинов, чтобы отобразить нужный логотип карты в поле ввода.

Сравнение с cardguru.io и creditcardvalidator.org

Самые популярные бесплатные валидаторы карт — cardguru.io и creditcardvalidator.org. Оба проверяют алгоритм Луна и определяют платёжную систему. Cardguru.io добавляет поиск по BIN (банк-эмитент, страна), однако делает это через серверный API-запрос, то есть номер карты покидает браузер. Creditcardvalidator.org работает полностью на стороне клиента, но показывает рекламу рядом с валидатором и не предлагает генерацию тестовых карт или пакетную проверку.

namso-gen.com и аналогичные сайты сосредоточены на массовой генерации тестовых номеров карт, которые используются в том числе для тестирования мошеннических схем. Данный валидатор чётко разграничивает функции: проверка номера, генерация тестовой карты или пакетная валидация — всё офлайн и без какой-либо связи с незаконным использованием.

Тестовые номера карт, генератор и пакетный режим

Встроенная библиотека тестовых номеров кредитных карт содержит действительные по Луну номера для песочницы (в стиле Stripe, Adyen и PayPal) по каждой платёжной системе — каждый явно помечен как тестовый, с кнопками копирования и «Использовать». Нужен новый? Генератор создаёт случайный действительный по Луну номер для любой платёжной системы, так что за секунды можно заполнить форму оплаты без обращения к документации Stripe.

Пакетный режим позволяет вставить столбец номеров — из экспорта таблицы или тестового фикстура — и получить таблицу с платёжной системой, длиной, результатом Луна и вердиктом «действителен/недействителен» для каждой строки. Это удобно при QA, когда есть список номеров от стороннего поставщика данных и нужно быстро определить, какие из них правильно сформированы.

Проверка номеров карт в коде — и что нельзя опустить на сервере

Чтобы проверять номера банковских карт в коде, реализуйте Луна напрямую: переверните строку цифр, удвойте каждый второй символ (вычитая 9, если результат превышает 9), сложите все значения и верните «действителен», когда сумма mod 10 равна 0 — примерно шесть строк на JavaScript или Python. Добавьте регулярное выражение для проверки префикса платёжной системы и проверку длины для обнаруженной системы — для полной клиентской проверки формата.

Используйте эту проверку на клиенте для мгновенной обратной связи с пользователем — она ловит самые распространённые опечатки до отправки сетевого запроса. Но никогда не полагайтесь только на неё: всегда выполняйте реальную авторизацию на сервере через сертифицированного платёжного провайдера (Stripe, Adyen, Braintree, Square и др.). Прохождение Луна — это проверка формата, а не финансовая гарантия. Здесь нет регистрации, нет затрат и нет сервера — каждая проверка происходит в вашем браузере, и введённый номер никогда не покидает ваше устройство.

Frequently asked questions

Что такое валидатор банковских карт?

Валидатор банковских карт проверяет, правильно ли сформирован номер карты, используя три теста: контрольную сумму Луна, платёжную систему (определяется по начальным цифрам, называемым IIN или BIN) и ожидаемую для этой системы длину. Результат выдаётся мгновенно, полностью в браузере. Разработчики применяют его для тестирования платёжных форм, а пользователи — чтобы заметить опечатку перед отправкой. Он никогда не связывается с банком, поэтому не может сказать, была ли реальная карта когда-либо выпущена или есть ли на ней средства.

Что такое алгоритм Луна и как он работает?

Алгоритм Луна, известный также как проверка mod-10, — это формула контрольной суммы, которая выявляет большинство неправильно введённых номеров карт. Начиная с крайней правой цифры и двигаясь влево, каждая вторая цифра удваивается; если удвоение даёт двузначный результат (10 и более), вычитается 9. Затем все цифры складываются. Если итоговая сумма делится на 10, номер проходит проверку. Панель пошагового разбора на этой странице показывает то же вычисление для любого введённого номера.

Означает ли действительный номер, что карта существует или активна?

Нет. Результат «действителен» означает лишь то, что номер правильно сформирован: он проходит контрольную сумму Луна и соответствует префиксу и длине известной платёжной системы. Это абсолютно ничего не говорит о том, была ли когда-либо выпущена карта с таким номером, принадлежит ли она реальному человеку, активна ли она в настоящее время и есть ли на ней доступный кредит. Для проверки любого из этих фактов необходима живая авторизация через системы банка-эмитента, которая происходит только при реальной транзакции через платёжный процессор.

Безопасно ли вводить номер карты здесь?

Да. Каждая проверка выполняется полностью в вашем браузере с помощью JavaScript — то, что вы вводите, не отправляется ни на какой сервер, не записывается и не видно никому за пределами вашего устройства. У валидатора нет бэкенда, API-вызовов и сторонней аналитики. В качестве хорошей практики используйте встроенные тестовые номера, когда нужно лишь протестировать форму оплаты, и избегайте передачи реальных данных карты без конкретной необходимости.

Как определить платёжную систему по номеру карты?

Первые шесть-восемь цифр карты — это идентификационный номер эмитента (IIN), кодирующий платёжную сеть. Номера Visa начинаются с 4; Mastercard — с 51–55 или 2221–2720; American Express — с 34 или 37; Discover — с 6011, 644–649 или 65; Diners Club — с 300–305, 36, 38 или 39. Данный валидатор определяет платёжную систему по первым введённым цифрам и тут же показывает логотип, допустимые длины и количество цифр CVV.

Сколько цифр у карт разных типов?

Номера Visa и Mastercard состоят из 16 цифр. American Express — из 15 цифр. Diners Club — из 14 цифр (хотя некоторые кобрендинговые карты 16-значные). Discover, JCB и UnionPay в зависимости от продукта — от 16 до 19 цифр. Maestro — от 12 до 19 цифр. Длина является частью проверки: 15-значный номер, начинающийся с 4, не является действительным Visa, даже если он проходит проверку Луна, поскольку Visa требует 16 цифр.

Как проверять номера банковских карт в коде?

Реализуйте Луна напрямую: переверните массив цифр, удвойте каждый второй элемент (вычтите 9, если результат превышает 9), сложите все элементы и верните true, когда сумма mod 10 равна 0. Это примерно шесть строк на JavaScript или Python. Затем добавьте проверку префикса платёжной системы с помощью регулярного выражения и проверку длины для обнаруженной системы. Используйте эту проверку на клиенте для мгновенного отклика, но всегда выполняйте реальную авторизацию на сервере через ваш платёжный процессор.