Estimate the LLM cost of a coding task
Before you point an AI model at a repository to generate, review, or refactor it, you want a rough idea of the bill. This estimator turns a line count and a language into token estimates, then prices them against GPT-4o, Claude, and Gemini so you can budget a coding task in seconds.
Why code costs more tokens than prose
Tokenizers — the software that splits text into the chunks (tokens) a model processes — treat code very differently from natural language. Code is full of characters that tokenizers split on: brackets, braces, parentheses, semicolons, underscores, camelCase word boundaries, and indentation. A single line of Java might tokenize as 15–20 fragments where a sentence of equivalent length in English would be 10–12. This means a 10,000-line codebase can cost as many input tokens as a 50,000-word document.
The language matters too:
- Java and C# are verbose; explicit types, access modifiers, and boilerplate push token counts up
- Python and Ruby are terse; fewer characters per line and minimal boilerplate keep counts lower
- TypeScript sits in the middle — somewhat verbose with generics and type annotations but not as extreme as Java
- C and C++ headers and macros add complexity; counts vary widely
How the estimate works
Source code is token-dense — far denser than prose. A line of code averages roughly 8-12 tokens depending on the language. The estimator multiplies your line count by a per-language density factor to get input tokens, then applies a task-specific output ratio:
input_tokens = lines × tokens_per_line
output_tokens = input_tokens × task_output_ratio
cost = (input/1e6 × in_price) + (output/1e6 × out_price)
Generation produces a large amount of output (you are writing new code), so its output ratio is high. Review reads everything but emits only findings, so its output ratio is small.
Task-specific ratios
| Task | Input | Output | Notes |
|---|---|---|---|
| Generate | Low-medium | High | Prompt describes the desired code; model writes it |
| Review | High | Low | Model reads the full file; emits comments, not code |
| Refactor | High | High | Model reads and rewrites; roughly 1:1 in and out |
Tips for a realistic budget
Agentic coding tools rarely make a single call — they re-read files, retry, expand context, and request clarification. Real spend for agentic workflows is often 3-10× a single-pass estimate. Plan for this by treating the estimator’s output as a per-pass lower bound and multiplying by your expected iteration count.
To cut cost:
- Use cheaper models (GPT-4o mini, Claude Haiku, Gemini Flash) for review and bulk reformatting where reasoning depth is not critical
- Reserve frontier models for complex logic, architecture decisions, and debugging interacting systems
- Run initial passes on a representative subset of files rather than the entire codebase to get a quality signal before committing to a full run