LLM Token Counter — Browser-Local OpenAI & Claude
Count tokens for GPT-4o, Claude, and Gemini in your browser. Exact tiktoken for OpenAI models; honest estimates for others — zero provider API calls. Also useful: word counter, JSON formatter, and character counter.
How counting works
Exact (OpenAI-family models): we lazy-load js-tiktoken with the model encoding (o200k_base or cl100k_base) and count in your browser.
Estimate (Claude, Gemini): a characters-per-token heuristic (±5–15% typical variance). Results are labeled Estimate so you are not misled.
In API messages mode, valid [{"role","content"}] arrays add ChatML per-message overhead (+3 tokens per message, +1 per name, +3 reply priming) following the OpenAI cookbook.
API messages mode
Paste a JSON array of objects with role (system, user, assistant, or tool) and string content. Optional name is supported. Invalid shapes fall back to raw text in Auto mode — use the format toggle to force messages mode and surface parse errors. Tip: format JSON first with our JSON formatter.
Privacy
All tokenization runs locally. Unlike many online counters that upload your prompt to a provider tokenizer page, FastMinify keeps text on your device. No provider token-count APIs are called.
Limitations
Estimate tier is not billing-grade. Pricing on this cluster is maintained manually — see the verified date on the pricing calculator. Image, audio, and tool-call token rules are out of scope for v1.
When to use OpenAI's official tokenizer
For OpenAI-only byte-exact disputes, compare against platform.openai.com/tokenizer. Our Exact tier targets the same encodings via js-tiktoken.
Related text & JSON tools
Pair token counts with our word counter, validate message JSON with the JSON formatter, or check character totals via the character counter.
Options that change the count
FAQ
Token counting, privacy, and accuracy
Is my prompt sent to OpenAI or Anthropic?
No. All counting runs in your browser. FastMinify does not call provider token APIs or log your text.
Why is Claude labeled Estimate?
Anthropic does not publish a browser-side tokenizer. We use a conservative characters-per-token heuristic and label results Estimate so you are not misled.
What is message overhead?
Chat API messages add fixed template tokens per message (role, content, separators) plus reply priming. Exact OpenAI counts follow the public tiktoken cookbook; estimates use a flat +3 per message approximation.
What is the maximum input size?
About 512 KiB of UTF-8 text. Larger inputs show an error card and are not tokenized.
How often is pricing updated?
Model prices are reviewed manually at least monthly. The verified date appears on the pricing calculator tool only.
Why is there no token breakdown for Claude?
Token pills use js-tiktoken BPE decoding, which is exact for OpenAI encodings only. Estimate-tier models show an inline notice instead of fabricated pills.
Does compare-all include pricing?
No. Compare view shows token counts and accuracy tier only. Use the LLM pricing calculator for cost estimates.
AI & LLM
Token counting, pricing estimates, and context-window fit — 100% browser-local.
Explore other tool categories
Minify
Shrink code and assets for production — minify JavaScript, CSS, HTML, JSON and XML before gzip or CDN deploy.
Beautify
Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.
Unminify
Expand minified or compressed code — unminify JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML and other formats when debugging or reviewing.
Conversion
Transform data between JSON, YAML, XML and CSV locally — no server uploads.
CSS preprocessors
Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.
JSON Tools
Validate, format, diff and explore JSON payloads — complementary to minifiers and converters.
SVG Tools
Preview, optimize with SVGO, export Data URI, resize, beautify, convert to JSX and validate SVG — all in your browser.
DevOps & Infra
Terraform HCL format/validate/minify, Dockerfile format & lint, Docker Compose and .env validation.
CI/CD
GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.
Logs & observability
Line-oriented JSON/NDJSON and Nginx/Apache access logs — format, filter, validate, and CSV/TSV.
Kubernetes
Multi-doc manifests, structural validate, Ingress/Deployment starters, and Helm values formatting.
Networking / IP
CIDR, subnets, and IPv4/IPv6 helpers — in your browser.
Security & tokens
JWKS, X.509 certificates, and secrets scan — browser-local.
API & schemas
OpenAPI tools to format, validate, and lint your specs.
Encoding
Encode or decode Base64, URL components and HTML entities — client-side only.
Developer utilities
Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.
Text & Markdown
Count words, build Markdown TOCs, and clean line lists — all in your browser.
Serialization
Serialize and deserialize PHP data structures beside JSON workflows.