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

ProviderMethodWhere it runs
OpenAIo200k_base tokenizer, open sourceIn your browser. Text never leaves the page.
ClaudeAnthropic's count_tokens API endpointThrough a thin proxy on this site.
GeminicountTokens API endpointThrough a thin proxy on this site.
KimiOpen tokenizer (tiktoken-style BPE)In your browser. Rolling out.
DeepSeekOpen tokenizer from released model weightsIn your browser. Rolling out; V4 tokenizer coverage verified at rollout.
GrokNo free counting endpoint existsLabeled 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.