Экстрактор телефонов из текста с нормализацией номеров
Собирает телефоны из любого текста, приводит к одной маске и убирает дубли по номеру, а не по написанию. Работает прямо в браузере.
К инструментуСписок телефонов почти никогда не приходит в одном виде. В выгрузке из формы одни номера с плюсом, другие с восьмёркой, третьи со скобками и пробелами. Сверху ложится почтовая переписка и таблица от партнёра. А CRM или сервис рассылки ждёт один формат и ругается на всё остальное.
Эту кашу разбирает экстрактор телефонов из текста в поле выше. Вставляете текст как есть, выбираете маску, забираете готовый столбик. Разбор идёт у вас в браузере, введённый текст никуда не уходит.
Когда это выручает
- Заявки пришли из разных форм и лендингов, а слить их надо в одну базу, где номер выглядит одинаково.
- Перед рассылкой по SMS или в мессенджерах нужен единый формат.
- Чистите старую базу и считаете уникальные контакты.
- Вытаскиваете контакты из письма или прайса, где номера вперемешку с текстом.
Как пользоваться экстрактором телефонов
Сначала отметьте согласие над формой. До этого поле неактивно. Галочка нигде не запоминается: перезагрузили страницу, ставьте заново.
Дальше вставьте текст в «Исходный текст», и счётчики начнут пересчитываться на лету, пока вы печатаете или правите вставленное.
В «Маске вывода» четыре варианта: +7XXXXXXXXXX, 8XXXXXXXXXX, читаемый +7 (XXX) XXX-XX-XX и «Только цифры». Последний отдаёт те же одиннадцать цифр с семёркой впереди, просто без плюса и разделителей: так номер обычно и просят в импорте. Маску можно переключать, текст заново вставлять не нужно. Готовый список забирайте кнопкой «Скопировать» или сохраните файлом через «Скачать .txt».
Было и стало
Вставляем три строки как есть:
- Иванов, моб. 8 (916) 123-45-67
- Петрова +7 916 123 45 67, отдел закупок
- склад: 8-495-185-60-65
Получаем два номера: +79161234567 и +74951856065. Первые две строки схлопнулись в один контакт, хотя написаны по-разному. Счётчики покажут «Найдено 3» и «Уникальных после дедупликации 2», и вот эта разница и есть то, ради чего сюда приходят.
Что делать с результатом
Над результатом три числа. «Найдено» считает все номера в тексте вместе с повторами. «Уникальных после дедупликации» показывает, сколько контактов реально останется в базе. «Иностранные номера» считает те, что под российский формат не подошли.
Дубли отсеиваются по нормализованному значению, а не по написанию. Запись 8 916 123-45-67 и запись +7 (916) 123-45-67 для инструмента один и тот же контакт. Обычная чистка по строке такую пару пропустит, и в CRM потом заедут два лида на одного человека. Готовый столбик уходит дальше: в импорт CRM, в рассылку, в аудиторию рекламного кабинета.
Дальше по маршруту обычно идут два соседа. Экстрактор email из текста соберёт из той же выгрузки адреса. Пересечение и разность списков вычтет тех, кто уже есть в базе, и покажет только новых.
Про чужую базу и закон
Телефон живого человека это персональные данные, и правила к нему те же, что к паспортным. Отсюда простое следствие: чужую базу нельзя загружать в незнакомый онлайн-сервис, потому что вы не знаете, что он с ней сделает.
Здесь этот риск закрыт устройством инструмента. Текст остаётся во вкладке браузера, на сервер не уходит ни одна строка, в логах не оседает ничего. Как мы обращаемся с данными на самом сайте, написано в политике конфиденциальности.
О чём помнить
- Одиннадцать цифр с 7 или 8 в начале: первая считается кодом страны и отбрасывается. Оставшиеся десять должны начинаться с 3, 4, 8 или 9, иначе номер уедет в иностранные.
- Десять цифр без кода считаются российским номером, если записаны со скобками, пробелами или дефисами либо начинаются с 9. Первая цифра кода при этом 3, 4, 8 или 9. Голые десять цифр с другой первой цифрой телефоном не считаются, если перед ними нет слова «тел» или похожего: так отсеивается ИНН вроде 4401234567. Артикул из десяти цифр, начинающийся с девятки, инструмент всё же примет за телефон, так что по результату стоит пробежаться глазами.
- Плюс это ваше слово о стране. Номер с плюсом и кодом не +7 остаётся иностранным и в российскую маску не переписывается. Немецкий +49 30 901820 так и попадёт в отдельный блок.
- Казахстанские номера уходят к иностранным. Код страны у них тоже семёрка, но дальше идёт ещё одна, а российских кодов на 7 не бывает.
- Городской номер без кода города в список не попадёт. Семь цифр вида 123-45-67 по написанию не отличить от даты или суммы, поэтому инструмент их пропускает.
- Добавочные теряются. Из записи «8 (495) 123-45-67 доб. 101» останется только основной номер, добавочный не сохранится нигде.
- Реквизиты и даты за телефоны не принимаются. Число рядом со словами ИНН, ОГРН, КПП, БИК, СНИЛС и «счёт» пропускается, как и даты вида 12.03.2026 и суммы вроде 1 234 567.
- Номера можно вставлять как угодно: по одному в строке, через запятую или просто через пробел. Два номера подряд инструмент не склеивает: «+7 (495) 123-45-67 8 926 111-22-33» даст два контакта. Неразрывные пробелы, типографские тире и точки-разделители в написании номера он понимает.
- Иностранные номера находятся только с плюсом. Номер без плюса и без российского кода инструмент не берёт: по написанию его не отличить от суммы или артикула.
- Российские и иностранные номера лежат в двух блоках. У каждого свои кнопки «Скопировать» и «Скачать .txt», и в файл попадают только номера, без заголовков и пустых строк.
- Инструмент ищет номера по написанию и не проверяет, живые они или нет. Опечатка останется опечаткой и в результате.
- Записи вида 192.168.0.1 отсекаются: IP-адреса в список не попадут.
Сколько текста выдержит
Ограничения нет, и упереться в него трудно. Выгрузка на десять мегабайт с двумястами тысячами номеров разбирается примерно за полсекунды. Десять тысяч строк не заметит вообще никто.
Вставьте кусок своей выгрузки в поле и посмотрите, сколько уникальных номеров там на самом деле.
Частые вопросы
Что будет с номерами не из России?
Номера, записанные с плюсом и кодом не +7, не приводятся к российской маске. Они выводятся отдельным блоком «Номера с другим кодом страны» в виде +4930901820, со своими кнопками копирования и скачивания. Российским номер считается, если это десять цифр с кодом, начинающимся на 3, 4, 8 или 9 (после 7 или 8 или без них). Казахстанские номера (+7 6xx и +7 7xx) идут в блок с другим кодом. Номер без плюса и без российского кода инструмент не берёт вовсе: по написанию зарубежный номер не отличить от суммы или артикула.
Как обрабатывается 11-значный номер, начинающийся с 8?
Первая цифра, 7 или 8, считается кодом страны и отбрасывается. Оставшиеся десять это значащий номер, он и приводится к выбранной маске. Проверка одна: значащая часть должна начинаться с 3, 4, 8 или 9, других кодов в России нет. Поэтому 8 916 123-45-67 и +7 (916) 123-45-67 схлопнутся в один контакт, а не останутся двумя строками.
Сохраняются ли добавочные номера?
Нет. Из записи «8 (495) 123-45-67 доб. 101» в результат уйдёт только основной номер, добавочный потеряется. Если добавочные вам нужны, держите исходный текст под рукой или заранее разнесите номер и добавочный по разным колонкам.
Может ли ИНН, ОГРН или артикул попасть в список телефонов?
Теперь реже. Рядом со словами ИНН, ОГРН, КПП, БИК, СНИЛС и «счёт» число телефоном не считается. Десять цифр подряд без плюса, восьмёрки и пробелов принимаются за телефон, только если начинаются с 9 (мобильный) или перед ними стоит слово «тел», «моб» и подобное. Даты вроде 12.03.2026 и суммы вроде 1 234 567 не берутся. Артикул, который начинается с девятки и стоит без пояснений, инструмент всё же примет за номер: пробегите результат глазами перед импортом.
Сколько текста можно вставить за раз?
Ограничения в инструменте нет, и достичь его трудно. Выгрузка на десять мегабайт с двумястами тысячами номеров разбирается примерно за полсекунды, десять тысяч строк не заметны совсем. Так что кладите выгрузку целиком, резать её на части не нужно.
Передаются ли номера куда-то при обработке?
Нет, весь разбор и нормализация идут прямо в браузере на JavaScript, без обращения к серверу. Ни одна строка не уходит на сторону и не попадает в логи, поэтому чужую базу телефонов можно вставлять без риска.
Похожие инструменты
Экстрактор email из текста онлайн — с дедупликацией
Собирает почтовые адреса из текста и HTML, схлопывает повторы и отдаёт список строками или через запятую. Ничего не уходит на сервер.
Пересечение и разность списков онлайн — сравнить два или три списка
Показывает, чем два или три списка отличаются: общее, уникальное и объединение без повторов. Кнопку нажимать не нужно.
Конвертер столбец ↔ строка онлайн — список в строку через разделитель
Минус-слова для Директа, значения для SQL IN(), правка чужого перечня: столбец превращается в строку и обратно прямо в браузере.
Статьи по теме
Формы, куки, CRM: где ваш сайт нарушает 152-ФЗ и как закрыть риски до проверки
Штрафы выросли до оборотных, согласие теперь отдельное, данные должны лежать в РФ. Разбираем риски типового сайта и что чинить первым.