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 is attention?

Attention is the core mechanism of transformers (BERT, GPT, Llama…). Each word (token) is not processed in isolation: it looks at the others and decides how much each one matters when building its own meaning. So in “The cat… because it was tired”, “was” can learn to focus on the cat. Here you see it two ways: the token-to-token matrix (each row sums to 1 = 100%) and the arcs over the sentence. Type your own sentence and experiment.

Query, Key and Value (Q/K/V)

To decide who to look at, each token emits three vectors: Query (Q, “what I'm looking for”), Key (K, “what I offer”) and Value (V, “what I contribute if I'm attended to”).

• The weight of token i on j is the dot product of i's Query with j's Key.
• It is divided by √dk (scaling, so the numbers don't blow up) and passed through softmax, which turns each row's weights into percentages that sum to 1.
• In short: A = softmax(Q·Kᵀ / √dk). This tool draws that matrix A; a real model would use those weights to mix the Value vectors.

Why multiple heads

A transformer doesn't have ONE attention, but several heads (here 4) in parallel. Each head uses different Q/K projections, so it learns to focus on different relationships: one on the previous word, another on the subject, another on agreement… and then they are combined. Switch Head with buttons 1–4 and watch how the pattern changes completely for the same sentence.

Causal mask: no looking at the future

Models that generate text (GPT) predict the next word, so they can't look at the future: each token only attends to itself and the previous ones. Turn on Causal mask (GPT) and you'll see the whole upper-right half of the matrix go dark — those future positions are set to 0 before the softmax. Without the mask, as in BERT, each token sees the whole sentence, to its left and right.

How to read the heatmap

The attention matrix is a token × token heatmap: the row is the token doing the looking (from) and the column the token being looked at (to).

• The more intense the blue of a cell, the higher the weight; white is almost zero.
• Each row sums to 100% (it is a distribution).
• Hover a cell to read the exact value (e.g. cat → cat: 40%).
• The diagonal usually lights up: a token almost always attends fairly strongly to itself.

The arcs: where a token looks

Over the sentence strip, click a word and arcs appear toward the words it looks at, taken from that row of the matrix. The thickness and opacity of each arc are proportional to the weight (weights below 2% are hidden). Click again to deselect. It's the same information as a heatmap row, but drawn over the text so you can read it at a glance.

How to use it (step by step)

1. Type a sentence in the field above (it's tokenized by words and punctuation, up to 40 tokens).
2. Pick a Head (1–4) to see different patterns.
3. Toggle the Causal mask to compare GPT vs. BERT.
4. Click a word (on the strip or on its row label) to draw its arcs.
5. Hover the heatmap to read exact weights. Everything recomputes instantly, in your browser.

This demo vs. a real model

This visualizer is educational and deterministic (offline): each token's vectors are generated by hash (equal tokens → same vector) plus a sinusoidal positional encoding, and the Q/K projections are fixed with a seed, so the result is reproducible. The attention computation (scaled dot product + softmax, with optional causal mask) is the real one. A true model learns Q/K/V from data and stacks dozens of layers and heads. Related: Tokenizer, Mini-LLM and Dimensionality reducer.

Attention visualizerWhat each word looks at in a transformer
Attention visualizerSee which words each token "looks at" — the mechanism inside a transformer
Head

Click a word to see where it looks:

Elgatosesentóenlaalfombraporqueestabacansado
Attention matrix (row = from, column = to)
ElgatosesentóenlaalfombraporqueestabacansadoElEl → El: 9%El → gato: 3%El → se: 13%El → sentó: 3%El → en: 0%El → la: 2%El → alfombra: 1%El → porque: 37%El → estaba: 5%El → cansado: 27%gatogato → El: 3%gato → gato: 1%gato → se: 13%gato → sentó: 6%gato → en: 26%gato → la: 2%gato → alfombra: 10%gato → porque: 2%gato → estaba: 36%gato → cansado: 1%sese → El: 5%se → gato: 4%se → se: 6%se → sentó: 11%se → en: 12%se → la: 13%se → alfombra: 33%se → porque: 1%se → estaba: 13%se → cansado: 1%sentósentó → El: 2%sentó → gato: 11%sentó → se: 19%sentó → sentó: 21%sentó → en: 9%sentó → la: 6%sentó → alfombra: 20%sentó → porque: 3%sentó → estaba: 7%sentó → cansado: 2%enen → El: 3%en → gato: 45%en → se: 17%en → sentó: 13%en → en: 12%en → la: 4%en → alfombra: 1%en → porque: 2%en → estaba: 1%en → cansado: 1%lala → El: 6%la → gato: 11%la → se: 25%la → sentó: 34%la → en: 7%la → la: 3%la → alfombra: 4%la → porque: 3%la → estaba: 6%la → cansado: 1%alfombraalfombra → El: 6%alfombra → gato: 13%alfombra → se: 21%alfombra → sentó: 21%alfombra → en: 7%alfombra → la: 8%alfombra → alfombra: 10%alfombra → porque: 6%alfombra → estaba: 4%alfombra → cansado: 5%porqueporque → El: 26%porque → gato: 17%porque → se: 9%porque → sentó: 11%porque → en: 2%porque → la: 7%porque → alfombra: 4%porque → porque: 5%porque → estaba: 9%porque → cansado: 9%estabaestaba → El: 14%estaba → gato: 13%estaba → se: 15%estaba → sentó: 32%estaba → en: 11%estaba → la: 3%estaba → alfombra: 2%estaba → porque: 7%estaba → estaba: 1%estaba → cansado: 2%cansadocansado → El: 17%cansado → gato: 17%cansado → se: 7%cansado → sentó: 27%cansado → en: 11%cansado → la: 7%cansado → alfombra: 6%cansado → porque: 2%cansado → estaba: 5%cansado → cansado: 2%

This is the attention mechanism (scaled dot product + softmax). A real model learns the Q/K/V projections and stacks dozens of layers and heads, but the idea is this. Related: Tokenizer, Mini-LLM and Dimensionality reducer.