Token cost calculator

Turn a token count into money across 13 models from three vendors, with cached reads and cache writes priced separately.

Most price tables give you two numbers per model, input and output. A real bill has four. A long shared prefix is billed as a cache write the first time and a cache read every time after, and those two rates differ from the input rate by a wide margin. This prices all four.

Paste text to estimate a token count, or type the counts straight in. Every rate below is fetched live and cross-checked against a second registry before it renders. Nothing is typed by hand.

Price your tokens

RankModelVendorInputCachedWriteOutputTotal

Rates snapshot 2026-08-15, shown per token in the table further down and converted to your token counts in the browser. Cells marked not published are held because the two price sources do not both carry that rate.

Cached reads cost a tenth on almost every model, and half on two

This is the part a two-column price table hides. Dividing each model's cached read rate by its own input rate gives a clean split, and it does not follow vendor lines.

11 of the 13 models that publish a cached read rate charge 0.10x the input rate for it, across 3 vendors (Google, OpenAI, Anthropic). The exceptions are gpt-4o-mini and gpt-4o, which charge 0.50x. Both are the older 4o generation, so the line falls between model generations rather than between vendors.

It matters because a ratio learned on one model misprices another by five times. A prefix worth caching on gemini-2.5-flash-lite is worth far less on gpt-4o, and nothing in either vendor's headline pricing makes that obvious.

ModelInput per 1MCached read per 1MCached read as a share of input
gemini-2.5-flash$0.300$0.030 0.10x
gpt-5.4-mini$0.750$0.075 0.10x
gemini-2.5-pro$1.25$0.125 0.10x
gpt-5.4$2.50$0.250 0.10x
claude-sonnet-4.5$3.00$0.300 0.10x
gpt-5.5$5.00$0.500 0.10x
gpt-5.6-sol$5.00$0.500 0.10x
claude-opus-4.8$5.00$0.500 0.10x
gemini-2.5-flash-lite$0.100$0.010 0.10x
gpt-5.4-nano$0.200$0.020 0.10x
claude-haiku-4.5$1.00$0.100 0.10x
gpt-4o-mini$0.150$0.075 0.50x
gpt-4o$2.50$1.25 0.50x

The rates behind the calculator

Per million tokens, 13 models, sorted cheapest input first. Each figure links the vendor pricing page that publishes it.

ModelVendorInputCached readCache writeOutput
gemini-2.5-flash-lite *Google $0.100 $0.010 not published $0.400
gpt-4o-miniOpenAI $0.150 $0.075 not published $0.600
gpt-5.4-nanoOpenAI $0.200 $0.020 not published $1.25
gemini-2.5-flash *Google $0.300 $0.030 not published $2.50
gpt-5.4-miniOpenAI $0.750 $0.075 not published $4.50
claude-haiku-4.5Anthropic $1.00 $0.100 $1.25 $5.00
gemini-2.5-pro *Google $1.25 $0.125 not published $10.00
gpt-4oOpenAI $2.50 $1.25 not published $10.00
gpt-5.4 *OpenAI $2.50 $0.250 not published $15.00
claude-sonnet-4.5Anthropic $3.00 $0.300 $3.75 $15.00
gpt-5.5 *OpenAI $5.00 $0.500 not published $30.00
gpt-5.6-sol *OpenAI $5.00 $0.500 $6.25 $30.00
claude-opus-4.8Anthropic $5.00 $0.500 $6.25 $25.00

A cache write rate appears only where both price sources carry one. Google publishes context caching as a storage charge per million tokens per hour rather than a per-token write, so those cells are held.

How the token estimate works

The paste box counts characters and divides. It is an estimate, not a tokenizer, and the two vendors who publish a figure do not agree on the divisor.

Google states that for Gemini models, a token is equivalent to about 4 characters. Anthropic states that for Claude, a token approximately represents 3.5 English characters, though the exact number can vary depending on the language used. So the box shows a range rather than pretending to one number, dividing by 4 at the low end and 3.5 at the high end.

Two things push the real count higher than either figure. Code, non-English text and long runs of digits all tokenize worse than prose. And newer Claude models changed tokenizer, producing approximately 30% more tokens for the same text than Sonnet 4.6 and earlier.

For an exact count, use the token counter.

Where a single rate stops applying

Six of the 13 models change price under conditions a one-rate-per-model table cannot show. Each is quoted from the vendor page that states it.

Where these numbers come from

Each rate is fetched from the OpenRouter models API and cross-checked against the community maintained LiteLLM price registry. A value the two disagree on, or one that falls outside a sane range for that model, is held rather than published. That is why some cells read not published instead of showing a zero.

The calculator multiplies those rates in your browser, so you can reproduce any figure here from the per-token numbers in the rate table. Nothing runs on a server and nothing you paste leaves the page.

I'm Michael Lip. I build and operate the KickLLM cost calculators, and I run 20 plus published Chrome extensions under the Zovo network. Several of them call paid LLM APIs in production, which is where the interest in cache rates started.

Related calculators

Token counter OpenAI Batch API Prompt caching break even Batch API savings Claude API pricing GPT-4o API pricing

Sources

By the same builder: GitHub · theluckystrike BeLikeNative · Grammar AI EarlyThunder · Dev Blog Bug Bounty Reality Zovo · AI Dev Tools