Счётчик слов и символов
Считаем не «длину строки в коде», а понятные человеку слова, видимые символы, предложения, абзацы и строки
Инструменты текста и учёбы
Что нужно сделать?
Счётчик слов и символов

Как именно считаются слова и символы
Один и тот же текст можно посчитать по-разному, если заранее не определить правила. Удобник показывает каждое правило рядом с результатом, чтобы цифры можно было повторить и проверить.
Символ для человека и символ для программы — не всегда одно
Некоторые видимые знаки состоят из нескольких кодовых точек. Например, буква может храниться вместе с отдельным знаком ударения, а семейный эмодзи объединяет несколько людей связующими знаками. Мы считаем расширенные графемы Unicode — то, что обычно воспринимается как один символ.
| Пример | Кодовые единицы JavaScript | Видимые графемы |
|---|---|---|
| А | 1 | 1 |
| е + ударение | 2 | 1 |
| 👨👩👧👦 | 11 | 1 |
Что входит в «без пробелов»
Из общего количества убираются все графемы со свойством Unicode White_Space: обычный и неразрывный пробел, табуляция, перевод строки и другие стандартизованные пробельные знаки. Пунктуация, дефисы и эмодзи остаются.
без пробелов + пробельные = все символы
Одно прозрачное правило для слов
Слово начинается с буквы или цифры и продолжается буквами, цифрами или комбинируемыми знаками. Дефис, тире или апостроф остаётся внутри слова только тогда, когда по обе стороны есть буквенная или цифровая часть.
Предложения определяются по контексту
Обычное разделение по каждой точке ошиблось бы в числе 2.1 и многих сокращениях. Поэтому сервис использует сегментацию предложений `Intl.Segmenter` для русской локали и считает только сегменты, в которых есть буква или цифра.
Любой автоматический алгоритм может встретить неоднозначную авторскую пунктуацию. Поэтому количество предложений — полезный структурный показатель, но не редакторское заключение.
Строки и абзацы — разные величины
Строка появляется после каждого перевода строки. Даже пустая последняя строка после завершающего перевода учитывается. Абзац — это непрерывный блок непустых строк; одна или несколько пустых строк отделяют следующий абзац.
Время чтения — понятная оценка
Формула проста: слова ÷ скорость чтения × 60 секунд. По умолчанию установлено 180 слов в минуту, но значение можно менять от 60 до 600. Итог округляется вверх до секунды.
181 слово ÷ 180 слов/мин × 60 = 61 секунда
Почему есть ограничение в 100 000 символов
Подсчёт выполняется в браузере и не должен подвешивать вкладку на слабом телефоне. Лимит относится к видимым графемам; перед тяжёлой сегментацией также действует техническая защита от аномально длинной строки.
Приватность текста
Страница не имеет API для этого инструмента. Исходный текст не сохраняется в URL или браузерном хранилище и не передаётся в аналитику. Классы `ym-disable-keys`, `ym-disable-submit` и `ym-hide-content` дополнительно закрывают поле и производные результаты от Вебвизора.
Методика и первичные источники
- Unicode Standard Annex #29: Text Segmentation — границы графем, слов и предложений.
- ECMA-402: Intl.Segmenter — стандартный программный интерфейс сегментации.
- Яндекс Метрика: защита содержимого полей — классы маскирования для Вебвизора.
Частые вопросы
Что калькулятор считает символом?
Один видимый Unicode-элемент, или графему. Поэтому буква с комбинируемым ударением и семейный эмодзи из нескольких кодовых точек считаются по одному символу.
Пробел входит в количество символов?
Да. Основной счётчик включает пробелы, табуляцию и переводы строк. Рядом отдельно показано число символов без всех Unicode-пробелов.
Как считается слово через дефис?
Если дефис или апостроф стоит между буквенными или цифровыми частями, вся последовательность считается одним словом: кто-то и rock’n’roll. Отдельный знак препинания словом не является.
Считаются ли числа словами?
Да. Непрерывная последовательность цифр считается словом. Это делает правило понятным для дат, артикулов и учебных текстов.
Как считаются абзацы и строки?
Каждый перевод строки создаёт следующую строку. Новый абзац начинается после одной или нескольких пустых строк; строки только из пробелов тоже считаются пустыми.
Точно ли определяется количество предложений?
Сервис использует языковую сегментацию Unicode и хорошо отличает многие сокращения и десятичные точки. Но автоматическая граница предложения остаётся приближением для неоднозначных авторских конструкций.
Как рассчитано время чтения?
Количество слов делится на выбранную скорость в словах за минуту. Результат переводится в секунды и округляется вверх. Это ориентир, а не обещание точного времени.
Передаётся ли мой текст на сервер?
Нет. Подсчёт выполняется локально в текущей вкладке. Текст не попадает в URL, localStorage, API или аналитику и закрыт от записи Вебвизора.