Счетчик слови время чтения

Подсчет слов, символов, абзацев и предложений в реальном времени с оценкой времени чтения. Полностью локальная обработка — текст не покидает ваш браузер.

Введите текст

Статистика обновляется в реальном времени

Статистика
Расчётное время чтенияКитайский ~500 зн./мин · Английский ~200 слов/мин
Символы CJKКитайский, Японский, Корейский
Английские словаразделённые пробелами
Символывключая пробелы
Символы (без пробелов)без пробелов
Абзацыразделённые пустыми строками
Предложения. ! ? 。!? …
Размер в байтах UTF-8

Этот инструмент решил вашу проблему?

Примеры кода

JavaScript
const text = "Hello 世界";

// CJK characters (Chinese, Japanese, Korean)
const cjk = (text.match(
  /[\u4e00-\u9fff\uac00-\ud7af]/g
) ?? []).length; // 2

// English words
const words = (text.match(
  /[a-zA-Z][a-zA-Z'-]*/g
) ?? []).length; // 1

// Reading time (ms)
const mins = cjk / 500 + words / 200;
Python
import re

text = "Hello 世界"

# CJK characters (Chinese, Japanese, Korean)
cjk = len(re.findall(
    r'[\u4e00-\u9fff\uac00-\ud7af]', text
))  # 2

# English words
words = len(re.findall(
    r'[a-zA-Z][a-zA-Z\'-]*', text
))  # 1

# Characters without spaces
no_sp = len(text.replace(" ", ""))
TypeScript
function wordStats(text: string) {
  const cjk = (text.match(
    /[\u4e00-\u9fff\u3040-\u30ff\uac00-\ud7af]/g
  ) ?? []).length;
  const words = (text.match(
    /[a-zA-Z][a-zA-Z'-]*/g
  ) ?? []).length;
  const paragraphs = text
    .split(/\n\s*\n/)
    .filter(p => p.trim()).length;
  return { cjk, words, paragraphs };
}
Go
import (
    "regexp"
    "unicode"
)

func countCJK(s string) int {
    count := 0
    for _, r := range s {
        if unicode.Is(unicode.Han, r) ||
           unicode.Is(unicode.Hangul, r) {
            count++
        }
    }
    return count
}

var wordRe = regexp.MustCompile(
    `[a-zA-Z][a-zA-Z'-]*`)

Часто задаваемые вопросы

Как подсчитываются символы CJK?
Инструмент подсчитывает унифицированные иероглифы CJK в Unicode, включая распространенные китайские иероглифы (U+4E00–9FFF), расширение A (U+3400–4DBF), иероглифы совместимости (U+F900–FAFF), японские хирагану/катакану (U+3040–30FF) и корейские слоги хангыль (U+AC00–D7AF).
Как подсчитываются английские слова?
Английские слова подсчитываются как последовательности букв, включая дефисы и апострофы. Например: don't считается за 1 слово, state-of-the-art считается за 1 слово. Чистые числа не считаются словами.
Как рассчитывается время чтения?
Скорость чтения китайского текста оценивается примерно в 500 символов/минуту (тихое чтение взрослого), английского — примерно 200 слов/минуту. Для смешанных текстов оба значения рассчитываются отдельно и суммируются для более точной оценки.
Как определяются абзацы?
Абзац — это блок текста, отделенный одной или несколькими пустыми строками. Одиночный перенос строки не создает новый абзац — это соответствует Markdown и большинству текстовых редакторов.
Отправляется ли мой текст на сервер?
Нет. Этот инструмент работает полностью в вашем браузере. Все вычисления выполняются локально — ваш текст никогда не покидает ваше устройство, что делает его безопасным для конфиденциальных документов.
Для чего нужен размер в байтах UTF-8?
Размер в байтах показывает, сколько места текст фактически занимает в кодировке UTF-8. Это полезно для проверки ограничений полей базы данных (например, длины VARCHAR), размера полезной нагрузки API-запросов или хранилища файлов. Китайские иероглифы обычно занимают по 3 байта в UTF-8.