Tokenizer可视化 在线查看文本分词过程
学习AI原理或调试prompt时,直观查看文本如何被拆分为Token,显示每个Token的编码细节和字节预览,支持多模型对比,适合学习和调试。
更新于 2026-08-16
相关工具
功能特性
- BPE 分段可视化:原文中每个 Token 以彩色色块呈现,输入或粘贴即实时更新
- 悬停任意色块查看 Token 详情:解码文本、UTF-8 字节数与在序列中的位置
- Token 详情列表:每个 Token 的序号、解码文本与字节数
- 实时统计:Token 数、字节数与字符数随输入即时更新
- 特殊 Token 标记:<|endoftext|> 等特殊 Token 在列表中高亮显示
- 编码对比:cl100k_base(GPT-3.5/GPT-4)与 o200k_base(GPT-4o)并排比较
- 大文本保护:超过 20000 字符自动截断并明确提示,保证浏览器流畅
- 中文文本直观可见:亲眼看到为什么中文 prompt 往往消耗更多 Token
- 复制、清空与示例文本,快速上手探索
- 首次加载后支持离线使用
使用方法
- 1在编辑器中粘贴或输入文本,Token 可视化会自动更新。
- 2查看上方的分段视图:每个 Token 是一个彩色色块,悬停即可查看解码文本、字节数与位置。
- 3在下方的 Token 列表中查看每个 Token 的序号、解码文本与字节数。
- 4通过三张统计卡片一眼掌握总 Token 数、字节数与字符数。
- 5理解中文 prompt 为什么更贵:粘贴一句中文,再与等义的英文对比。
- 6对比分词器:切换 cl100k_base(GPT-3.5/GPT-4)与 o200k_base(GPT-4o),或开启对比面板并排查看两种计数。
- 7调试长 prompt:粘贴长文本查看 Token 消耗在哪些部分,然后精简消耗最多的片段。
- 8在列表中识别 <|endoftext|> 等特殊 Token,检查模型输出时很有用。
- 9超长文档只可视化前 20000 字符,其余部分会跳过并给出提示。
- 10使用三个示例按钮加载样例文本,体验英文、中英混合与代码的不同分词方式。
常见问题
什么是 Token?
Token 是 AI 模型读取文本的最小单位。现代分词器使用 BPE(字节对编码):先拆成单个字符,再不断把最常见的相邻字符对合并成更长的单元。'tokenization' 可能合并成一个 Token,而罕见词可能被拆成好几段。Token 数量同时决定上下文限制与 API 费用。
为什么中文比英文消耗更多 Token?
英文 BPE 会把常见字母组合合并成很长的有效单元(常见英文单词往往一个 Token)。中文字符密集且多样,相邻字符很少能被合并,所以通常一个字就是一个 Token,部分字符还会被拆成两个。这就是为什么同一段话中文要贵 2-3 倍:本工具能直接看到拆分过程。
色块的颜色代表什么?
颜色由 Token id 经简单哈希得到,同一个 Token 总是同一种颜色。颜色只是为了让你看清边界,没有任何语义,不同 Token 也可能恰好同色。
它和 Token 计算器有什么区别?
Token 计算器为众多模型计数并估算成本。本工具一次只可视化一种编码:你能看到每个 Token 从哪里开始、到哪里结束,适合教学、调试 prompt 以及理解文本为什么这么贵。
cl100k_base 和 o200k_base 有什么区别?
它们是两套不同的 BPE 词表。cl100k_base(约 10 万 Token)用于 GPT-3.5 与 GPT-4 系列;o200k_base(约 20 万 Token)用于 GPT-4o 及之后的新模型。新词表通常更省 Token,同一文本用 o200k_base 往往 Token 更少。
它能可视化所有模型的 Token 吗?
不能。它只支持 js-tiktoken 内置的 OpenAI 编码(cl100k_base 与 o200k_base)。其他厂商的模型使用各自的分词器(如 SentencePiece),计数只能估算,本工具不会假装能可视化它们。
超长文本会让浏览器卡住吗?
超过 20000 字符的输入会在可视化前截断:只显示前 20000 字符,并提示其余部分被跳过。即使粘贴超大文本,渲染也能保持流畅。
为什么不同工具对同一文本的计数不一样?
不同工具可能使用不同编码(或估算值)。只有使用相同词表时两个数字才可比。本工具会明确告诉你用了哪种编码,你可以据此复现结果。
什么是特殊 Token?
特殊 Token(如 <|endoftext|>)是模型用来表达结构的标记,不是普通文本。它们在词表中但不参与常规 BPE 合并,本工具会将它们标记出来,方便在模型输出中识别。
和 ChatGPT 用的是同一个分词器吗?
是的,内置的是官方 js-tiktoken 词表,即 ChatGPT 系列使用的 cl100k_base(GPT-3.5/GPT-4)与 o200k_base(GPT-4o)。两点提醒:推理模型和 API 可能有额外的分词规则,OpenAI 偶尔更新词表,所以同一段文本,ChatGPT 界面显示的数字与本工具可能有细微差异。
为什么和 Claude、Gemini 的 Token 数不一样?
每家模型各有自己的分词器:Anthropic 和 Google 使用不同的 BPE 词表(Gemini 类似 SentencePiece),同一段文本在各自体系里的 Token 数本来就不同。本工具只可视化 OpenAI 编码,不承诺预测 Claude 或 Gemini 的计数,那两家请用它们的官方计数器。
为什么 GPT 分词可视化器里有些词前面会显示一个特殊空格标记(Ġ)?
GPT 系列的 BPE 分词器用特殊字符 Ġ(词首空格标记)表示单词开头的空格,而不是把空格单独切开。这就是为什么 'hello' 和 ' hello' 分词结果不同,也是为什么粘贴文本末尾多一个空格会让整个切分变化。在底层调用 tokenizer.encode 使用时也能看到这个标记,这是 cl100k_base/o200k_base 的预期行为,说明空格只是被算进了那个 token 里。