字符计数器

计算字符、单词、句子、段落并估算阅读时间。

0
字符
0
不含空格
0
单词
0
句子
0
段落
0
0
平均词长
0 min
阅读时间
0 min
朗读时间

关于字符计数器

我们的字符计数器即时为您提供文本的统计数据。使用它来检查 Twitter/X 帖子限制(280 字符)、SEO 标题长度(60 字符)、元描述(160 字符)或任何其他字符受限的内容。所有处理都在您的浏览器中进行 · 不会向任何服务器发送任何内容。

常见字符限制

Twitter/X 帖子: 280 字符

Instagram 简介: 150 字符

SEO 标题: 50-60 字符

元描述: 150-160 字符

YouTube 标题: 100 字符

短信消息: 160 字符

工作原理

  1. 把文本输入或粘贴到文本框中。计数器在你每一次按键时实时更新,没有「计算」按钮可按。
  2. 读取实时统计。带空格的字符数、不带空格的字符数、词数、句子数、段落数、行数、平均词长,以及阅读和讲话时间估算,都会随你编辑而重新计算。
  3. 设置可选的字符上限,用于你正在为之撰写的平台(Twitter 280、SMS 160、Bluesky 300 等),并观察进度条填满。当你接近上限时,进度条变为琥珀色;当你越过时,变为红色。
  4. 完成时复制或清除。「复制文本」会把内容放入剪贴板;「清除」会清空文本框。任何东西都不会被发送到任何地方,整个计数器都在你的浏览器中运行。

2026 年值得关注的字符上限

每个平台都有自己的天花板,有几个还有隐藏规则,真正咬人的通常是可见性限制(超过某个点的文本会被隐藏在「…更多」之后)以及按通道的编码规则。

平台字段上限备注
Twitter / XStandard post280URL 始终算 23。CJK 和 emoji 各算 2。
X PremiumLong post25,000大约相当于一篇 4 000 字的文章。
BlueskyPost300URL 算 22;简介 256,显示名 64,替代文本 2 000。
ThreadsPost500长文本附件可以另外允许更多。
MastodonToot500 (default)按实例,很多运行 1 000+ 或 5 000+。
LinkedInPost3,000标题 220,关于 / 摘要 2 600。
DiscordMessage2,000Nitro 用户为 4 000。更长的消息会转换为文本文件附件。
RedditTitle / Body / Comment300 / 40,000 / 10,000标题在提交后无法编辑。
InstagramCaption / Bio2,200 / 150动态信息流中,标题在约 125 字后被截断。
YouTubeTitle / Description100 / 5,000搜索结果只显示标题的约 60 字。
SMS (GSM-7)Single segment / multi160 / 153多段在用户数据头中每段损失 7 个字符。
SMS (UCS-2)Single segment / multi70 / 67由任何非 GSM 字符触发。
SEO title<title>~50–60Google 没有硬性上限;截断由像素宽度决定(~580 px)。
SEO meta description<meta description>~150–160 desktop / ~120 mobile截断同样按像素决定;长度不影响排名。

SMS 编码陷阱

SMS 是唯一一个,一个字符就可以改变整条消息中其它每一个字符成本的常见通道。GSM 7 位默认字母表恰好包含 128 个字符,基本拉丁字母、数字、常见标点、几个带重音的字母和货币符号。任何在它之外的东西(一个弯引号 '、一个长破折号、一个 emoji、任何非拉丁文字)都会把整条消息降级到 UCS-2 16 位编码,把每段上限从 160 个 GSM-7 字符降到 70 个 UCS-2 字符。一条 161 字符的消息变成两段,按两条消息计费;在一条原本干净的消息里加一个走偏的 emoji,可以把你的有效上限砍半。Twilio 的「Smart Encoding」之类的工具会自动用直引号替换弯引号,以保持营销活动留在更便宜的编码里。

什么算「一个字符」?要看情况。

现代 Unicode 把直观的「一个字符」概念分成三个数法不同的不同概念:

JavaScript 的 String.prototype.length 返回的是 UTF-16 码元,不是字形簇。MDN 直接说明:「contains the length of the string in UTF-16 code units.」这就是为什么单个 emoji 像 😄 报告长度 2(它生活在补充平面,需要一个代理对),而家庭 ZWJ 序列 👨‍👩‍👧‍👦 报告长度 11(四个人物 emoji 加三个零宽连接符)。同样的一个家庭 emoji 在 JavaScript 中算 11,在 Python 中算 5,在 Swift 中算 1,取决于每种语言挑选了哪个定义。

对现代 JavaScript 而言,正确字形计数的标准答案是 Intl.Segmenter:

const seg = new Intl.Segmenter("en", { granularity: "grapheme" });
[...seg.segment("👨‍👩‍👧‍👦")].length;  // 1

本计数器在受支持的环境(2026 年的所有常青浏览器)中使用 Intl.Segmenter,这样可见的字符数与人眼会数到的相符,而不是 UTF-16 码元会数到的。

阅读时间和讲话时间

阅读时间使用现存最严谨的现代来源计算:Marc Brysbaert 2019 年的元分析(《How many words do we read per minute?》,Journal of Memory and Language),它汇总了涵盖 18 573 名参与者的 190 项研究。主要发现低于长期被引用的 300 wpm 民间智慧,非虚构静默阅读平均为每分钟 238 词,虚构平均 260 wpm,而朗读降到 183 wpm。本计数器在静默阅读时间估算中使用 238 wpm,这对文档、文章和大多数普通内容都是合适的数字。

讲话时间使用美国语言听力协会(ASHA)的 130 wpm 正式演讲节奏,比对话速度(约 150 wpm)慢,因为听众需要额外的处理时间,而演讲者也需要为强调留出停顿。如果你正在起草播客脚本、有声书章节或现场演讲,130 wpm 是更稳的规划数字。

SEO 标题和元描述长度

Google Search Central 说得很清楚:无论是 <title> 元素还是 <meta name="description"> 标签,都没有硬性最长长度。摘要只是被截断到适合显示设备上的可用宽度。50-60 个字符的标题和 150-160 个字符的描述这些建议,是从观察到的像素宽度(桌面端约 580 px)推导出的行业惯例,不是来自任何官方上限。截断由像素宽度决定,所以充满 W、M 和大写 A 这种宽字母的标题,会比充满 i、l、t 这种窄字母的标题更早被截断。长度不影响排名;它只影响搜索者点击前看到多少摘要。

为什么在浏览器里数字符很重要

许多文本计数器是服务器端的:你粘贴,它们把你的文本 POST 到后端,再返回计数。你粘贴的任何东西,因此都进入了那家公司的传输日志、服务器日志,(根据条款)还可能进入它们的训练数据。这对推文草稿没问题;但对机密员工通信、受特权保护的法律草稿、未发表的手稿、医疗或财务记录,或你代别人处理的个人身份信息,这就不行。本计数器完全在你的浏览器中运行,每一次计数都由你自己设备上的 JavaScript 计算,文本框的内容从不离开页面,而且页面被缓存后,工具就能离线工作。

常见使用场景

常见错误

  1. 把字符与字节搞混。一条 280 字符的英文 X 帖子是 280 字节;同样一条带 emoji 的帖子,远不止 280 字节。当你需要编码后的大小时,使用专门的字节计数器
  2. 忘记 URL 在 X 上始终算 23。一个短链接和一个 200 字符的链接都消耗你 280 字符里的 23。不要手动缩短。
  3. 在 SMS 营销模板里加一个 emoji。一个非 GSM 字符就能把整条消息降级到 UCS-2,把每段上限砍半,并可能在整个营销活动中让账单翻倍。
  4. 当截断按像素宽度进行时,却按字符数优化标题。两个都是 60 字符的标题,根据所用字母不同,渲染出来的宽度可能差别非常大。
  5. 在用户可见的字符数上信任 JavaScript 的 .length如果计数会展示给用户,使用 Intl.Segmentergranularity: "grapheme",否则 emoji 和 CJK 簇会报出误导性数字。
  6. 把机密文本粘贴到服务器端计数器。如果 URL 写着「count」但网络面板显示一个 POST,你的文本刚刚已经离开了你的电脑。

常见问题

计数器是否支持非拉丁文字和 emoji?

支持。字符计数在浏览器支持的地方使用 Intl.Segmenter 加字形粒度(2026 年的所有常青浏览器),所以一个 emoji 算 1,即便它在技术上由若干个 Unicode 码位通过零宽连接符拼成。CJK 字符、带重音的拉丁文、天城文和西里尔文,每一个可见字符都算一簇。

为什么我的 X 字符数差一两个?

X 应用了它自己的权重:每个 emoji 算 2,每个 CJK 字符算 2,而每个 URL 都被 t.co 缩短器包裹,精确算 23。一份纯拉丁文的 280 字符草稿,在本计数器里是 280,在 X 上也是 280,但一份带两个 emoji 和一个 URL 的草稿,在 X 上会比这里数得更多。要追求 X 特有的精确,X 发布了 twitter-text 库,它实现了它精确的计数规则。

阅读时间真的是每分钟 238 词吗?

对成年普通读者的非虚构静默阅读来说,是的,这是 Marc Brysbaert 2019 年元分析的主要数字,该分析覆盖了 190 项前置研究、18 573 名参与者,是现存最严谨的现代来源。虚构稍快(260 wpm),朗读慢得多(183 wpm),向听众讲话则更慢(按 ASHA 是 130 wpm)。阅读时间估算用 238 wpm;讲话时间用 130 wpm。

我的文本会被保存或发送到任何地方吗?

不会。计数完全在你浏览器内的 JavaScript 中发生。文本框的内容不会被传输、记录或缓存到任何服务器。页面加载之后,计数器可以离线工作。

SMS 上限到底是怎么工作的?

单个 SMS 段是 140 字节。用 GSM 7 位字母表编码就是 160 字符;用 UCS-2(16 位 Unicode,只要出现一个非 GSM 字符就启用)编码就降到 70 字符。多段消息每段会因为重新组装用的用户数据头损失 7 个 GSM 字符或 3 个 UCS-2 字符,所以一条长 GSM 消息每段 153 字符,一条长 UCS-2 消息每段 67 字符。移动运营商按段计费,因此编码选择很重要。

合适的 SEO 标题长度是多少?

Google 没有硬性上限。50-60 字符这个行业惯例,来自桌面搜索结果中观察到的像素宽度截断点(约 580 px)。长度本身不影响排名;它只影响用户在标题被截掉之前看到多少。把最重要的词放在开头,因为那是确保会显示的部分。

相关工具