Client-side token counter vs API-reported counts: which should you trust?
There are two ways to know how many tokens your prompt uses: count them before sending with a client-side tokenizer, or check the usage field in the API response after the request completes. The client-side count is an estimate of the input tokens. The API response is the ground truth, including both input and output tokens. In practice, they should match exactly for input tokens (assuming you're using the same tokenizer the API uses).
How this is calculated
For OpenAI models, the tiktoken library or gpt-tokenizer npm package gives exact pre-request counts that match the API response. For Llama models, llama3-tokenizer-js gives exact counts. For Claude and Gemini, client-side tokenizers don't have access to the real tokenizer, so any pre-request count is an estimate. The API response always includes the exact count. For cost estimation, use client-side tools for budgeting before you send. For billing and monitoring, use the API response values. If you see a mismatch between your client-side count and the API response for OpenAI models, check that you're using the correct tokenizer for the model (o200k_base for GPT-5 and GPT-4o, cl100k_base for older models).
Verdict
Use the client-side token counter for pre-request planning and prompt optimization. Trust the API response for billing and production monitoring. For OpenAI and Llama, they should match. For Claude and Gemini, treat the client-side count as an estimate within roughly 10%.
More Tokens scenarios
Frequently asked questions
What is a token in an LLM?
How accurate is this token counter?
Why do different models report different token counts?
Is my text sent to a server?
Related tools
LLM API Pricing Calculator
Compare API costs across major models (OpenAI, Anthropic, Google) with prompt caching.
Use tool ➜LLM VRAM Calculator
Calculate the VRAM needed to run or fine-tune any LLM at any quantization.
Use tool ➜JSON Formatter
Validate, format, and minify JSON data with syntax highlighting.
Use tool ➜