# About Token Counter

A free tool for seeing what your conversations actually cost, on claude.ai and
chatgpt.com.

## The problem

Both Claude and ChatGPT meter your usage, and neither shows the number where you are
working. The figure exists — Claude reports it on a settings page — but checking it
means leaving your conversation, and by then you are already guessing at how much room
is left.

What makes this harder than it looks is that the whole conversation is re-sent to the
model on every single turn. A chat that feels short on screen can be consuming several
times what you would estimate from the words in front of you. That mismatch is the
single most common reason people are surprised by a usage limit.

## What Token Counter does

It is a Chrome extension that puts the numbers in the conversation itself. Three of
them:

- **Draft** — prices what you are typing, live, before you send it.
- **Chat** — the running total for the whole conversation.
- **Overhead** — on Claude, the system prompt, the features you have switched on, and
  your saved memory. ChatGPT does not expose this to the browser, so no figure is shown
  there.

Alongside those, it shows the usage limits for your plan and when each one resets — on
both claude.ai and chatgpt.com.

## The tokenizer on this site

The [tokenizer](https://tokencounter.online/#tokenizer) here runs the same engine as the
extension, so you can paste any text and get a count without installing anything. It is
genuinely useful on its own if you just want to know how large a document is before you
hand it to a model.

## How accurate it is

The engine is the open-source `gpt-tokenizer` library using the `o200k_base` encoding —
the same family ChatGPT uses. Claude splits text a little differently, so Claude figures
are close estimates. For exact Claude numbers, Anthropic publishes an official token
counting API.

The extension marks *every* figure it shows with a ~ — Draft, Chat and Overhead alike,
on both sites. That is not a Claude-only marker — each number is an estimate for a
specific reason. The tokenizer is GPT-family rather than Claude’s own. The system prompt
is added as a fixed constant rather than read from the model. Images and documents are
sized by formula — image patches, and a flat figure per page — rather than counted
exactly. And on ChatGPT, non-text parts of a message are skipped entirely. Read the
numbers as close, not exact.

A rule of thumb people ask for constantly: about 110 tokens per 100 words of ordinary
English prose. But that number moves a lot with the kind of text — technical prose and
long identifiers run higher, roughly 150 to 200 per 100 words, and number-heavy text can
reach 250. Those come from a handful of samples rather than a corpus, so read them as
direction, not precision. When the number matters, tokenize the actual string.

## How it is built

Everything runs on your device. The extension ships its own copy of the tokenizer and
talks only to the two sites you are already signed in to — with one exception the
[privacy policy](https://tokencounter.online/privacy) spells out: on first install it
opens a single tab to this site’s welcome page. Nothing you type is collected,
transmitted, or stored anywhere we can see it — there is no backend and no account to
create. The [privacy policy](https://tokencounter.online/privacy) covers this in full,
including the exact Chrome permissions the extension requests.

## Who it is for

Developers pasting long files into a model, writers in all-day sessions, analysts
working through large documents, and anyone on a paid plan who would rather pace their
usage than discover the ceiling by hitting it.

## Contact

Questions, bugs, or feedback: privacy@tokencounter.online.
