Неразрывный пробел выглядит как обычный, но строка на нём не разрывается: слова по обе стороны всегда остаются вместе. Его ставят между числом и единицей («15 900 ₽», «2026 г.»), между инициалами и фамилией, после коротких предлогов. В Word его вводят сочетанием Ctrl+Shift+Пробел, в программах Windows подойдёт Alt+0160, а в HTML пишут мнемонику . В Юникоде это символ U+00A0.
Дальше по порядку: чем он отличается от обычного пробела, где его требуют правила набора, когда в вёрстке вредит и почему из-за него не сходятся числа в Excel и падает код на Python.
Чем неразрывный пробел отличается от обычного

По ширине разницы обычно нет. Различается поведение: браузер и текстовый редактор обращаются с этими символами по-разному.
| Признак | Обычный пробел | Неразрывный пробел |
|---|---|---|
| Код в Юникоде | U+0020 | U+00A0 |
| Перенос строки на нём | разрешён | запрещён |
| Несколько подряд в HTML | схлопываются в один | сохраняются все |
| Растягивается при выравнивании по ширине | да | да (в браузере) |
| Как ввести | клавиша «Пробел» | Ctrl+Shift+Пробел, Alt+0160, |
Запрет переноса записан в стандарте Юникода. В алгоритме переноса строк UAX #14 символ U+00A0 входит в класс GL, «склейку»: он запрещает разрыв строки и до себя, и после.
Схлопывание задаёт CSS. По спецификации CSS Text обработка пробелов касается только обычного пробела, табуляции и переводов строки. U+00A0 в этот список не входит, поэтому пять подряд браузер покажет пятью пробелами. Там же неразрывный пробел назван разделителем слов, так что при text-align: justify он растягивается вместе с обычными.
На кадре ниже один и тот же текст в рамке шириной 250 пикселей. Слева обычные пробелы: цифра «6» осталась в конце строки, а слово «месяцев» уехало вниз. Справа неразрывные: цифра перешла на новую строку вместе со словом, а предлог «в» вместе с годом. Повторить опыт несложно: создайте HTML-файл, вставьте оба варианта и сузьте окно браузера.

Как поставить неразрывный пробел
Способ зависит от программы. Ниже самые частые случаи.
В Microsoft Word
Поставьте курсор между словами и нажмите Ctrl+Shift+Пробел. Если удобнее мышью, путь через меню описан в справке Microsoft:
- Вкладка «Вставка» → группа «Символы» → «Символ».
- Пункт «Другие символы».
- Вкладка «Специальные символы» → строка «Неразрывный пробел» → кнопка «Вставить».
Есть и третий вариант: наберите 00A0 и сразу нажмите Alt+X, код превратится в символ. Приём работает для любого знака Юникода, он описан в справке Microsoft о вводе символов.
В других программах Windows
Зажмите Alt и наберите 0160 на цифровой клавиатуре справа. Цифры над буквами для этого не подходят, а Num Lock должен быть включён, об этом предупреждает та же справка Microsoft.
Символ с кодом 160 и есть неразрывный пробел. Так его можно вставить в браузере, почте или мессенджере. Тем же способом ставят символ градуса, только код другой: 0176.
В МойОфис, LibreOffice и Tilda
- «МойОфис Текст»: Ctrl+Shift+Пробел или меню «Специальные символы», так пишут в блоге разработчика.
- LibreOffice Writer: команда «Непечатаемый символ» открывает подменю с неразрывным пробелом и его узким вариантом U+202F, как сказано в справке LibreOffice.
- Tilda: отдельная кнопка на панели редактирования текста, её показывает справка Tilda. Пригодится, если вы собираете сайт на Тильде и заголовок на телефоне рвётся в неудачном месте.
В HTML
Три записи дают один и тот же символ U+00A0, это видно в таблице мнемоник стандарта HTML:
мнемоника
  десятичный код
  шестнадцатеричный код
<p>Цена со скидкой 15 900 ₽</p>
Можно вставить в исходник и сам символ. Работать он будет так же, но в редакторе кода неотличим от обычного пробела, а видно при правке. Задача у него обратная тегу br: тот переносит строку принудительно, а неразрывный пробел перенос запрещает.
Где нужен неразрывный пробел по правилам набора

Строгого свода правил нет. В «Ководстве» студии Лебедева прямо сказано, что правила переноса носят рекомендательный характер. Но основные случаи у справочников похожи, вот список из справки Tilda:
- число и единица или слово после него: 42 км, 20 котят, 1984 г.;
- инициалы и фамилия: А. С. Пушкин;
- сокращения с точками: т. е., и т. д.;
- одно- и двухбуквенные предлоги и союзы со следующим словом: в Москве, и вот;
- слово перед тире: тире должно остаться в конце строки, а не начинать новую.
Последние два пункта есть и в «Ководстве», и в справке Tilda. Туда же относятся группы разрядов в больших числах: 15 900, 1 234 567. Так их форматирует и сам браузер: (1234567).toLocaleString("ru-RU") возвращает строку с U+00A0 между группами.
Телефоны и слова через дефис неразрывными пробелами не склеивают. По «Ководству», для них используется неразрывный диапазон, а в современной вёрстке его задают свойством white-space: nowrap из CSS.
В редакциях за такие мелочи отвечает типограф. В вебе текст обычно прогоняют через автоматический типограф: он сам расставляет кавычки, тире и неразрывные пробелы.
Когда неразрывный пробел в вёрстке вредит
Частая ошибка: делать отступ цепочкой . Это работает, потому что такие пробелы не схлопываются. Но ширина отступа зависит от шрифта, а длинную цепочку слов, склеенных неразрывными пробелами, браузер не может перенести, и на узком экране она вылезает за край блока.

Решение: отступы задавать стилем, через margin или padding, как в третьем примере на кадре. Про оформление абзацев отдельно рассказано в статье о теге p.
Телефон или артикул, который нельзя рвать, удобнее обернуть в класс, чем ставить между каждой группой цифр:
.nowrap { white-space: nowrap; }
<span class="nowrap">+7 495 123-45-67</span>
На телефонах с узким экраном такие блоки стоит проверить отдельно, а правила для разных ширин собрать в медиа-запросы.
Неразрывный пробел в данных и коде
Цены и суммы, скопированные с сайтов, часто приходят с U+00A0 между разрядами. Человек разницы не видит, а программа сравнивает коды символов, и строка «15 900» для неё не равна «15 900».
Excel
Функция СЖПРОБЕЛЫ убирает только обычный пробел с кодом 32. Знак неразрывного пробела с десятичным кодом 160 она не удаляет, так прямо написано в справке функции.
Для символа 160 Microsoft в руководстве по очистке данных советует сначала заменить его функцией ПОДСТАВИТЬ:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" "))
Чистить выгрузку стоит до того, как вы начнёте удалять дубликаты: строки, которые отличаются только видом пробела, Excel считает разными.
Python
Код ниже запущен в Python 3.14, вывод в комментариях настоящий:
price = "15\xa0900" # так цена приходит со страницы сайта
print(price == "15 900") # False: в образце обычный пробел
print(price.replace(" ", "")) # 15 900: replace не тронул U+00A0
print(price.split()) # ['15', '900']: split() считает его пробелом
print(int(price.replace("\xa0", ""))) # 15900
Если отдать такую строку прямо в int(), получите ValueError: invalid literal for int() with base 10: '15\xa0900'.
JavaScript
В JS неразрывный пробел попадает под \s в регулярных выражениях, поэтому чистить проще. Ловушка в другом: форматирование чисел для русской локали само ставит U+00A0, и сравнение с образцом через обычный пробел ломается. Вывод из Node.js 25:
const n = (1234567).toLocaleString("ru-RU");
console.log(n === "1 234 567"); // false
console.log(n.charCodeAt(1)); // 160
console.log(/\s/.test(" ")); // true
console.log(n.replace(/\s/g, "")); // 1234567
Похожие тонкости с невидимыми символами встречаются, когда строку кодируют в Base64: результат зависит от того, какой пробел был в исходнике.
Другие особые пробелы

Кроме U+00A0 в Юникоде есть пробелы фиксированной ширины. Большинство из них на перенос не влияют: по UAX #14 у них своя ширина, но строка на них разрывается так же, как на обычном пробеле.
| Символ | Код | В HTML | Строка разрывается |
|---|---|---|---|
| Неразрывный пробел | U+00A0 | |
нет |
| Узкий неразрывный пробел | U+202F |   |
нет |
| Цифровой пробел, шириной с цифру | U+2007 |   |
нет |
| Тонкая шпация | U+2009 |   |
да |
| Полукруглая шпация | U+2002 |   |
да |
| Круглая шпация | U+2003 |   |
да |
| Пробел нулевой ширины | U+200B | ​ |
да, без видимого пробела |
Узкий неразрывный пробел ставят там, где обычный кажется слишком широким. Пробел нулевой ширины решает обратную задачу: подсказывает браузеру, где можно перенести длинный адрес или слово. Как один символ превращается в разные начертания на экране, разобрано в статье про глифы.
Где освоить HTML и вёрстку
Неразрывные пробелы, перенос строк на узком экране, выбор тега для абзаца: из таких решений состоит ежедневная работа HTML-верстальщика. Системно этому учат на курсах HTML и CSS, ниже пять программ из каталога Checkroi.
| Курс | Школа | Стоимость со скидкой | В рассрочку | Длительность | Обзор курса от Checkroi |
|---|---|---|---|---|---|
| HTML и CSS с нуля Перейти на сайт курса | 91 626 ₽ | 7635 ₽/мес. | 11 месяцев | Обзор курса | |
| HTML и CSS. Адаптивная вёрстка и автоматизация Перейти на сайт курса | 23 400 ₽ | 3900 ₽/мес. | 2 месяца | Обзор курса | |
| Основы вёрстки HTML и CSS Перейти на сайт курса | 32 676 ₽ | 2723 ₽/мес. | 3 месяца | Обзор курса | |
| HTML и CSS с нуля | 195 160 ₽ | 7972 ₽/мес. | 12 месяцев | Обзор курса | |
| Онлайн-курс Вёрстка на HTML и CSS Перейти на сайт курса | 29 900 ₽ | 2491 ₽/мес. | 3 месяца | Обзор курса |
Больше программ — в полном каталоге курсов по HTML




