How we count
Most "token calculators" show one number for every model. That number is an estimate, often characters divided by 4, because several providers have no public tokenizer. This site exists to close that gap: each counter uses the most exact method available for its provider, and each method is stated here.
Per-provider methods
| Provider | Method | Where it runs |
|---|---|---|
| OpenAI | o200k_base tokenizer, open source | In your browser. Text never leaves the page. |
| Claude | Anthropic's count_tokens API endpoint | Through a thin proxy on this site. |
| Gemini | countTokens API endpoint | Through a thin proxy on this site. |
| Kimi | Open tokenizer (tiktoken-style BPE) | In your browser. Rolling out. |
| DeepSeek | Open tokenizer from released model weights | In your browser. Rolling out; V4 tokenizer coverage verified at rollout. |
| Grok | No free counting endpoint exists | Labeled estimates only. |
Verified 2026-08-10.
The honest limitation
Anthropic publishes no tokenizer for current Claude models, and exact Gemini counting also requires Google's endpoint. For those two providers, the only exact count comes from the provider's own API. Those counters therefore run through this site's proxy instead of in your browser. Where the tokenizer is open, as with OpenAI, Kimi, and DeepSeek, counting runs entirely client-side and your text never leaves the page. Grok has neither an open tokenizer nor a free counting endpoint, so Grok numbers are labeled as estimates and nothing more is claimed for them.
The verification corpus
Methods are checked, not assumed. A fixed 100-prompt corpus is run against provider counting APIs and the results are published. The same corpus re-runs on every model release, so tokenizer changes between generations become measurable public data instead of anecdotes.
This matters because tokenizers do change: Claude models from Opus 4.7 onward count roughly 1x to 1.35x the tokens of the 4.6-and-older family on identical text, and Sonnet 5 counts about 30% more than Sonnet 4.6. A counter calibrated to one generation quietly misprices the next unless it is re-verified.
The difference from estimators
An estimator applies one formula to every model. That can be off in either direction, and the error compounds when you multiply an estimated count by a per-token price. Exact counting per provider, verified against a published corpus, is the difference this site exists to close.
Related
What is a token? covers why counts differ across providers in the first place. Provider counters: Claude, OpenAI, Kimi, DeepSeek.