Usage cost analyzer

Load the token usage you exported from OpenAI or Anthropic. The page totals tokens per model, prices them at today's list prices, compares that with the billed amount if your file has one, and shows what the same tokens would cost on other models.

Private by design: the file is read with JavaScript in this tab and never uploaded, sent or saved. Nothing is stored after you close the page. Project, API key and user ID columns are ignored and never shown.

Or paste CSV / JSON text

Which files work

JSON from the OpenAI Usage API (/v1/organization/usage/completions, group by model) and the Anthropic Usage & Cost Admin API (/v1/organizations/usage_report/messages, group by model) is read with their documented field names. Dashboard CSV exports and other tables are matched by column-name keywords; check the column mapping and fix it if a column is wrong. Snapshot names such as gpt-5-mini-2025-08-07 are matched to the base model.

FAQ

Is my usage file uploaded anywhere?

No. The browser reads it locally with the File API; the page makes no request with its contents and does not keep it in storage. Closing or reloading the tab discards it.

Why is the estimate different from my bill?

Exports rarely say which requests used batch, flex or priority tiers or long-context rates, and they leave out tools, audio, images, credits and tax. Prices may also have changed since. Treat the billed amount from your file as the real figure and the estimate as a list-price check.

Which export should I use?

OpenAI: the Usage API completions endpoint with group_by=model and bucket_width=1d, or the usage CSV from the dashboard. Anthropic: the Admin API usage report grouped by model, or the usage CSV from the Console. Gemini has no per-model token export; paste your own table and map the columns.