Skip to content

Token 计算器:DeepSeek、通义千问 Qwen、GPT 精确计算 token 数

在线 Token 计算器:用 DeepSeek、通义千问、GPT 的官方分词器精确计数,不按字数估算。一个汉字几个 token、每个 token 切在哪,一眼看清;通义千问新旧两代词表分开算。免费,文本在浏览器本地计算。

浏览器中运行 免费
分词在你的浏览器里完成,用的是各家官方词表;文本不会发到我们的服务器。
示例:

字符
0
汉字
0
UTF-8 字节
0
模型 Token 数 每字符 token
DeepSeek V4 / V3 / R1 DeepSeek · 128K —
Qwen3.5 / 3.6 / 3.8 Qwen · 248K —
Qwen3 / Qwen2.5 / QwQ Qwen · 151K —
GPT-5 / GPT-4.1 / GPT-4o / o3 o200k_base —
GPT-4 / GPT-3.5 Turbo cl100k_base —

这是文本本身的 token 数。通过 API 调用时,对话模板还会给每条消息加几个 token,接口返回的 prompt_tokens 通常会略多。

切分结果

输入或粘贴文本后,这里会显示每一个 token。

按服务商定价页上的输入价格填写。价格经常调整,本工具不内置价格。

五套词表的分词结果用 26,714 段测试文本(388 万字符)和一组 Unicode 版本边界字符,与 Hugging Face tokenizers 0.23.3、OpenAI tiktoken 0.14.0 逐个 token ID 比对一致;页面上的示例数字都由同一套参考实现复核。「一个汉字几个 token」的比例来自本站 2.9 万字博客正文与 5.3 万字工具说明的实测。模型与词表的对应关系取自 tiktoken 的模型映射和各家官方仓库的逐项比对,核对于 2026 年 11 月。 — Go Tools 工程团队 · 2026年11月8日

由 Go Tools 工程团队构建并验证。

Token 换算速查

一个 token 是多少个字符?

一个汉字约 0.8–1.3 个 token 取决于词表和语言。在本站语料上实测(约 8.2 万个汉字):纯中文正文里一个汉字约 0.8 个 token(DeepSeek、Qwen3.5)、0.9 个(Qwen3)、1.0 个(GPT-4o)、1.3 个(GPT-4);英文约 4.3–4.4 个字符算 1 个 token,一个英文单词约 1.4 个 token。

1 万字的中文大约多少 token?

DeepSeek 约 6,300,GPT-4 约 1 万 按字数含标点计,在本站中文正文语料上实测:DeepSeek 约 6,200–6,300 个,Qwen3.5 约 6,400–6,500 个,Qwen3 约 7,000–7,200 个,GPT-4o 约 7,700 个,GPT-4 约 10,300–10,500 个。代码和数字多的文本会更多。

为什么中文比英文更费 token?

同一段话:英文 59–60 个 token,中文 71–156 个 本页「中文」「英文」两个示例是同一段话:英文版在五套词表里都是 59–60 个 token,中文版在 Qwen3.5 是 71 个、DeepSeek 75 个、Qwen3 84 个、GPT-4o 111 个、GPT-4 156 个,多用 18%–160%。英文在各家词表里差别很小(本站语料实测一个英文单词约 1.4 个 token);中文差多少要看词表收了多少中文词,收得少的(GPT-4 的 cl100k_base)会把不少汉字拆成 2–3 个字节级 token。

Token 是什么单位?

大模型切分文本和计费的最小单位 Token 是大模型切分文本的最小单位,也是 API 计费和上下文窗口的计量单位。它可以是一个词、半个词、一个汉字、一个词组,也可以是一个字的几个字节,由每家模型的词表决定。

能算 Claude、Gemini、豆包的 token 吗?

没有公开分词器,只能用官方计数接口 不能精确算。Claude 从 3 代起没有公开分词器,官方只提供 count_tokens 接口(官方文档还说明 Claude 4.7 起换了新分词器,同一段文本约多 30% 的 token);Gemini、豆包也以官方计数接口为准,豆包还可以用火山方舟控制台里的官方 Token 计算器(需登录)。本工具只列官方词表公开、能逐个对得上的模型。

Token 是什么?

Token 是大模型读写文本的最小单位,也是 API 计费和上下文长度的计量单位。模型不直接读汉字或字母,而是先用分词器(tokenizer)把文本切成词表里有的片段,再把每个片段换成一个整数 id。常用的词、词组在词表里有现成条目,一个 token 就能表示;词表里没有的字会退回到 UTF-8 字节,一个汉字可能要 2–3 个 token。所以 token 数取决于词表:DeepSeek 和通义千问的词表里,「人工智能」整个是 1 个 token,GPT-4o 切成「人工」「智能」2 个;GPT-4 的词表(cl100k_base)中文条目少,下面这句话要切成 12 个 token,是 DeepSeek 的两倍多。下面是本工具对同一句话的实际切分。

文本:人工智能正在改变世界。(11 个字符)

DeepSeek V4        5  [人工智能][正在][改变][世界][。]
Qwen3.5 / 3.6      5  [人工智能][正在][改变][世界][。]
Qwen3 / 2.5        5  [人工智能][正在][改变][世界][。]
GPT-5 / GPT-4o     6  [人工][智能][正在][改变][世界][。]
GPT-4             12  [人][工][智×2][能][正在][改][变][世×2][界][。]

×2 表示这个字被拆成了 2 个字节级 token

这个 Token 计算器的特点

通义千问两代词表都能精确算

Qwen3.5、3.6、3.8 换成了 248K 的新词表,切分规则也改了;Qwen3、Qwen2.5、QwQ 仍用 151K 的旧词表。两代都用官方开源权重里的 tokenizer.json 逐个切分,新旧型号分开给数,不拿 GPT 的分词器代替。

官方词表,逐个 ID 核对过

DeepSeek 用官方词表(V3 到 V4.1 的词表逐项相同),GPT 用 OpenAI 的 o200k_base / cl100k_base。我们拿 26,714 段测试文本(388 万字符,含 15 种语言、代码、各种空白和 Unicode 新旧版本边界字符)与 Hugging Face tokenizers、OpenAI tiktoken 的输出逐个 token ID 比对,五套词表全部一致。

五个模型并排比较

同一段文本一次给出五个数,直接看出哪家模型处理你的中文更省 token。表格里的「每字符 token」比单看总数更好比较长短不同的文本。

每个 token 都看得见

切分结果用色块标出每个 token,可显示 token ID。几个字节级 token 合起来才是一个字时,合成一个虚线框,不会显示成乱码;零宽空格、BOM 这类看不见却占 token 的字符写出码位,例如 ⟨U+200B⟩。

文件按原样计数

从文件导入时保留原始的 CRLF 换行和 BOM:DeepSeek 把 Windows 换行 \r\n 切成两个 token,同一份代码改成 CRLF 后 token 数会多出约 15%。粘贴进输入框的文本则按浏览器保留的 LF 计。

浏览器本地计算

分词在浏览器的后台线程(Web Worker)里完成,文本不会发到我们的服务器。词表下载完后,20 万字的中文在一秒内算完,输入框不卡顿。

在代码里计算 token

tiktoken(Python)

len(tiktoken.get_encoding("o200k_base").encode_ordinary(text))

OpenAI 官方库,只包含 OpenAI 的词表。算 GPT-5、GPT-4o 的输入 token 最直接;不能用来算 DeepSeek 或千问。

transformers AutoTokenizer

AutoTokenizer.from_pretrained("Qwen/Qwen3.6-35B-A3B").encode(text, add_special_tokens=False)

能加载 DeepSeek、通义千问等开源模型的官方分词器。首次运行会从 Hugging Face 下载词表文件,国内网络常需要镜像。

DeepSeek 官方分词器包

DeepSeek API 文档「Token 用量计算」页

官方提供的离线分词器,配合 transformers 使用。词表与本工具的 DeepSeek 一行相同。

官方计数接口

Anthropic messages/count_tokens、Gemini countTokens、OpenAI responses/input_tokens

没有公开分词器的模型只能这样计数,而且结果含对话格式的开销。要发请求、要密钥,文本会发到服务商。

本页 Token 计算器

粘贴即算,五家并排

不用写代码、不用装依赖,适合临时核对一段提示词或比较几家模型;批量处理还是用上面的库。

token 计算实例:同一段文本,五家切法

同一段中文,五家相差一倍

点页面上的「中文」示例:一段 117 个字符的日常叙述(106 个汉字)
DeepSeek V4        75
Qwen3.5 / 3.6      71
Qwen3 / 2.5        84
GPT-5 / GPT-4o    111
GPT-4             156

折合每个汉字:Qwen3.5 约 0.67、DeepSeek 0.71、Qwen3 0.79、GPT-4o 1.05、GPT-4 1.47 个 token。点「英文」示例看同一段话的英文版:五家都在 59–60 个之间。

数字:通义千问一位一个 token

订单金额 12345.67 元,共 2026 件
DeepSeek V4   16   …[123][45][.][67]…[202][6]…
Qwen3.5       22   …[1][2][3][4][5][.][6][7]…[2][0][2][6]…
Qwen3         22   (数字切法同上)
GPT-4o        13   …[123][45][.][67][ 元][,共]…
GPT-4         16   …[123][45][.][67]…

通义千问两代的规则都把每个数字单独切开,DeepSeek 和 GPT 则三位一组。数字多的文本(表格、账单、日志)在千问里会明显多出 token。

看不见的零宽空格

你​好​世​界(字间夹了 3 个 U+200B 零宽空格)
不夹零宽空格:DeepSeek 2 · Qwen3.5 2 · Qwen3 2 · GPT-4o 2 · GPT-4 5
夹了之后:    DeepSeek 7 · Qwen3.5 7 · Qwen3 7 · GPT-4o 7 · GPT-4 8

零宽空格把「你好」「世界」拆散,每个字只能单独成 token,零宽空格自己也各占一个。从网页复制的文本里常有这种字符,切分结果会把它显示成 ⟨U+200B⟩。

emoji:新词表反而更费

👍🎉
DeepSeek V4   3
Qwen3.5       6
Qwen3         2
GPT-4o        3
GPT-4         6

Qwen3 的旧词表把这两个 emoji 都收成了整词;换成 248K 新词表后,它们退回到 UTF-8 字节,一个 4 字节的 emoji 要 3 个 token。换代不一定处处更省,要用你的真实文本算。

Token 计算器怎么用

  1. 1

    粘贴文本

    把提示词、文档或代码粘贴到输入框,或点「打开文件」载入 .txt、.md、.json、.csv 等文本文件;没有现成文本时先点一个示例。第一次计算时,浏览器会从本站下载五套词表(gzip 后每套 0.4–2.2 MB),之后在本页里不再重复下载。

  2. 2

    看五个 token 数

    表格同时给出 DeepSeek、Qwen3.5/3.6/3.8、Qwen3/Qwen2.5、GPT-5/GPT-4o 和 GPT-4/GPT-3.5 的 token 数,以及平均每个字符占几个 token。上方还有字符数、汉字数和 UTF-8 字节数,方便和按字数估算的结果对照。

  3. 3

    看切分结果

    「切分结果」里每个色块是一个 token。虚线框表示几个字节级 token 合起来才组成完整的字;打开「显示 token ID」可以和 API 或 tiktoken 返回的 id 逐个对照。点表格里任意一行,就切换到那个模型的切分。

  4. 4

    估算费用

    在「单价」里填所选模型每百万 token 的输入价格,就能得到这段文本作为输入时的费用。本工具不内置价格表——各家经常调价,还分峰谷时段和缓存命中,按服务商定价页当前的数字填,结果才不会过时。

计算 token 的常见错误

用「字数 × 固定系数」估 token

系数只在某一种文本上大致成立。同样 24 个字符的「订单金额 12345.67 元,共 2026 件」,GPT-4o 是 13 个 token,通义千问是 22 个——数字越多差得越多。

✗ 错误
tokens ≈ 字数 × 0.6
✓ 正确
按目标模型的词表实际切分计数

拿 GPT 的分词器算 DeepSeek 或千问

tiktoken 只有 OpenAI 的词表。本页「中文」示例用 cl100k_base 算是 156 个 token,DeepSeek 实际只用 75 个,估算会偏高一倍。

✗ 错误
tiktoken.get_encoding("cl100k_base")  # 用来算 DeepSeek
✓ 正确
AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V4.1-Flash")

把纯文本 token 数当成账单

账单还包括对话模板、系统提示、输出和推理模型的思考过程;有的服务还分缓存命中与未命中。只按输入文本估,实际费用会更高。

✗ 错误
费用 = 提示词 token × 输入单价
✓ 正确
费用 = prompt_tokens × 输入单价 + completion_tokens × 输出单价

文本里混着看不见的字符

零宽空格(U+200B)会把词拆散:「你好世界」在 DeepSeek 里是 2 个 token,字间夹进 3 个零宽空格后变成 7 个。

✗ 错误
你\u200b好\u200b世\u200b界   → 7 tokens
✓ 正确
你好世界   → 2 tokens

什么时候需要计算 token

估算 API 费用
上线前把典型的提示词、系统提示和检索片段粘进来,得到提示词本身的 token 数,再加上每条消息的模板开销(见「纯文本 token 与 API 计数的差别」),就是每次调用的输入;乘以单价和调用量,就能估出月度成本。
控制上下文长度
长文档、聊天记录和检索结果拼在一起很容易超出模型的上下文窗口。先算出各部分的 token 数,再决定截断哪里、摘要哪里。
比较模型的中文效率
同一段中文在不同词表里的 token 数能差一倍以上。比较价格时,要用「单价 × 你的文本在该模型里的 token 数」,而不是只看单价。
按 token 切分 RAG 文档块
向量检索的分块大小通常按 token 设定。用目标模型的词表看一段正文实际占多少 token,再定每块的字数,比按字数一刀切更准。
排查「为什么这么费 token」
从网页、Word 或 PDF 复制来的文本常夹带零宽空格、不换行空格和多余空白,它们看不见却各占 token。切分结果会把它们标出来。要逐个找出这些字符的名称和码位,用 Unicode 编码转换器 的「显示不可见字符」。

token 是怎么切出来的

BPE:从字节开始反复合并
五套词表都是字节级 BPE(Byte Pair Encoding)。分词时先把文本转成 UTF-8 字节,再按词表规定的顺序,反复把相邻的两段合并成词表里有的更长片段,直到不能再合并。合并顺序由训练时的统计决定,所以同一段文本在不同词表里会停在不同的切法上。
为什么一个汉字会变成 2–3 个 token
常用汉字在 UTF-8 里占 3 个字节。词表里收了这个字(或包含它的词),它就是 1 个 token;没收,就只能停在字节片段上,变成 2–3 个 token。GPT-4 的 cl100k_base 对中文最不友好:3,755 个一级常用字单独编码时,只有 14.1% 是 1 个 token;DeepSeek 是 95.7%,Qwen3 是 99.9%。
预分词:先切段,再合并
BPE 之前还有一步按正则切段,合并只在段内进行。各家规则不同:GPT-4o 和 GPT-4 把数字三位一组,通义千问一位一个;DeepSeek 先把连续的汉字和假名切成一段(范围只到 U+9FA5,之后的汉字走通用规则),再按标点、空白切。本工具逐条复刻这些规则,并把正则里的字符类别固定在参考实现使用的 Unicode 16,不随浏览器版本漂移。
纯文本 token 与 API 计数的差别
本工具算的是文本本身的 token 数:不加开头的 BOS,也不套对话模板。API 会把每条消息包进对话模板:OpenAI Cookbook 的计数函数按「每条消息 3 个 + 角色名 + 回复引导 3 个」算,一条消息约多 7 个;通义千问官方文档的例子里,「你好」本身 1 个 token,套上模板后共 11 个;DeepSeek 没有公开 prompt_tokens 是否含模板。模型的回答和思考过程按输出 token 另算。
词表从哪里来
o200k_base 和 cl100k_base 来自 OpenAI 为 tiktoken 发布的词表文件,DeepSeek 来自 Hugging Face 上 DeepSeek-V4.1-Flash-1017 官方仓库的 tokenizer.json(MIT),通义千问来自 Qwen3-8B 与 Qwen3.6-35B-A3B 官方仓库(Apache-2.0)。本工具只保留分词需要的两样东西——每个 token 的字节和合并顺序——压缩后每套 0.4–2.2 MB,首次计算时从本站下载;来源与许可写在词表目录的 THIRD_PARTY_NOTICES.txt 里。

token 估算技巧

用目标模型的词表算
用 GPT 的分词器去算 DeepSeek 或千问的用量,中文能差出一倍。通义千问还要分清新旧两代:Qwen3.5 以后的型号看「Qwen3.5 / 3.6 / 3.8」那一行。
给模板和输出留余量
纯文本 token 数是下限。估上下文和费用时,再加上每条消息的模板开销、系统提示和预计的输出长度;推理模型的思考过程也计入输出。
用 API 返回的 usage 校准
上线后以接口返回的 usage 字段为准。把同一段提示词在这里算一遍,与 prompt_tokens 对照,差值就是你的模板开销,以后估算直接加上。
按 token 切块,不按字数
RAG 分块、长文截断都按 token 定上限。中英混排、代码和数字多的文本,字数和 token 数的比例差别很大。
粘贴前清理不可见字符
从网页或文档复制的文本先看一眼切分结果。零宽空格、不换行空格和成串的空白都会白白占 token,清理掉再发给模型。整页网页内容先用 HTML 转 Markdown 去掉标签和样式,再发给模型。

Token 计算器常见问题

Token 计算器(LLM token 计数器)是什么?
Token 计算器也叫 LLM token 计数器:用大模型自己的分词器(tokenizer)把文本切成 token 并计数,用来估算 API 费用和上下文长度。在本页把文本粘贴到输入框(或打开一个文本文件),表格会同时显示 DeepSeek、通义千问两代、GPT-5 / GPT-4o 和 GPT-4 的 token 数,下方「切分结果」标出每个 token;填上单价还能估算输入费用。不用注册,打开页面就能用。
一个汉字等于几个 token?DeepSeek 官方说的 0.6 对吗?
在本站中文正文语料上实测,DeepSeek 每个汉字约 0.77–0.79 个 token;把标点和空白也算作字符时,约每字符 0.62 个。DeepSeek 官方文档的说法是「1 个中文字符 ≈ 0.6 个 token」,与后一种口径相符。常用词会合成一个 token,生僻字会拆成两个(例如「龘」)。其他模型的数字见上方速查。
算出来的数和 API 返回的不一样,是不是算错了?
本工具算的是文本本身的 token 数,与官方分词器逐个 id 一致。API 的 prompt_tokens 还包括对话模板为每条消息加的角色标记和分隔符:通义千问官方文档的例子里,「你好」本身 1 个 token,实际计 11 个。系统提示、工具定义、历史消息也都计入。差值固定时就是模板开销,可以用来校准以后的估算。
DeepSeek V4、R1、Qwen3.6、GPT-5 分别用哪个词表?
DeepSeek 从 V3、R1、V3.1、V3.2 到 V4、V4.1,基础词表逐项相同,只是特殊标记不同。通义千问分两代:Qwen3.5、3.6、3.8 用 248K 新词表;Qwen3、Qwen2.5、QwQ 用 151K 旧词表(按开源权重的词表;百炼线上模型用哪一套,阿里云文档没有说明)。OpenAI 按 tiktoken 的映射:GPT-5、GPT-4.1、GPT-4o、o1、o3、o4-mini 用 o200k_base,GPT-4、GPT-3.5 Turbo 和 text-embedding-3 用 cl100k_base。
为什么同一段中文,GPT-4 比 GPT-4o 多那么多 token?
GPT-4 的 cl100k_base 词表约 10 万条,中文条目很少,很多汉字要拆成 2–3 个字节级 token;GPT-4o 的 o200k_base 约 20 万条,收了大量中文词。本页「中文」示例在 GPT-4 里是 156 个 token,在 GPT-4o 里是 111 个。
为什么通义千问里数字特别费 token?
千问的预分词规则把每个数字单独切成一段,「1234567」就是 7 个 token;DeepSeek 和 GPT 三位一组,同样只要 3 个。表格、账单和日志这类数字多的文本,在千问里的 token 数会明显偏高。
我的文本会被上传吗?
不会发到我们的服务器。分词在你浏览器的后台线程里完成,本工具要下载的只有首次计算时从本站获取的词表文件。
换行符会影响 token 数吗?
会,DeepSeek 尤其明显:它把 Windows 换行 \r\n 切成两个 token,同一份代码改成 CRLF 后 token 数多出约 15%,其他几家只多不到 0.5%。浏览器的输入框会把粘贴进来的换行统一成 \n,所以粘贴的文本按 LF 计;用「打开文件」导入时,本工具保留文件原来的换行和 BOM 按原样计数。
文本里有 <|im_start|>、<think> 这样的标记怎么算?
按普通文本算,会切成好几个 token,这与 tiktoken 的 encode_ordinary 一致,页面上会提示你文本里有这类标记。注意:如果你自己部署开源模型,推理框架通常会把它们各识别成 1 个特殊 token,实际数会比这里少。
推理模型的思考 token 怎么算?
思考过程是模型生成的,调用前无法预知,本工具只能算你已有的文本。通义千问官方文档写明思考内容按输出 token 计费,其他推理模型以各家文档为准;思考过程往往比最终回答还长,估算预算时要单独留出来。
最多能算多长的文本?
没有硬性上限,取决于浏览器内存。实测 20 万字的中文,在词表已下载的情况下一秒内算完;超长文本的切分结果只显示前 2,000 个 token,计数始终覆盖全文。打开文件的上限是 20 MB。
tiktoken 能算 DeepSeek 和通义千问的 token 吗?
不能。tiktoken 只带 OpenAI 的词表(o200k_base、cl100k_base),拿它算 DeepSeek 或千问,中文会偏差一倍左右(本页「中文」示例 cl100k_base 156 个、DeepSeek 75 个)。DeepSeek 和通义千问要用 Hugging Face transformers 加载官方 tokenizer,并传 add_special_tokens=False,结果才和本工具的纯文本口径一致;DeepSeek 官方文档的「Token 用量计算」页也提供了离线分词器包。

大小写转换器 — UPPERCASE、lowercase、camelCase 一次搞定

文本处理

在浏览器里把文本一键转成 UPPERCASE、lowercase、Title Case、Sentence case、camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE 等共 15 种命名格式。免费、纯本地、无需注册。

Lorem Ipsum 生成器 — 免费占位文本工具

文本处理

即时生成 Lorem Ipsum 占位文本 — 按段落、句子、单词、字节或列表生成。可复制或下载为纯文本、HTML、Markdown 或 JSON。100% 免费、隐私、纯浏览器运行,无需注册。

免费正则表达式测试器 — 在线实时匹配与调试

文本处理

在浏览器里实时测试正则表达式:高亮匹配、捕获组、命名分组、替换预览、字符串切分与逐 token 解释,支持 JavaScript(ECMA-262)方言、g/i/m/s/u/y/d 七个 flag、ReDoS 超时保护。100% 本地运行、免费、无需注册。

在线从文本中删除重复行

文本处理

在线从文本中删除重复行——免费、即时、100% 在你的浏览器里完成。可忽略大小写或空白,保留首次或末次出现,并显示删除了多少重复行。还能排序与清理。无需注册。

URL Slug 生成器 — 一键把任意文本转成 slug

文本处理

在线把任意标题即时转成干净、利于 SEO 的 URL slug。可音译重音字符与西里尔字母,也可保留 Unicode 文字。100% 本地运行,数据不离开浏览器。

按字母与自然顺序排序文本行

文本处理

在浏览器里对文本行排序:按字母顺序、数字顺序(自然排序)或行长度,升序或降序皆可。免费在线行排序工具,100% 纯本地运行。还能去重、反转与清理列表。无需注册,数据不上传。