字数统计器
统计文字、字符、句子、段落数量并估算阅读和朗读时间
加载示例
0
字数
0
字符数
0
字符数(不含空格)
0
句子数
0
段落数
—
阅读时间
—
朗读时间
输入文本
本地运行 · 粘贴密钥安全无忧
什么是字数统计?
字数统计工具可以告诉你一段文本包含多少字词、字符、句子和段落。它以空白字符为边界切分输入内容,并运用基于规则的模式来识别句子和段落。“字词”的定义因语言、文字体系和使用场景而异。在英文中,以空白分隔的词元效果良好。但在中日韩(CJK)语言中,词语之间没有空格,分词需要借助基于词典的算法,例如 ICU 的 BreakIterator。
字符计数有两种常见定义:含空格和不含空格。总字符数包括文本中的每一个 Unicode 码位,包括空格、制表符和换行符。不含空格的字符数会在计数前去除所有空白字符,这是 Twitter(现更名为 X)等平台用于限制发布长度的指标,也是按字符收费的译员所使用的计量方式。在向有严格长度限制的系统粘贴文本时,这两种计数方式的区别至关重要。
阅读时间和朗读时间的估算方式是用字数除以平均速率。发表于《记忆与语言杂志》的研究(Brysbaert,2019 年)表明,英文散文的平均默读速度为每分钟 238 个词。演讲的朗读速度通常为每分钟 130 至 160 个词。这些平均值因文本难度、受众和语言的不同而有所差异,但对于博客文章、技术文档和幻灯片演示来说,已是实用的参考依据。
为什么使用这个字数统计器?
粘贴文本后即可实时获得字数、字符数、句子数和段落数,无需注册账号,也不会向网络发送任何数据。
⚡
即时显示结果
输入或粘贴文本时,统计数据即时更新。无需点击任何按钮,没有加载等待。可以连续测试不同的文本,无需等待。
🔒
隐私优先处理
所有统计均在浏览器中通过 JavaScript 完成。文本不会离开你的设备,不会被任何服务器存储或记录。
📊
七项指标一次呈现
字数、字符数(含空格和不含空格)、句子数、段落数、阅读时间和朗读时间,粘贴一次即可获取全部数据。
🌍
无需注册或安装
打开页面即可开始统计。无需注册,无需浏览器扩展,无需桌面应用。支持任何配备现代浏览器的设备。
字数统计器使用场景
内容写作与博客创作
对照 SEO 目标核查文章篇幅。Google 虽未强制规定最低字数,但 Backlinko 和 Ahrefs 的研究显示,竞争性查询中排名靠前的页面平均字数在 1400 至 1700 词之间。
API 文档编写
保持接口描述的一致性。如果你的文档规范要求每条参数描述不超过 200 个字符,可以将文本粘贴到此处,在提交代码前进行核查。
学术论文准备
会议投稿和学术期刊对字数有严格限制。提交前先统计字数,避免因超出上限而被直接退稿。
社交媒体帖文撰写
Twitter/X 允许 280 个字符,LinkedIn 帖文在 3000 个字符后截断,Meta 广告标题上限为 40 个字符。发布前先核查字符数。
DevOps 提交信息
Git 提交信息的惯例格式建议标题行不超过 50 个字符,正文每行不超过 72 个字符。提交前粘贴草稿进行检查。
翻译与本地化
译员按字数或字符数计费。在将文件发送给翻译机构之前,先准确统计源文本数量,以便请求报价和估算项目成本。
文本指标参考
本工具报告的每项指标都有具体的定义。下表说明了各指标的计算方式。
| 指标 | 计算方式 | 示例 |
|---|---|---|
| Words | Sequences separated by whitespace | "hello world" → 2 |
| Characters | All characters including spaces | "hi there" → 8 |
| Characters (no spaces) | Letters, digits, punctuation only | "hi there" → 7 |
| Sentences | Segments ending with . ? or ! | "Hi. Bye!" → 2 |
| Paragraphs | Text blocks separated by blank lines | "A\n\nB" → 2 |
| Reading time | Word count ÷ 238 wpm (silent reading avg) | 1 000 words → ~4.2 min |
| Speaking time | Word count ÷ 150 wpm (presentation pace) | 1 000 words → ~6.7 min |
字数 vs. 字符数
这两项指标回答的问题不同。选错指标可能导致投稿被拒或界面布局出现问题。
字数
统计以空白字符分隔的词元数量。这是论文、文章和书稿的标准计量方式。大多数学术期刊、博客平台和自由职业合同均以字数定义篇幅。该指标与语言相关:一段 500 词的英文段落,译成德文可能需要 700 个词,而译成中文可能只需约 300 个汉字。
字符数
统计单个字符(Unicode 码位)的数量。这是社交媒体字数限制(Twitter:280 个字符)、短信(GSM-7 编码 160 字节)、UI 字符串以及中日韩文本(词语之间无空格)的标准计量方式。平台说的“字符限制”通常指码位,而非字节数。代理对(如 emoji、部分 CJK 字符)可能被计为 1 个或 2 个,具体取决于平台。
代码示例
以下展示如何在不同编程语言中以编程方式统计字数和字符数,每个示例处理相同的输入字符串以便对比。
JavaScript
// Word count — split on whitespace, filter empty strings const text = 'Hello world! How are you?' const words = text.trim().split(/\s+/).filter(Boolean) console.log(words.length) // → 5 // Character count console.log(text.length) // → 27 (with spaces) console.log(text.replace(/\s/g, '').length) // → 22 (without spaces) // Sentence count — split on sentence-ending punctuation const sentences = text.split(/[.!?]+/).filter(s => s.trim().length > 0) console.log(sentences.length) // → 2 // Reading time estimate (238 wpm average) const readingMin = words.length / 238 console.log(Math.ceil(readingMin)) // → 1 min
Python
import re
text = 'Hello world! How are you?'
# Word count
words = text.split()
print(len(words)) # → 5
# Character counts
print(len(text)) # → 27 (with spaces)
print(len(text.replace(' ', ''))) # → 22 (without spaces)
# Sentence count
sentences = [s for s in re.split(r'[.!?]+', text) if s.strip()]
print(len(sentences)) # → 2
# Paragraph count
multiline = """First paragraph.
Second paragraph."""
paragraphs = [p for p in multiline.split('\n\n') if p.strip()]
print(len(paragraphs)) # → 2Go
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
text := "Hello world! How are you?"
// Word count
words := strings.Fields(text)
fmt.Println(len(words)) // → 5
// Character count (rune-aware for Unicode)
fmt.Println(len([]rune(text))) // → 27
// Characters without spaces
noSpaces := strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
return -1
}
return r
}, text)
fmt.Println(len([]rune(noSpaces))) // → 22
}CLI (bash)
# Word count echo "Hello world" | wc -w # → 2 # Character count (bytes — use wc -m for multibyte chars) echo -n "Hello world" | wc -m # → 11 # Line count echo -e "line1\nline2\nline3" | wc -l # → 3 # Count words in a file wc -w < article.txt # → 4230
常见问题
字数统计器如何定义“字词”?
本工具以空白字符(空格、制表符、换行符)为边界切分文本,并统计非空词元的数量。连字符连接的词组(如 "well-known")计为一个词。这与 Microsoft Word 和 Google Docs 对英文文本的处理方式一致。对于中日韩语言,由于这些文字体系不在词语间使用空格,按空白分词会低估实际字数。
阅读时间估算准确吗?
估算基于每分钟 238 个词的速率,依据是 Marc Brysbaert 于 2019 年涵盖 190 项研究的元分析。这是成年人默读英文非虚构散文的合理平均值。含有代码块的技术文档阅读速度更慢(每分钟 150 至 180 个词),而轻松的博客内容阅读速度更快(每分钟 250 至 300 个词)。请将此数值作为参考依据,而非精确保证。
字符数与不含空格的字符数有何区别?
字符数包括文本中的所有字符:字母、数字、标点符号、空格、制表符和换行符。不含空格的字符数会在计数前去除所有空白字符。当检查 Twitter 等平台的字符限制时(空格也计入限制),或在中日韩语言的翻译计费中(空格不属于书写系统的一部分),请使用“不含空格”的计数。
句子数是如何计算的?
工具统计以句号、感叹号或问号结尾的片段数量。“Dr.”或“U.S.A.”等缩写词可能导致计数偏高,因为每个句号都会触发一次匹配。如需精确的句子分割,请使用 spaCy 或 NLTK 等 NLP 库,它们通过训练模型来处理缩写、省略号和小数点。
能否统计文件中的字数而不粘贴内容?
本浏览器工具仅支持粘贴文本。若要从命令行统计文件字数,在 Linux 或 macOS 上可使用 wc -w filename。在 Windows 上,PowerShell 提供了 (Get-Content file.txt | Measure-Object -Word).Words。对于大文件或批量处理,命令行工具比任何基于浏览器的计数器都更快。
工具能否正确统计 Unicode 字符?
可以。JavaScript 的 string.length 统计的是 UTF-16 代码单元,而非码位,因此像国旗这样的单个 emoji(由多个码位组成的 ZWJ 序列)可能报告比预期更高的字符数。本工具使用与浏览器内置字符串 API 相同的计数方式。如需精确的字形簇计数,请使用现代浏览器提供的 Intl.Segmenter API。
与 Microsoft Word 或 Google Docs 的字数统计相比如何?
Microsoft Word 和 Google Docs 对英文字数统计使用类似的空白分词方式。连字符词、不带空格的破折号以及脚注或页眉的处理方式可能导致细微差异。本工具仅统计你粘贴的文本内容,不含任何元数据、页眉或脚注。若要与某个平台的计数精确匹配,请将相同文本分别粘贴到两处进行对比。