Перейти к содержимому
🔢

Алгоритм Луна

Проверка и досчёт контрольной цифры карты, IMEI и ISIN по алгоритму Луна (mod 10)

Открывали 905 раз

Инструмент справился с вашей задачей?

Одно нажатие, без регистрации. По ответам мы решаем, какие инструменты дорабатывать первыми.

Этот инструмент ещё ждёт первого комментария

Нашли приём, остался вопрос или чего-то не хватило — напишите, пригодится следующим. Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

Алгоритм Луна онлайн — проверка номера карты, IMEI и контрольной цифры

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

Вставьте номер — результат появится сам, как только номер набран целиком. Можно вставить текст целиком: «Номер карты: 2200 …, срок 12/28» или «IMEI 1: 35…/01». Калькулятор найдёт номер, отбросит подпись, срок действия, CVV и версию ПО и покажет, что именно проверено. Номер со звёздочками из SMS («2202 20** **** 1234») проверить нельзя — калькулятор так и скажет и назовёт платёжную систему по первым цифрам. Проверка идёт в вашем браузере: номер на сервер сайта не отправляется.

Для карты калькулятор называет по первым цифрам платёжную систему, а для карт России и стран СНГ — и банк: Visa, Mastercard (включая номера на 2221–2720), МИР, American Express, UnionPay, JCB, Maestro, Discover, Diners Club, а также национальные системы — БЕЛКАРТ (Беларусь), UzCard и HUMO (Узбекистан), Элкарт (Кыргызстан), Troy (Турция). Если в номере ошибка, он подскажет, какой должна быть последняя цифра, и найдёт перестановки соседних цифр, после которых номер сходится, — это самые частые опечатки.

Банк-эмитент определяют по первым 6–8 цифрам номера (BIN). Для карт России и стран СНГ калькулятор ищет их в открытом справочнике bin-list-data (BinLookup.io, лицензия CC BY 4.0, данные на февраль 2025): справочник загружается в браузер целиком, поэтому для поиска банка номер на сервер сайта не отправляется. Он неофициальный — у части карт МИР банк в нём не указан, а переименования банков последних лет могут не учитываться.

Чего проверка НЕ показывает: существует ли карта, активна ли она, кто её владелец и сколько на ней денег — это знает только банк. Для IMEI верная контрольная цифра значит лишь, что номер переписан без опечатки: краденый ли телефон и оригинальный ли он, по ней не узнать.

Ещё три режима. «Контрольная цифра» досчитывает последнюю цифру к номеру без неё: 14 цифр IMEI → 15-я, 15 цифр карты → 16-я, 11 знаков ISIN → 12-й. «Пакетная проверка» проверяет список до 1000 номеров за раз и отдельно копирует верные и ошибочные. «Генерация» создаёт до 100 случайных номеров с верной контрольной цифрой — для проверки форм и валидаторов.

Где встречается контрольная цифра по алгоритму Луна:

  • Номера банковских карт — Visa, Mastercard, МИР, American Express, UnionPay, JCB и других систем: последняя цифра — контрольная (стандарт ISO/IEC 7812-1, приложение B).
  • IMEI телефона — 15 цифр: 8 цифр кода модели (TAC), 6 цифр серийного номера и контрольная цифра (3GPP TS 23.003). У IMEISV — 16 цифр с версией ПО — контрольной цифры нет.
  • ICCID — номер SIM-карты из 19–20 цифр, начинается с 89.
  • ISIN — код ценной бумаги, например RU000A0JX0J2: буквы заменяются числами (A = 10 … Z = 35), затем номер проверяется по Луну. У ISIN эта защита слабее, чем у номера карты: перестановку двух соседних знаков она замечает не всегда.
  • Единый номер полиса ОМС (16 цифр): контрольный разряд считается по методике ISO/HL7 27931 (Mod10), и результат совпадает с алгоритмом Луна (приказ ФФОМС от 22.08.2011 № 154). По первым цифрам калькулятор может назвать такой номер картой — платёжная система к полису не относится, а проверка контрольной цифры та же.
  • Номер социального страхования Канады (SIN, 9 цифр) и номер медицинского работника США (NPI) — NPI проверяется, если приписать к его 10 цифрам спереди 80840.

Каких номеров алгоритм Луна не касается

У ИНН, СНИЛС, ОГРН и номера банковского счёта своя контрольная сумма — не Луна. Если ввести такой номер, проверка по Луну обычно «не сходится», хотя номер верный. Калькулятор распознаёт ИНН, СНИЛС, ОГРН, ОГРНИП и штрихкод и прямо об этом говорит, а не пишет «ошибка». IBAN — номер счёта с буквенным кодом страны — тоже узнаёт: его контрольные цифры считаются по модулю 97.

У штрихкода EAN-13 и UPC контрольная цифра тоже «по модулю 10», но цифры умножаются попеременно на 3 и 1 — это другой алгоритм. У кода SEDOL Лондонской биржи свои веса: 1, 3, 1, 7, 3, 9. Поэтому «mod 10» ещё не значит «алгоритм Луна».

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

Первые 6–8 цифр номера карты — идентификатор эмитента (IIN, он же BIN): по нему справочники определяют банк, и для карт России и стран СНГ калькулятор показывает его по первым 6 цифрам. Платёжную систему видно уже по первым 1–6 цифрам. Калькулятор сравнивает начало номера с диапазонами из таблицы ниже; если подходят два диапазона, побеждает более длинный: номера 622126–622925 лежат внутри диапазона UnionPay «62», и это карты UnionPay, которые принимаются в сети Discover.

Таблица составлена по открытым источникам (таблица IIN в Википедии, BinDB) и сверена на опубликованных тестовых картах платёжных шлюзов. Префиксы ArCa (Армения), Корти Милли (Таджикистан) и Простір (Украина) подтверждены только косвенно, а опубликованных номеров для проверки нет: такие карты калькулятор помечает «похоже на …» и несошедшуюся контрольную цифру показывает без категоричного «ошибка».

💡

Пример: опечатка в номере карты перед переводом

1

Вы вставляете номер из сообщения: 4102 8888 8888 1881

2

Калькулятор сразу пишет: «В номере карты ошибка» — контрольная цифра не сходится

3

Подсказка: если переставлены две соседние цифры, верный номер может быть 4012 8888 8888 1881

4

Вы уточняете номер у отправителя — он действительно ошибся при наборе

✅

Опечатка найдена до перевода, а не после.

🧠

Знаете ли вы?

💡

Алгоритм придумал сотрудник IBM Ханс Петер Лун: заявку на патент подали 6 января 1954 года, патент выдан в 1960-м. Сейчас алгоритм — общественное достояние

🔢

Ловит любую ошибку в одной цифре и почти любую перестановку соседних цифр — кроме 09 ↔ 90

👯

Не замечает замену пар 22 ↔ 55, 33 ↔ 66 и 44 ↔ 77

🔐

Это проверка на опечатку, а не защита: номер с верной контрольной цифрой может составить кто угодно

📡

Контрольная цифра IMEI по сети не передаётся — она нужна людям, которые переписывают номер

🏥

Единый номер полиса ОМС проверяется тем же способом, что и номер банковской карты

Платёжные системы: первые цифры номера и длина

Платёжная системаПервые цифрыДлина номераКонтрольная цифра по Луну
Visa413, 16–19да
Mastercard51–55, 2221–272016да
МИР (Россия)2200–220416–19да
American Express34, 3715да
Diners Club300–305, 3095, 36, 38–3914–19да
JCB3528–358916–19да
Discover6011, 644–649, 6516–19да
UnionPay62, 810–81716–19да, у части старых карт — нет
UnionPay (сеть Discover)622126–62292516–19да, у части старых карт — нет
Maestro5018, 5020, 5038, 5893, 6304, 6759, 6761–676312–19да
UzCard (Узбекистан)8600, 561416да
HUMO (Узбекистан)986016да
БЕЛКАРТ (Беларусь)911216да
Элкарт (Кыргызстан)941716да
Troy (Турция)979216да
ArCa (Армения)9051не подтвержденане подтверждено
Корти Милли (Таджикистан)9762не подтвержденане подтверждено
Простір (Украина)9804не подтвержденане подтверждено
⚠️

Важно знать

Алгоритм Луна проверяет только, что номер набран без опечатки. Он не подтверждает, что карта существует, активна или принадлежит тому, кто её назвал, и не проверяет телефон на кражу. Проверку карты делает банк — при оплате или переводе.

Как проверить номер по алгоритму Луна

1

Вставьте номер

Наберите или вставьте номер карты, IMEI, ICCID или ISIN. Пробелы, дефисы, подписи и срок действия не мешают: калькулятор найдёт номер сам и покажет, что именно проверил.

2

Посмотрите результат

Когда номер набран целиком, ответ появится сам: «без опечатки» или «ошибка» — и какой должна быть последняя цифра. Если номер короче обычного, нажмите «Проверить».

3

Разберите расчёт

Откройте «Как посчитано — по шагам»: видно каждую цифру, какие удваивались и из чего сложилась сумма. Если тип номера определился неверно, выберите его вручную: Карта, IMEI, ISIN или Другой.

Примеры использования проверки по алгоритму Луна

💳 Опечатка в номере карты

Переводите деньги по номеру карты и сомневаетесь, что переписали его верно? Вставьте номер: если контрольная цифра не сошлась, в номере ошибка. Калькулятор покажет, какой должна быть последняя цифра, и найдёт перестановки соседних цифр — например, «4102…» вместо «4012…». Кому принадлежит карта, покажет только банк: при переводе по номеру карты приложение банка обычно показывает имя получателя.

📱 IMEI с «/01» на конце

Некоторые телефоны по команде *#06# показывают IMEI вместе с версией программного обеспечения через косую черту: «35 209900 176148 1/01». Это IMEISV — две последние цифры в контрольную цифру не входят. Вставьте строку как есть: калькулятор отделит версию ПО и проверит IMEI.

🧪 Тестовые номера для формы оплаты

Разработчику нужно проверить валидацию поля «Номер карты». Генератор даст до 100 номеров Visa, Mastercard, МИР и других систем с верной контрольной цифрой. Оплатить ими нельзя: для песочницы платёжного шлюза нужны его официальные тестовые карты — например, 2200 0000 0000 0004 для МИР у ЮKassa.

📋 Проверка списка номеров

Нужно проверить выгрузку из тестовой базы? Вставьте список в «Пакетную проверку» — по номеру в строке, до 1000 номеров за раз. Верные и ошибочные номера копируются отдельно; середину номеров карт можно скрыть и на экране, и в том, что копируется.

Часто задаваемые вопросы

Что такое алгоритм Луна?
Способ проверить, нет ли в номере опечатки. Последняя цифра номера — контрольная: её вычисляют из остальных. Если ошиблись в одной цифре или переставили две соседние, контрольная цифра перестаёт сходиться. Так защищены номера банковских карт, IMEI и ICCID SIM-карт; у кодов ISIN с буквами защита слабее.
Как работает алгоритм Луна?
Цифры нумеруются справа налево. Каждая вторая, начиная со второй справа, удваивается; если получилось больше 9, из результата вычитают 9. Затем все цифры складывают. Если сумма делится на 10 — номер верный. Чтобы досчитать контрольную цифру, удваивают каждую вторую цифру начиная с самой правой цифры номера без контрольной, складывают и берут (10 − сумма mod 10) mod 10.
Можно ли по номеру карты узнать банк или владельца?
Банк — да: его определяют по первым 6–8 цифрам (BIN). Для карт России и стран СНГ калькулятор показывает банк по открытому справочнику (данные на февраль 2025, может ошибаться). Владельца, баланс и то, активна ли карта, по номеру не узнать — это банковская тайна. Имя получателя при переводе по номеру карты обычно показывает приложение вашего банка.
Почему верный номер карты показывает ошибку?
Чаще всего к номеру приклеилось лишнее: срок действия, CVV или второй номер. Подписи, срок «ММ/ГГ» и CVV через пробел калькулятор замечает сам и показывает номер без лишних цифр, но цифры, набранные подряд без разделителей, отличить не может. Проверьте количество цифр: обычно их 16, у МИР бывает до 19, у American Express — 15. Реже дело в системе: у части старых карт UnionPay контрольная цифра может не сходиться.
Что такое IMEISV и «/01» после IMEI?
IMEISV — это первые 14 цифр IMEI плюс 2 цифры версии программного обеспечения. Контрольной цифры у IMEISV нет, поэтому проверять его целиком по Луну нельзя. Вставьте строку как есть или выберите тип «IMEI» — калькулятор отделит версию ПО и покажет полный IMEI с контрольной цифрой.
Можно ли по IMEI проверить, не краденый ли телефон?
Нет. Контрольная цифра показывает только, что IMEI переписан без опечатки: у краденого телефона с настоящим IMEI она тоже сходится. Повод насторожиться — когда IMEI в настройках (*#06#), на коробке и на лотке SIM-карты не совпадает.
Можно ли оплатить сгенерированным номером карты?
Нет. Генератор создаёт случайные номера с верной контрольной цифрой: они проходят проверку формы, но карт с такими номерами, скорее всего, не существует, и платёж не пройдёт. Для песочницы платёжного шлюза используйте его официальные тестовые карты.
Какие номера проверяются алгоритмом Луна?
Номера банковских карт, IMEI телефонов, ICCID SIM-карт, коды ISIN ценных бумаг, единый номер полиса ОМС, канадский SIN. ИНН, СНИЛС, ОГРН, номер банковского счёта и штрихкод EAN-13 — нет: у них свои контрольные суммы.
Защищает ли алгоритм Луна от мошенников?
Нет, это не шифрование и не защита: он ловит случайные опечатки. Номер с верной контрольной цифрой может составить кто угодно. Никому не сообщайте срок действия и CVV карты — для проверки номера они не нужны.
Кто придумал алгоритм Луна?
Сотрудник IBM Ханс Петер Лун. Заявку на патент подали 6 января 1954 года, патент US 2 950 048 выдан 23 августа 1960 года. Сейчас алгоритм — общественное достояние.

Полезная информация

Все расчёты выполняются в вашем браузере. Номер не отправляется на сервер сайта, не сохраняется и не передаётся сторонним сервисам. Для проверки нужен только номер: срок действия и CVV/CVC не нужны никогда — не сообщайте их никому.

Контрольная цифра считается по формуле из приложения B стандарта ISO/IEC 7812-1 — той же, что в стандарте IMEI (3GPP TS 23.003, приложение B).

Смежные инструменты

Другие контрольные суммы и проверки номеров.

Комментарии

Этот инструмент ещё ждёт первого комментария

Без почты и пароля · публикуем после проверки, обычно за 1–2 дня

  • Руслан АвдеевОт автора проекта
    Все инструменты на ToolFox бесплатны, и я их дорабатываю сам. Напишите, если инструмент считает неверно, чего-то не хватает или что-то стоит поправить, — по таким комментариям я и решаю, чем заняться дальше.

Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.