Labs · Token counter
How many tokens
is that, exactly?
Paste any text for a live count, or drop a character card and get it weighed field by field — what bills every turn, what appears once, what only fires on keywords, and what never enters the prompt at all. With 2k / 4k / 8k budget bars and honest per-model-family ranges. Everything runs in your browser.
Counting happens in your browser — text and card files are never uploaded or stored. Works offline once loaded.
The count appears here — it updates as you type.
The ruler is pinned: CJK ≈ 1.6 chars/token, everything else ≈ 4 — the same ruler every tool on this site uses (card checkup, context lens, cache calculator), so numbers compare across tools.
How many tokens is a character card?
A typical community card carries 400–1,500 permanent tokens (description + personality + scenario), and heavyweight cards go past 4,000 — at which point a 8K-window model spends more than half of every request re-reading the persona. The useful question isn’t the total: it’s the split. Permanent fields bill on every turn; the greeting bills once; keyword lorebook entries bill only when they fire; creator notes bill never. Drop a card above and the table does that split for you.
Where the ruler comes from — and where it bends
The estimate uses the DeepSeek-documented ratio (≈0.6 tokens per CJK character, ≈0.3 per English character) — the same ruler as every tool on this site, so numbers compare across the Card Checkup, the Context Lens and the Cache Calculator. But tokenizers are family-specific: the same Chinese paragraph can cost 2–3× more on cl100k-era GPT models than on DeepSeek. That’s why the family table shows ranges instead of a second fake-precise number. We don’t run each vendor’s tokenizer in your browser, and we say so — the ranges answer “how far off could I be”, not “what will I be billed”.
FAQ
Is this a real tokenizer?
No, and the page says so everywhere a number appears. It's a character-ratio estimate: CJK at ~1.6 characters per token, everything else at ~4 — the DeepSeek-documented ballpark. Real tokenizers differ by model family, which is why the tool shows the same text under six family ranges (GPT o200k / cl100k, Claude, Gemini, Qwen, DeepSeek) instead of pretending one number fits all. Read every figure as a magnitude.
Is my text or card uploaded?
No. Counting and card parsing run entirely in your browser — the text never leaves the textarea, and card files are decoded with browser APIs. The page keeps working offline once loaded.
Why does another tool give a different count for the same card?
Three usual reasons: it runs a different tokenizer (families differ by 20–30%, more on CJK text); it counts different fields (some tools sum every field including creator notes, which never enter the prompt); or it counts the lorebook differently (constant entries bill every turn, keyword entries only when triggered). This tool separates all of that explicitly, and uses the same ruler as our Card Checkup, so numbers compare across tools on this site.
What counts as “permanent” tokens in a character card?
Whatever re-enters the context on every single turn: description, personality, scenario, system_prompt, post_history_instructions, and constant lorebook entries. The greeting appears once (but stays in history), example dialogue is dropped first when context runs tight, and creator_notes never enters the prompt at all. The field table tags each row with its billing identity.