Алгоритм Луна
Проверка и досчёт контрольной цифры карты, 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 (Армения), Корти Милли (Таджикистан) и Простір (Украина) подтверждены только косвенно, а опубликованных номеров для проверки нет: такие карты калькулятор помечает «похоже на …» и несошедшуюся контрольную цифру показывает без категоричного «ошибка».
Пример: опечатка в номере карты перед переводом
Вы вставляете номер из сообщения: 4102 8888 8888 1881
Калькулятор сразу пишет: «В номере карты ошибка» — контрольная цифра не сходится
Подсказка: если переставлены две соседние цифры, верный номер может быть 4012 8888 8888 1881
Вы уточняете номер у отправителя — он действительно ошибся при наборе
Опечатка найдена до перевода, а не после.
Знаете ли вы?
Алгоритм придумал сотрудник IBM Ханс Петер Лун: заявку на патент подали 6 января 1954 года, патент выдан в 1960-м. Сейчас алгоритм — общественное достояние
Ловит любую ошибку в одной цифре и почти любую перестановку соседних цифр — кроме 09 ↔ 90
Не замечает замену пар 22 ↔ 55, 33 ↔ 66 и 44 ↔ 77
Это проверка на опечатку, а не защита: номер с верной контрольной цифрой может составить кто угодно
Контрольная цифра IMEI по сети не передаётся — она нужна людям, которые переписывают номер
Единый номер полиса ОМС проверяется тем же способом, что и номер банковской карты
Платёжные системы: первые цифры номера и длина
| Платёжная система | Первые цифры | Длина номера | Контрольная цифра по Луну |
|---|---|---|---|
| Visa | 4 | 13, 16–19 | да |
| Mastercard | 51–55, 2221–2720 | 16 | да |
| МИР (Россия) | 2200–2204 | 16–19 | да |
| American Express | 34, 37 | 15 | да |
| Diners Club | 300–305, 3095, 36, 38–39 | 14–19 | да |
| JCB | 3528–3589 | 16–19 | да |
| Discover | 6011, 644–649, 65 | 16–19 | да |
| UnionPay | 62, 810–817 | 16–19 | да, у части старых карт — нет |
| UnionPay (сеть Discover) | 622126–622925 | 16–19 | да, у части старых карт — нет |
| Maestro | 5018, 5020, 5038, 5893, 6304, 6759, 6761–6763 | 12–19 | да |
| UzCard (Узбекистан) | 8600, 5614 | 16 | да |
| HUMO (Узбекистан) | 9860 | 16 | да |
| БЕЛКАРТ (Беларусь) | 9112 | 16 | да |
| Элкарт (Кыргызстан) | 9417 | 16 | да |
| Troy (Турция) | 9792 | 16 | да |
| ArCa (Армения) | 9051 | не подтверждена | не подтверждено |
| Корти Милли (Таджикистан) | 9762 | не подтверждена | не подтверждено |
| Простір (Украина) | 9804 | не подтверждена | не подтверждено |
Важно знать
Алгоритм Луна проверяет только, что номер набран без опечатки. Он не подтверждает, что карта существует, активна или принадлежит тому, кто её назвал, и не проверяет телефон на кражу. Проверку карты делает банк — при оплате или переводе.
Как проверить номер по алгоритму Луна
Вставьте номер
Наберите или вставьте номер карты, IMEI, ICCID или ISIN. Пробелы, дефисы, подписи и срок действия не мешают: калькулятор найдёт номер сам и покажет, что именно проверил.
Посмотрите результат
Когда номер набран целиком, ответ появится сам: «без опечатки» или «ошибка» — и какой должна быть последняя цифра. Если номер короче обычного, нажмите «Проверить».
Разберите расчёт
Откройте «Как посчитано — по шагам»: видно каждую цифру, какие удваивались и из чего сложилась сумма. Если тип номера определился неверно, выберите его вручную: Карта, IMEI, ISIN или Другой.
Примеры использования проверки по алгоритму Луна
💳 Опечатка в номере карты
Переводите деньги по номеру карты и сомневаетесь, что переписали его верно? Вставьте номер: если контрольная цифра не сошлась, в номере ошибка. Калькулятор покажет, какой должна быть последняя цифра, и найдёт перестановки соседних цифр — например, «4102…» вместо «4012…». Кому принадлежит карта, покажет только банк: при переводе по номеру карты приложение банка обычно показывает имя получателя.
📱 IMEI с «/01» на конце
Некоторые телефоны по команде *#06# показывают IMEI вместе с версией программного обеспечения через косую черту: «35 209900 176148 1/01». Это IMEISV — две последние цифры в контрольную цифру не входят. Вставьте строку как есть: калькулятор отделит версию ПО и проверит IMEI.
🧪 Тестовые номера для формы оплаты
Разработчику нужно проверить валидацию поля «Номер карты». Генератор даст до 100 номеров Visa, Mastercard, МИР и других систем с верной контрольной цифрой. Оплатить ими нельзя: для песочницы платёжного шлюза нужны его официальные тестовые карты — например, 2200 0000 0000 0004 для МИР у ЮKassa.
📋 Проверка списка номеров
Нужно проверить выгрузку из тестовой базы? Вставьте список в «Пакетную проверку» — по номеру в строке, до 1000 номеров за раз. Верные и ошибочные номера копируются отдельно; середину номеров карт можно скрыть и на экране, и в том, что копируется.
Часто задаваемые вопросы
Что такое алгоритм Луна?
Как работает алгоритм Луна?
Можно ли по номеру карты узнать банк или владельца?
Почему верный номер карты показывает ошибку?
Что такое IMEISV и «/01» после IMEI?
Можно ли по IMEI проверить, не краденый ли телефон?
Можно ли оплатить сгенерированным номером карты?
Какие номера проверяются алгоритмом Луна?
Защищает ли алгоритм Луна от мошенников?
Кто придумал алгоритм Луна?
Полезная информация
Все расчёты выполняются в вашем браузере. Номер не отправляется на сервер сайта, не сохраняется и не передаётся сторонним сервисам. Для проверки нужен только номер: срок действия и CVV/CVC не нужны никогда — не сообщайте их никому.
Контрольная цифра считается по формуле из приложения B стандарта ISO/IEC 7812-1 — той же, что в стандарте IMEI (3GPP TS 23.003, приложение B).
Смежные инструменты
Другие контрольные суммы и проверки номеров.
Комментарии
Этот инструмент ещё ждёт первого комментария
Без почты и пароля · публикуем после проверки, обычно за 1–2 дня
Комментарии — мнения посетителей, прошедшие проверку по правилам сайта.