Находит невидимые символы (zero-width space, неразрывный пробел, BOM, мягкий перенос, LRM/RLM) и удаляет. Таблица находок с кодом, позицией и подсветкой. Всё в браузере.
Каждый невидимый символ заменён плашкой со своим кодом: видно место, где он стоял
Вставьте текст — здесь появятся места, где спрятаны невидимые символы.
Одна строка на каждый вид символа: что нашлось, где стоит и что с ним станет
Пока нечего показывать: вставьте текст в поле «Исходный текст».
Невидимые символы попадают в текст при копировании: из PDF и Word вместе с типографскими пробелами, с сайтов вместе с мягкими переносами, из выгрузок таблиц вместе с меткой BOM в начале файла. Их добавляют и намеренно — чтобы защитить контакты от автоматического сбора или пометить сгенерированный текст. На экране такой символ выглядит как пустое место, но для программы это обычный знак: строка с ним не равна точно такой же строке без него.
Инструмент проходит текст посимвольно и называет каждый невидимый код: неразрывный пробел U+00A0, пробел нулевой ширины U+200B, мягкий перенос U+00AD, маркер направления U+200F, управляющий код U+0007. В таблице находок видно код, название, группу, количество вхождений и позиции, а в предпросмотре каждый невидимый символ показан плашкой на своём месте — понятно, где именно он спрятан.
Что делать с находками, решает пользователь. Символ можно удалить совсем или заменить обычным пробелом — второй вариант нужен для неразрывных и узких пробелов, которые разделяют слова. Группы включаются по отдельности: например, можно убрать только метку BOM и символы нулевой ширины, не трогая типографские пробелы. Режим «Только показать отчёт» ничего не меняет и годится, чтобы сначала посмотреть на текст со стороны.
Вставьте текст в поле «Исходный текст» — результат появится сразу в поле «Результат», кнопки «Обработать» нет. По умолчанию инструмент трогает спецпробелы, символы нулевой ширины, мягкий перенос, маркеры направления и управляющие коды. В таблице находок видно, какие символы нашлись, где именно они стоят и что с ними станет.
Шесть групп: спецпробелы (неразрывный U+00A0, узкий неразрывный U+202F, тонкая шпация U+2009 и другие), символы нулевой ширины (U+200B, U+200C, U+200D, соединитель слов U+2060, метка BOM U+FEFF), мягкий перенос U+00AD, маркеры направления (LRM, RLM, ALM и переопределения письма), управляющие коды C0 и C1 вместе со скрытыми разделителями строк, а также селекторы начертания. Обычные пробелы, табы и переносы строк невидимыми не считаются: это обычная разметка текста, и инструмент их не трогает. Группа селекторов начертания выключена по умолчанию: у эмодзи VS16 (U+FE0F) задаёт цветной вид, и его удаление меняет оформление.
Это символ U+200B: места на экране он не занимает, но в строке остаётся. Из-за него поиск по слову не находит текст, который выглядит точно так же, не совпадают ключи в JSON и ячейки в таблицах, а сравнение строк в коде даёт «не равно» там, где глазами разницы нет. Рядом стоят нулевой соединитель U+200D, нулевой несоединитель U+200C и соединитель слов U+2060, а метка BOM U+FEFF часто оказывается первым символом файла и мешает разбору первой строки.
Неразрывный пробел U+00A0 выглядит как обычный, но поиск обычным пробелом его не находит, а браузер не переносит по нему строку. Включите группу «Спецпробелы» и выберите действие: «Удалить совсем» вырежет его, «Заменить на обычный пробел» поставит на его место обычный пробел — второй вариант нужен там, где пробел разделяет слова, например в «5 000 ₽». Если рядом с неразрывным уже стоял обычный пробел, второй не добавляется.
«Убрать лишние пробелы» приводит текст к одному виду: схлопывает двойные пробелы, снимает отступы и по одному флажку меняет спецпробелы — но не показывает, что именно нашлось. Здесь наоборот: каждый невидимый символ назван по коду и позиции, ищутся также символы нулевой ширины, управляющие коды и маркеры направления, а двойные пробелы не схлопываются. Если после замены неразрывных пробелов понадобилось убрать двойные, это делает «Убрать лишние пробелы».
Таблица даёт одну строку на каждый вид символа: сам символ, код вида U+200B, название, группу, количество вхождений и позиции в формате «строка:символ». Позиции считаются в символах, а не в байтах или кодовых единицах, поэтому эмодзи в строке их не сдвигают. Последняя колонка показывает, что станет с символом при текущих настройках: «удалён», «пробел» или «не тронут». Режим «Только показать отчёт» — обратная сторона очистки: текст не меняется вообще, а найденные символы подсвечены в предпросмотре плашкой со своим кодом.
Нет. Поиск, подсветка и удаление выполняются в браузере на JavaScript: текст никуда не передаётся и не сохраняется. Инструментом можно пользоваться офлайн, а после закрытия страницы вставленный текст нигде не останется.