⭐ 觉得好用?收藏备用,下次直接打开
模型 编码: —
0 tokens
0 字符 · 0 词 · 0 字节
0 / 128,000 0.0% 上下文
文本输入
准备就绪
Token 可视化
开启可视化后,输入文本即可看到切分。hover 任一片段查看 token ID。
费用估算
单价:美元 / 百万 token
单次输入 $0
单次输出 (估) $0
单次合计 $0
总计 (×次数) $0
价格会随模型供应商调整,默认值仅供参考,可手动编辑并会自动保存。

LLM Token 计数器:在浏览器里把文本切成模型看到的 token 序列,实时显示数量、上下文占用比、分词可视化和按当前单价估算的调用费用。

为什么要关心 token

大语言模型不是按「字符」或「词」计价的,而是按 token——BPE 分词后的子词单位。输入一段中文「人工智能」,GPT-4o 可能切成 ['人工', '智能'] 两个 token,GPT-3.5 可能切成 4 个以上,直接影响费用和是否超上下文。

分词器一览

分词器词表使用模型精度
o200k_base≈200kGPT-4o / 4.1 / 5 / o3 / o4-mini精确
cl100k_base≈100kGPT-4 / GPT-3.5精确
Llama 3 (HF)128kLlama 3 70B精确(来自官方 tokenizer.json)
DeepSeek V3 (HF)≈128kDeepSeek V3精确(来自官方 tokenizer.json)
cl100k_base(近似)≈100kClaude、Gemini(标「估」)仅量级参考,Token ID 已禁用

价格默认值

按 2025 年官网定价预置,可在 UI 里手动改并持久化,以应对厂商调价。各家输出单价是输入的 3–5 倍(Claude Opus 甚至 5 倍),输出量直接决定账单。

纯本地运行

文本、价格、设置都不出浏览器。首次选某个分词器会懒加载对应数据(GPT 系 1–2 MB,Llama 3 ≈ 9 MB,DeepSeek V3 ≈ 8 MB),之后浏览器缓存,断网也能用。

📍使用场景

  • 估算单次调用费用写提示词前先看看喂进去多少 token,对照输入/输出单价估个单次和批量费用,避免一跑就超预算。
  • 排查上下文超限把完整历史 + 系统提示 + RAG 检索结果拼一起贴进来,看是否逼近模型上下文窗口,决定要不要裁剪或切分。
  • 理解分词边界一段中英混排、代码或 emoji 到底被切成了哪些 token?可视化模式一眼看出「隔」「热」这种常见字是否被拆成字节序列。
  • 对比模型性价比同样一段输入切到不同模型,结合 token 数 × 单价快速对比,选性价比最合适的那一档。

常见问题

哪些模型是「精确」,哪些是「估」?

精确(token 数和 token ID 都与官方 API 一致):GPT 全系(o200k_base / cl100k_base via gpt-tokenizer)、DeepSeek V3(来自 deepseek-ai/DeepSeek-V3 的官方 tokenizer.json)、Llama 3(来自 meta-llama/Meta-Llama-3-8B 的官方 tokenizer.json)。估算(标「估」):Claude Opus/Sonnet/Haiku、Gemini 2.5 Pro/Flash——这两家没公开官方分词器,本地用 cl100k_base 近似,英文误差 ±5–10%,中文 ±10–20%。估算模型的 Token ID 模式已禁用(ID 对应不上真实值,展示没意义),要精确数字调 Anthropic count_tokens 或 Gemini countTokens API。

GPT-4o 和 GPT-4 的 token 数为什么差别很大?

GPT-4o 改用了 o200k_base 编码(词表约 20 万),GPT-4 / GPT-3.5 用 cl100k_base(约 10 万)。新编码对中文、日文、代码切得更高效,同一段中文在 GPT-4o 上 token 数通常只有 GPT-4 的 60–70%。上下文窗口同为 128k 时,GPT-4o 实际能塞更多内容。

1 个 token 大概多少字符?

英文约 4 字符 / token,中文约 0.6 字符 / token(一个汉字通常 1–2 tokens,新编码上常见字压到 1 token)。代码、URL、JSON 介于两者之间。具体看页面上的「字符 / token」实时比值最准——不同文本差异很大,空白密集的代码可能 1 字符 ≈ 0.3 token,纯中文古文可能 1 字符 ≈ 2 tokens。

输出 token 为什么要单独估?输出/输入比怎么填?

绝大多数模型输出单价是输入的 3–5 倍(Opus 甚至 5 倍),输出量直接决定账单。比值按任务类型估:翻译/改写 ≈ 1.0,摘要 ≈ 0.1–0.3,扩写/生成 ≈ 1.5–3,问答 ≈ 0.3–0.8。没底的话从 1.0 起,跑几次实测后再调。

Chat API 实际花的 token 比页面显示的多一些?

对。Chat Completions 每条消息会加 <|im_start|>role\\nCONTENT<|im_end|> 这类控制 token,系统侧大约每条 +3–7 tokens,一次调用里还有 prompt 级别的固定开销。本工具只算纯文本内容的 token,不含 role 标记和消息结构开销。粗略估计:最终账单 ≈ 本工具显示值 + 消息数 × 5。

本地计算会把我的文本上传吗?

不会。分词完全在浏览器里:GPT 系用 gpt-tokenizer,DeepSeek/Llama 3 用 @lenml/tokenizers + 官方 tokenizer.json。文本不出你的电脑。首次选某个模型时会按需下载对应数据(cl100k_base ≈ 1 MB,o200k_base ≈ 2 MB,Llama 3 ≈ 9 MB,DeepSeek V3 ≈ 8 MB),之后浏览器缓存,断网也能用。价格单价和设置保存在 localStorage

可视化里为什么有些「字」前面带个空格?

BPE 分词把「词 + 前导空格」当成一个整体 token,所以 HelloHello 是不同的 token。这是为了让模型区分「句首」和「句中」同一个词。中文没有空格分隔,所以基本不会出现这种现象。