Free browser tools that respect your files — everything runs locally, nothing is uploaded.

AI Agent Log Cost Analyzer

Drop your Claude Code session logs (or any JSONL with usage fields) and get spend by day, model, and session — estimated locally from an editable price table. Free, private, nothing uploaded.

Drop .jsonl / .json log files here, or click to browse

Claude Code: ~/.claude/projects/**/*.jsonl

Why local?

Session logs contain your code and prompts. Hosted dashboards ask you to upload them (or pay per seat). This analyzer parses them in your browser — same insight, zero upload, zero cost.

Works with Claude Code, Gemini CLI exports, and any harness that logsusage.input_tokensper event.

🔒 Private by design: your logs are parsed in this browser tab with JavaScript — nothing is uploaded, stored, or shared. Disconnect from the internet after loading and it still works.

Quick Answer

Drop your Claude Code session logs into this analyzer and it sums tokens and estimates cost per day, per model, and per session — entirely in your browser. Nothing is uploaded, no account is needed, and the per-model price table is editable so you can match your exact plan.

How It Works

1

Export or locate your logs: Claude Code stores session logs at ~/.claude/projects/<project>/<session>.jsonl

2

Drop one or more .jsonl / .json files onto the analyzer (or paste raw JSONL text)

3

Review estimated spend by day, model, and session; open the price table to align rates with your plan

4

Export a CSV or JSON summary for expense reports — nothing was uploaded at any point

Key Facts

  • Reads Claude Code JSONL session logs and any JSON/JSONL with OpenAI-style usage fields
  • Totals: estimated spend, input/output/cache tokens, sessions, and active-day span
  • Cost-by-day chart, cost-by-model breakdown, and a top-sessions table
  • Editable per-model price table (per million tokens) so estimates match your plan
  • Uses costUSD from the logs when present; falls back to your price table
  • Export the full summary as CSV or JSON
  • 100% client-side — logs never leave your machine

Frequently Asked Questions

Where do I find my Claude Code logs?

Claude Code writes one JSONL file per session under ~/.claude/projects/<project-path-hash>/ on macOS/Linux and %USERPROFILE%\.claude\projects\ on Windows. Each line is an event; assistant events carry message.usage with input_tokens, output_tokens, cache_creation_input_tokens, and cache_read_input_tokens. Drop any selection of those files here.

How is cost calculated?

If a log line already carries a costUSD field, the analyzer sums it directly. Otherwise it multiplies token counts by the per-model price table (per million tokens, editable in the tool) with separate rates for input, output, cache writes, and cache reads. Defaults reflect published Anthropic list prices; replace them with your plan or batch rates for exact numbers.

Are my logs uploaded anywhere?

No. Parsing, aggregation, and charting all run in your browser with JavaScript. Your session logs — which can contain your code and prompts — never leave your machine, which is exactly why a local analyzer beats pasting logs into a hosted dashboard.

Which log formats work besides Claude Code?

Any JSON or JSONL where events expose usage.input_tokens / usage.output_tokens (OpenAI-style, nested under message or at the top level) — including Gemini CLI session logs and custom agent harnesses. Lines that do not match are counted and skipped, never crash the run.

Can I analyze multiple projects or months at once?

Yes — drop as many files as you like; they are merged into one report. Sort the top-sessions table to find the expensive outliers, then re-run a single file if you want it isolated.