Инструмент подсчёта слов
Подсчёт символов, слов, строк, абзацев и другой статистики текста в реальном времени
Базовая статистика
Структурная статистика
Оценка чтения
Что такое подсчёт слов?
Инструмент подсчёта слов используется для вычисления различных статистических данных текста в реальном времени, включая количество символов, слов, строк и др. Независимо от того, пишете ли вы статьи, диссертации, комментарии к коду или контент для социальных сетей, этот инструмент поможет быстро получить базовую информацию о тексте. Этот инструмент поддерживает смешанную статистику китайского и английского, способен интеллектуально распознавать китайские иероглифы и английские слова и подсчитывать их отдельно. Также предоставляется оценка времени чтения, чтобы вы знали, сколько времени читателю потребуется для прочтения вашего контента. Для опубликованного или многоязычного контента результат нужно проверить по языку, charset, контексту и edge cases.
Инструкция по использованию
Основные операции
- Введите или вставьте текст в левое текстовое поле
- Статистика будет обновляться в реальном времени на правой панели
- При необходимости настройте параметры (пунктуация, переносы строк и т. д.)
- Очищайте, вставляйте или копируйте текст в любой момент
Правила подсчёта
- Всего символов: все символы, включая пробелы, пунктуацию и переносы строк
- Китайские иероглифы: подсчитываются все иероглифы (CJK)
- Английские слова: подсчитываются слова, состоящие из букв
- Абзацы: непустые текстовые блоки, разделённые пустыми строками
- Скорость чтения: 350 символов/мин для китайского, 225 слов/мин для английского
Применение
Технический принцип
Подсчёт слов выполняется разделением по Unicode-пробелам с помощью регулярного выражения, близкого к `text.trim().split(/\s+/).filter(Boolean)` для латинских письменностей, которое совпадает с ASCII-пробелами, табуляциями, переводами строк и Unicode-разделителями, такими как U+00A0 (неразрывный пробел) и U+2028 (разделитель строк). Это правило работает для английского, французского, немецкого и других языков с разделением слов пробелами, но не подходит для китайского, японского и тайского, где пробелы между словами отсутствуют. Поэтому CJK-текст считается по символам: `[...text].length` вместо `text.length`, поскольку оператор spread итерирует Unicode-кодовые точки и корректно обрабатывает суррогатные пары для символов выше U+FFFF (например, CJK Unified Ideographs Extension B начиная с U+20000 и большинство эмодзи на U+1F300+). Класс CJK-символов определяется с помощью Unicode-свойства `/\p{Script=Han}/u` для китайских иероглифов. Свойство `length` строки JavaScript считает UTF-16 кодовые единицы, а не символы, поэтому `'👨👩👧'.length === 8`, тогда как видимый глиф — один графемный кластер, составленный из трёх эмодзи, соединённых U+200D (Zero-Width Joiner). Точный подсчёт использует `Intl.Segmenter('en', { granularity: 'grapheme' })`, доступный во всех современных браузерах с 2023 года; для сегментации на слова на любом языке, включая CJK, `Intl.Segmenter(locale, { granularity: 'word' })` следует Unicode Standard Annex #29 и является наиболее корректным вариантом, когда он доступен. Границы предложений определяются по `[.!?…。!?]+`, за которыми следует пробел или конец строки, а абзацы — по двум или более последовательным переводам строк (`/\n\s*\n/`). Оценки скорости чтения и озвучки используют опубликованные константы скорости чтения. Мета-анализ Brysbaert (2019) показывает скорость молчаливого чтения взрослых на уровне 238 слов в минуту для нехудожественного английского текста, поэтому 225-250 wpm — стандартное значение по умолчанию в интерфейсах. Молчаливое чтение китайского текста в среднем составляет 350-500 символов в минуту. Скорость речи ниже: в выступлениях TED в среднем 163 wpm, а при озвучке аудиокниг целевое значение — 150-160 wpm. Лимит Twitter в 280 символов засчитывает CJK и большинство эмодзи как 2 взвешенных символа через библиотеку `twitter-text`, а пара региональных индикаторов (флаговый эмодзи) занимает 4 UTF-16 кодовые единицы по `.length`.
- Разделение по пробелам: `text.trim().split(/\s+/).filter(Boolean)` работает для латинских письменностей; не подходит для CJK и тайского, где отсутствуют межсловные пробелы.
- Подсчёт CJK-символов использует `[...text].length` для корректной итерации Unicode-кодовых точек (обрабатывает суррогатные пары выше U+FFFF, например расширенные иероглифы и эмодзи).
- `string.length` возвращает UTF-16 кодовые единицы, а не графемы: эмодзи-семья 👨👩👧 имеет `.length === 8`, но является одним видимым символом.
- Наиболее точная сегментация: `Intl.Segmenter(locale, { granularity: 'word' | 'grapheme' })` реализует Unicode Standard Annex #29.
- Значения скорости чтения по умолчанию: английский 225-250 wpm молча (Brysbaert, 2019), китайский 350-500 символов/мин; речь 150-160 wpm для озвучки, 163 wpm в среднем для TED.
- Разделение на предложения: `[.!?…。!?]+\s+`; разделение на абзацы: `\n\s*\n`; подсчёт строк: `text.split('\n').length`.
- Twitter засчитывает CJK и большинство эмодзи как 2 символа к лимиту в 280 через `twitter-text`; флаговый эмодзи (пара региональных индикаторов) имеет `.length === 4` в UTF-16.
Примеры
Короткое английское предложение
Вход: Hello world, this is a test.
Всего символов: 28
Символов (без пробелов): 23
Слов: 6
Предложений: 1
Время чтения: ~2 секунды (225 wpm)Смешанный китайско-английский текст
Вход: Hello 你好世界, this is ToolAct.
Всего символов: 28
Китайских иероглифов: 4 (你好世界)
Английских слов: 4 (Hello, this, is, ToolAct)
Чисел: 0Пост в Twitter в пределах 280 символов
Черновик: Launching a new browser-only toolbox today — 112 dev tools,
zero uploads, zero tracking. Check it out at toolact.com.
Всего символов: 124 (в пределах лимита Twitter в 280 символов)
Слов: 22
Строк: 2Оценка 5-минутной речи
Сценарий: ~750 английских слов
Время чтения: 3 мин 20 сек (225 wpm про себя)
Время речи: 5 мин 0 сек (150 wpm темп речи)
Абзацев: 5 | Предложений: 42Проверка длины SEO meta description
Title: "ToolAct - 112 Online Developer Tools, Free and Private"
-> 56 символов (Google показывает ~60)
Description: "Format JSON, convert timestamps, generate cron expressions,
and run 100+ more dev tools right in your browser. No uploads."
-> 148 символов (Google показывает ~155)Часто задаваемые вопросы
Что измеряет счётчик?
Общее число символов, символы без пробелов, китайские иероглифы, английские слова, цифры, строки, абзацы, предложения, а также примерное время чтения и произношения. Все значения обновляются в реальном времени, пока вы печатаете или вставляете текст.
Как определяются «слова»?
Английские слова — последовательности букв, разделённые пробельными символами. Китайские иероглифы определяются через диапазоны Unicode CJK и считаются по одному. Цифры и символы учитываются в общем числе символов.
Как рассчитывается время чтения?
По умолчанию 200–250 слов в минуту — средняя скорость молчаливого чтения у взрослого. Скорость речи ниже (~150 слов/мин), беглый просмотр быстрее (300–400 слов/мин). Это приблизительная оценка — реальное время зависит от плотности контента и опыта читателя.
Учитываются ли эмодзи и специальные символы?
Да, но имейте в виду, что эмодзи вроде 😀 в JavaScript считается как несколько кодовых единиц UTF-16 при подсчёте длины строки. Счётчик отображает видимые символы так, как они выглядят в тексте.
Почему число строк отличается от числа абзацев?
Строки разделяются одиночным переводом строки (одно нажатие Enter). Абзацы разделяются пустыми строками (два Enter). Текстовые редакторы обычно считают абзацы, редакторы кода — строки. Страница показывает оба значения, чтобы вы выбрали нужное.
Считаются ли символы в URL и коде?
Да — учитывается всё, что не является пробелом. Если хотите считать только связный текст (без URL, блоков кода, цитат), удалите их вручную перед вставкой. Некоторые страницы поддерживают режим «с учётом Markdown», который игнорирует синтаксические символы.
Загружается ли мой текст на сервер?
Нет. Подсчёт выполняется в вашем браузере. Вставленный текст никуда не передаётся.