Text & documents
Encoder/DecoderURL, Base64, HTML
Text convertercamelCase, snake_case...
Text DiffCompare two texts
LaTeXPreview mathematical formulas
MarkdownReal-time preview
MermaidDiagrams as code
DiagramsVisio-style visual editor, Mermaid import
String escaperJS, JSON, SQL, Regex, HTML, URL
Unicode / ASCIICharacter information
Numbers & maths
CalculatorMath expressions + LaTeX
Base converterBase 2 to 64
Unit systembits, bytes, SI, IEC
Subnet / CIDRNetwork calculator
Timestamp and datesUnix, time zones, formats
Date calculatorDays between dates, exact age, day of the week
Data & formats
Format converterJSON, YAML, Properties, ENV, CSV
JSON FormatterFormat and validate JSON
Regex TesterRegular expressions
JSON DiffStructurally compare two JSONs
Code formatterSQL, CSS, HTML, JavaScript
DB StudioVisual Postgres database in the browser
SQL LabValidate, run and optimize SQL with real Postgres
Giant file viewerOpen huge CSV/logs without loading them
Visual ETL flowTransform data by chaining nodes
Security
Text anonymizerRedact PII and secrets (reversible)
JWT InspectorDecode JWT tokens
Auth flowsBasic, JWT and OAuth2 step by step
Hash generatorSHA-256, SHA-384, SHA-512
Password & UUID generatorPasswords and UUIDs
Development & DevOps
CronGenerator and validator
Docker → ComposeConvert docker run to Compose
Skaffold multi-configDependency graph and requires validation
Linux: permissions and userschmod, chown, useradd and groups
URLParse and build URLs
Random dataNames, emails, IPs, UUIDs...
ElectronicsOhm's law, series/parallel resistors
Logic GatesAND, OR, NOT and more gate simulator
Quantum simulatorQubits, gates, superposition and entanglement
HammingError detection
Nginx/Apache SPA configGenerate config to serve a SPA
SemverSemantic version ranges
CORS ExplainerAnalyse your server's CORS headers
Cert inspectorAnalyse X.509 certificates in PEM format
Rate LimiterSimulate Token Bucket and Fixed Window
Assembly simulatorSimplified MIPS ISA · step-by-step · registers & memory
Context ForgePack and shield your project for AI
Artificial Intelligence
LLM costsSimulate monthly spend
Prompt builderSystem prompt for AI agents
EmbeddingsSimilarity, 2D map and RAG
Local AIChat, summarization, translation & sentiment in-browser
TokenizerVisualize tokens, compare models, estimate costs
Probability for AIDistributions, softmax, Bayes and entropy
Gradient descentSGD, Momentum, RMSProp, Adam
Neural networkTrain an MLP and watch the boundary form
Mini-LLMTrain a language model with your text
Dimensionality reducerPCA, t-SNE and UMAP, live
Confusion matrix & ROCThreshold, precision/recall, ROC/AUC, PR
Clustering (k-means, DBSCAN)Discover groups without labels
Attention visualizerWhat each word looks at in a transformer
Convolution & CNN filtersImage filters and feature maps
Decision treeDecision regions + the tree
Fourier & convolutionFFT spectrum and signal filters
DiffusionThe noise behind Stable Diffusion
Regression & MLELeast squares, overfitting, ridge
Markov chainsStates, stationary distribution and text
Hypothesis testingp-values, t-test, χ², ANOVA and power
OCR — Image to textExtract text from images, 100% local
Finance
InflationYear-by-year purchasing power erosion
Compound interestCapital + contributions + compound interest
Mortgage / loanMonthly payment and French amortization schedule
Split expensesWho owes whom and how much
Health & Wellness
BMI & healthBMI, ideal weight, BMR and sleep cycles
Productivity
PomodoroTime-block work technique
StopwatchWith laps, stages and history
Games & Entertainment
DiceTables with numeric and symbolic dice
ScorekeeperPoints per player with game timer
Random pickerPick a random item from a list
Name generatorReal, fantasy, sci-fi, Norse names
Multimedia & design
Color HEX/RGB/HSLColor converter
QR CodeGenerate QR codes
ImagesResize, convert, Base64
PDF ToolsMerge, extract, watermark
ChartsVisualize data with charts
WCAG ContrastWCAG AA/AAA contrast ratio
Business
Meeting costHow much does each meeting really cost?
SLA / UptimeAvailability percentage ↔ downtime
Break-evenCost and revenue break-even point
Burn rate / RunwayHow long does your cash last?
A/B TestStatistical significance of experiments
DORA MetricsClassify your team by DevOps metrics
UTM BuilderBuild and decode URLs with UTM parameters
How to use
What a token is and why count them

A language model doesn't read letters or words: it first splits the text into tokens, small pieces (a short word, part of a long word, a symbol, a space…). As a rough rule, in English 1 token ≈ 4 characters ≈ ¾ of a word; in Spanish and in code there are usually somewhat more tokens per word.

Counting tokens matters for two reasons:
Context window — each model accepts a maximum number of tokens (input + output). If you go over, the text is cut off or the request fails.
Cost — APIs charge per token, not per word. Knowing how many there are tells you how much you'll pay and whether it fits.

How to use it (step by step)

1. Pick the mode at the top: Instant (default) or Exact.
2. In Instant, choose the encoding / model in the dropdown.
3. Type or paste your text into “Text to tokenize” (or click an Example: Short, Paragraph or Code).
4. The count updates on its own once you stop typing; at the top you see Tokens, Characters and Chars / token.
5. Below, the Visualization tab shows the split and Costs and context estimates the price per model. Everything happens in your browser.

Instant vs Exact mode

There are two ways to split, both BPE (Byte Pair Encoding) and 100% local:

Instant (default) — uses the gpt-tokenizer library with OpenAI's real encodings. It downloads nothing and responds instantly. It's the exact count for GPT/o1 models and the one you should use almost always.
Exact (GPT-2) — downloads the real GPT-2 tokenizer (~5 MB from Hugging Face, cached the first time) and tokenizes with it. Useful only if you work specifically with GPT-2.

Neither is the tokenizer of Claude or Gemini (those families use others): for them the number is a close estimate, not exact.

Encodings and which model they map to

The Instant-mode dropdown chooses which encoding is used to count. Each is shared by several models and has its own context window:

o200k_base — GPT-4o / o1 — the newest; used by GPT-4o, GPT-4o-mini and o1. 128K-token context. It's the default option.
cl100k_base — GPT-4 / GPT-3.5 — for GPT-4, GPT-3.5 Turbo and the embeddings models. 128K context.
p50k_base — Codex / davinci-002 — older models: Codex and text-davinci-002/003. 8K context.
r50k_base — GPT-3 / GPT-2 — the oldest: davinci (GPT-3) and GPT-2. 2K context.

Pick the one that matches your model: the same text gives a slightly different token count depending on the encoding.

How to read the result

Above the text you'll see three figures:

Tokens — the count that really matters for context and cost. It's the real number even if the visualization is trimmed.
Characters — length of the text in characters (includes spaces and line breaks).
Chars / token — average characters per token. The higher it is, the more “efficient” the text (fewer tokens per letter); code and languages with many accents tend to lower this figure.

Visualizing the split

Each colored box is one token; the colors just alternate to tell the boundaries apart. Notice how a long word breaks into several pieces and how spaces usually stick to the start of the next token. To avoid overloading the browser, the view shows at most the first 500 tokens; if your text is longer a notice appears, but the count and cost are for the full text.

Privacy

All the splitting and counting happen in your browser: the text never leaves your machine. In Instant mode nothing is downloaded; in Exact mode only the GPT-2 tokenizer (~5 MB) is fetched once and then cached. You can safely paste prompts or snippets containing internal data.

TokenizerVisualize tokens, compare models, estimate costs
Visual TokenizerVisualiza cómo los LLMs trocean texto · Estima costes · BPE instantáneo o GPT-2 descargable
Real GPT BPE instantly (gpt-tokenizer library), nothing to download.
Ejemplos: