CodeKitHub
简体中文
文本工具

AI Token 计数器

粘贴任意文本、prompt 或代码,精确看到它占用多少 token——使用的是 OpenAI 模型内部实际采用的分词编码(GPT-4o 用 o200k_base,GPT-4/GPT-3.5 用 cl100k_base),不是粗略的字符数估算。同时显示字符数和词数作为参考。全程浏览器本地运行。

0
Token 数
0
字符数
0
词数

不同模型的分词方式不同——切换上方选项查看对应的 token 数。全部在浏览器本地计算,文本不会上传。

工具介绍

大语言模型处理文本不是按字符或单词,而是切分成"token"——通常几个字符一段(英文大致每个 token 约4个字符或0.75个单词,但因语言和内容差异很大)。Token 数直接决定 API 费用,以及你的 prompt 能不能塞进模型的上下文窗口。

本工具使用真实的分词编码——o200k_base(GPT-4o 和 GPT-4o mini 使用)和 cl100k_base(GPT-4 和 GPT-3.5 使用)——而不是"字符数除以4"这种粗略估算,所以这里看到的数字跟你实际会被计费或限制的数字一致。

为什么使用它?

  • 真实分词编码(o200k_base、cl100k_base)——不是字符数估算。
  • 一键切换模型,对比同一段文本在不同模型下的分词差异。
  • 同时显示字符数和词数,方便快速参考。
  • 边输入边实时更新——不需要点按钮。
  • 100% 本地计算——你的 prompt 或文档不会被上传,涉及机密或敏感内容时更放心。

使用方法

  1. 把文本、prompt 或代码粘贴或输入到框里。
  2. 选择你要针对的模型(GPT-4o / GPT-4o mini,或 GPT-4 / GPT-3.5)。
  3. Token 数即时更新——切换模型即可对比。
  4. 同时参考字符数/词数,作为非 token 限制场景的辅助判断。

示例

输入

"Hello, world!"(GPT-4o 编码)

输出

4 个 token,13 个字符,2 个单词

常见短语通常每个单词或标点占1个 token,但会因大小写、空格和语言而变化。

该查哪个分词器?

两种编码不能混用——要选跟你实际调用的模型对应的那一种,同一段文本在两种编码下算出来的token数可能差不少。

模型系列分词器什么时候用
GPT-4o、GPT-4o mini、GPT-4.1、o1/o3 推理模型o200k_base任何当前在用的 OpenAI 模型——这是 GPT-4o 之后所有新模型统一使用的分词器。
GPT-4、GPT-4-turbo、GPT-3.5-turbo、text-embedding-ada-002cl100k_base旧版或legacy模型,或者你出于成本考虑API仍然调用GPT-3.5/GPT-4(不是GPT-4o)。
Claude、Gemini、Llama 等非 OpenAI 模型都不适用——本工具不覆盖这些厂商用自己的分词器(不基于tiktoken),这里的计数跟它们的实际计费对不上。

实用建议

  • 发请求前估算 API 费用:把 token 数乘以你所用模型的单价,就能快速估算成本,而不是靠字符数瞎猜。
  • 检查长文档是否塞得进上下文窗口:先把整段内容粘贴到这里查一下,比实际发 API 请求中途失败再排查快得多。
  • 对比不同版本的 prompt:如果想精简系统提示词省成本,把每个版本都粘贴进来直接看 token 差异,而不是凭"感觉上短一点"判断。
  • 非英文文本:中文、日文、韩文等非拉丁文字每个字符占用的 token 数通常比英文高得多,务必实际查一下,不要套用"4字符=1token"的经验规则。

常见问题

同一段文字为什么在不同模型下 token 数不一样?

GPT-4o 和 GPT-4o mini 用的是更新的分词器(o200k_base),跟 GPT-4 和 GPT-3.5 用的(cl100k_base)不同——两种编码把文本切分成不同的词表单元,所以同样的输入在不同模型下计出来的 token 数可能不一样。

1 个 token 真的约等于4个字符吗?

这只是英文文章的粗略平均值,实际差异很大:常见英文单词往往1个就是1个 token,而生僻词、代码,尤其是非拉丁文字(中文、日文、韩文、阿拉伯文)每个字符占用的 token 通常明显更多。涉及费用或限制的场景,务必查精确数字,别依赖"4个字符=1个token"这个经验法则。

这个工具会调用 OpenAI API 来计算 token 吗?

不会。它用的是同款分词编码(o200k_base、cl100k_base)的 JavaScript 实现,完全在你的浏览器本地运行。不需要 API key,不发起网络请求,你的文本不会被发送到任何地方。

Token 数为什么重要?

两个原因:API 按 token 计费(输入和输出都算),而且每个模型都有以 token 计的上下文窗口上限——如果你的 prompt 加预期回复超过这个限制,请求会失败或被截断。提前查一下 token 数能避免这两种意外。

这个工具适用于 Claude、Gemini 或其他非 OpenAI 模型吗?

这里显示的数字是专门针对 OpenAI 分词器(o200k_base 和 cl100k_base)的。其他厂商用的是自己的分词器,同样的文本算出来的数字可能明显不同——本工具不覆盖那些。

相关工具