Free Tool

Генератор пробелов нулевой ширины

Копируйте пробел нулевой ширины (U+200B). Форматный символ нулевой ширины, говорящий браузерам и текстовым движкам, где строке разрешено переноситься, — без дефиса и без занятия места.

Сгенерировать пробел нулевой ширины
Выберите, сколько символов U+200B копировать
Пробел нулевой шириныU+200B

Форматный символ нулевой ширины, отмечающий возможность переноса строки. Ничего не отрисовывает, не занимает места и никогда не вставляет дефис.

Зачем нужен пробел нулевой ширины

Пробел нулевой ширины (ZWSP, U+200B) — Unicode-форматный символ без видимого глифа и с нулевой шириной продвижения. Его задача — сказать движку отрисовки, где строке разрешено разрываться. HTML-элемент <wbr> ведёт себя идентично. Браузеры и текстовые процессоры сверяются с этими точками переноса при упаковке длинных строк — длинный URL с символами U+200B после каждого слэша будет аккуратно переноситься в этих точках, а не вылезать из контейнера. Символ создан для письменностей вроде тайской, лаосской и кхмерской, где не используют пробелы между словами; вставка U+200B между словами позволяет движку их переносить. В латинском тексте у него другой набор применений: разрыв @упоминаний и #хэштегов в Twitter, чтобы они не превращались в авто-ссылки, разбиение длинных составных слов в немецком и скрытая разметка точек переноса внутри длинных идентификаторов.

Где U+200B действительно полезен

Перенос длинных URL и строк
Поместите U+200B после каждого слэша или точки в длинном URL, и браузер перенесёт строку в этих точках, а не будет вытягивать вёрстку. В месте разрыва не появится дефис.
Отключение авто-ссылок в постах
Twitter и другие платформы превращают @username и #hashtag в ссылки. Пробел нулевой ширины между символом и текстом ломает совпадение, не меняя того, как оно читается.
Управление переносом слов в CSS
Пара U+200B и word-break: keep-all отмечает разрешённые точки переноса в CJK-тексте, подавляя переносы в остальных местах. В спеке CSS Text это названо предполагаемым шаблоном.
Вотермаркинг текста
Вставьте U+200B в выбранные позиции документа — и вы получите отпечаток, который переживает копи-паст, но невидим читателям. Каждый получатель — свой узор.

Как U+200B ведёт себя на краях

U+200B — форматный символ (общая категория Cf), а не пробел. Это различие важно. Он не пробельный, поэтому JavaScript trim() его не удаляет — но он и невидим, поэтому строка, идентичная для человека, может отличаться на уровне байтов. Исследователи безопасности использовали это свойство, чтобы прятать нагрузку в идентификаторах: две строки, отрисовываемые как «admin», могут быть разными для базы, если в одной есть U+200B. Раскрытия Trojan Source (CVE-2021-42574 и CVE-2021-42694) задокументировали, как невидимые Unicode-символы могут заставить исходный код компилироваться не так, как он читается. Со стороны отрисовки U+200B широко поддерживается браузерами, но вырезается чатами, очищающими ввод, — WhatsApp и TikTok удаляют его из сообщений и био, а Discord обрабатывает непоследовательно по полям. Когда платформа его вырезает, fallback обычно — видимый, но пустой символ вроде U+2800 (брайлевский пробел).

Заметки перед использованием U+200B

U+200B отмечает возможность переноса; он её не принуждает. Движок всё равно решает, переносить ли, исходя из доступной ширины.

Он никогда не показывает дефис в точке разрыва. Для видимого дефиса при переносе используйте мягкий перенос (U+00AD).

JavaScript trim() не удаляет U+200B, потому что он не классифицируется как пробельный. Используйте регэксп, нацеленный на U+200B, если нужно его вырезать.

Чтобы запретить перенос вместо разрешения, используйте U+2060 (соединитель слов) — противоположность U+200B и современная замена устаревшему U+FEFF.

Чаты, очищающие ввод, часто вырезают U+200B. Для пустых сообщений или ников переключайтесь на U+2800 или U+3164.

Помещение U+200B внутрь хэштега или @упоминания ломает ссылку. Полезно, когда нужно упомянуть CSS-правило @media, не активируя профиль-ссылку.

Где работает пробел нулевой ширины

U+200B поддерживается каждым современным браузером и большинством текстовых процессоров, где работает как точка возможного переноса. Спецификация CSS Text Module явно ссылается на него наряду с элементом <wbr> как на способ отметить точки переноса. В чатах и социальных сетях поддержка рваная. WhatsApp, Instagram и Discord принимают его в одних полях и вырезают в других. TikTok удаляет его из био. Игровые платформы редко принимают его в никах. Эмпирическое правило: в браузере или текстовом редакторе U+200B надёжен; в чате или социальном поле — сначала проверяйте и держите U+2800 или U+3164 как запасной вариант.

Частые вопросы об U+200B