字数统计工具

统计字数、字符数、句子数与阅读时长。正确处理中日韩文字——多数字数工具在这里会静默算错。

所有处理均在你的浏览器内完成,数据不会上传。

0字符数
0不含空格
0字数 / 词数
0行数
0段落数
0句子数(约)
0 分钟阅读时长

中日韩文字词与词之间没有空格,因此逐字计数——这正是中文出版的习惯口径。西文按空白分隔的单词计数。中英混排的文档把两者相加。

使用方法

  1. 在输入框里输入或粘贴文本。
  2. 所有统计随输入实时更新,不需要点任何按钮。
  3. 如果文本中英混排,会额外显示两种文字各自的数量。
  4. 底部的频次表列出出现最多的字与词。

关于字数统计

数字数听上去简单,直到文本不再是英文。字数统计通常建立在「按空白切分」之上——这对拉丁 字母完全够用,对中日韩则彻底失效:这些语言不在词间留空格,于是整段话变成一个词元。至今 仍有不少在线工具,对着一整页中文报出 1

本工具的做法是:中日韩文字逐字计数,西文按词计数,再相加。这与两种传统各自的口径 一致——中文出版和学术要求说的是「字数」,英文的篇幅限制说的是 words。中英混排的文档 除总数外,还会分别给出两个数字。

另一处不易察觉的错误在字符计数。在 JavaScript 里 "🎉".length 等于 2,因为它数的是 UTF-16 码元而非字符。由四个人形加零宽连接符组成的一家人 emoji 会报 11。任何用 .length 数字符的工具都会把 emoji 多算,而这个误差恰恰在最讲究字数限制的社交媒体草稿里累积得最快。 本工具按字形簇切分,你看到的一个字符就算一个。

阅读时长刻意只做粗估。英文每分钟 200 词、中文每分钟 300 字都是大量个体差异下的平均值—— 密集的技术文章比熟悉的叙事文本慢得多。它适合用来判断「这是五分钟还是十五分钟的阅读量」, 不适合用于更精确的场合。

常见问题

中文是怎么计数的?

逐字计数,一个汉字算一个。中日韩文字词与词之间没有空格,靠空白分词的工具根本无从下手——一篇一千字的文章会被数成 1 个词。按字计数正是中文出版的习惯口径,本工具采用的就是它。

为什么和 Word 的统计结果不一样?

Word 对连字符复合词、带单位的数字、东亚文字各有自己的规则。本工具把 well-known 这样的复合词算作一个词,中日韩文字按字计数。同一段文本上出现小幅差异是正常的;如果你有硬性字数要求,先确认提要求的一方用的是哪个工具。

emoji 会被正确计数吗?

会,而这恰恰是朴素实现翻车的地方。JavaScript 的字符串长度数的是 UTF-16 码元,所以一个 🎉 会算成 2,一家人 👨‍👩‍👧‍👦 会算成 11。本工具数的是你实际看到的字符:两者都算 1。

阅读时长怎么算的?

西文按每分钟 200 词,中日韩按每分钟 300 字,这是各自常用的估算口径,混排文档把两者相加。请把它当作粗略参考——真实阅读速度随内容难度和熟悉程度变化极大。

我的文本会被上传吗?

不会。全部在你的浏览器内随输入实时统计,不上传、不保存、不记录。如果你统计的是未发表的稿件或涉密内容,这一点很重要。

为什么句子数是「约」?

因为句号和缩写点长得一模一样。「Dr. Smith arrived.」是一句话却有两个点号,要可靠地区分它们需要一份缩写词典。这个数字足够有参考价值,所以标明是近似值,而不是假装精确。