Talk to your data.
Talk to your data.
Load tabular data, say what you want, and watch it happen. AI ETL: no formulas, no code.
No API key? Take a guided tour: it replays real sessions, free.
TamedTable
\> normalize the phone numbers
| Name | Phone | Country | | ----------- | -------------------------- | ------- | | John D. Doe | (200) 555-1234+12005551234 | USA | | Anna Müller | +49 555 6789+495556789 | Germany | | 张三 | +86 555 1234+865551234 | China |
Every common data job, in natural language
Transform with context
The AI understands context, so it cleans, enriches, classifies, and validates — things no formula can.
See everything
See changes as they happen. Nothing is hidden: TamedTable is source-available, and runs on your own API keys.
Reuse and automate
Every change saves as steps you replay on new data, or export as a Python script. Runs in browser and CLI.
Read many formats
Open CSV, JSONL, Parquet, and Arrow files — local, from a URL, or a bundled sample.
How it works
1
Add API keys
Just the first time you start the app.
2
Open a file
CSV, JSONL, Parquet, or Arrow. Local or from a URL.
3
Say what you want
Works in any language: English, Chinese, etc.
4
Watch changes
Dislike changes? Undo anything.
5
Automate
You made a recipe; replay it on new data.
Lazy AI execution
Preview for cents, run for real when you're sure. AI steps fill the page you are looking at; the rest waits until you ask.
open a 25,000-row fileStarts as a shuffled sample; saving keeps the original order "add a Category column"Fills the rows on screen right away; the pager marks what's pending Run on all rowsRows, cost, and time shown before you commit; finished rows are kept
Clean up
Fix messy fields the way a person would. The AI reads each row's context before deciding.
"normalize the phone numbers"Dialing prefix inferred from regions "make the country names consistent"Folds UK / England / United Kingdom into one "fix the capitalization of names"Handles McDonald, van der Berg "clean up the birth dates"Knows 03/04 is March in the US, April in the EU
Enrich & extract
Add what isn't there yet. The model fills the gaps and pulls structure out of free text.
"split the address into Street, City, and Zip"Structures whatever mess they typed "fill the country from the city column"Knows Osaka → Japan "add the industry for each company"Inferred from company names "extract the amount and date from the memo, refunds negative"Pulled from free text, refunds signed
Classify
Sort rows by what they mean. The AI reads what each row is about.
"label each ticket as billing, bug, or feature"Reads the ticket's meaning "classify the ticket sentiment into positive, negative and neutral"Reads the verdict, even in mixed tickets "sort the titles by seniority"Ranks senior → junior "split customers into men, women, and unknown"Gender inferred from first names
Validate
Catch the wrong-looking rows before anyone else does.
"flag emails that look fake"bill.gates@microsoft.com probably didn't sign up "flag any impossible birth date, like Feb 30th or year 1873"Dates that parse can still be impossible "check the city matches the country"Paris, Japan gets a second look "flag prices that seem wrong"Catches the missing zero before Reddit does
Process language
Summarize, translate, and classify any language.
tap the micSay any command out loud, hands-free "tag the language of every comment"Language detected per row "translate the comments to English"From any source language "add a one-line Summary for each comment"Even the 500-word rant "normaliza los números de teléfono"Ask in any language, voice or text
Be exact
The everyday spreadsheet jobs are still here; deterministic and repeatable.
"Remove the duplicate rows"Dedupe "Join with join-country-codes.csv on Country to add ISO and Region"Join two tables "Show only customers in Europe"Filter rows — on the column the join just added "Pivot Quarter into columns, with Revenue as the value"Reshape tall to wide "Sort by Q4, descending"Sort or top-N
Load, save & reuse
Your work is yours to keep. Load from anywhere, save the data or the recipe, undo anything.
a file or a URLLoads CSV, JSONL, Parquet, Arrow from web or CLI :save clean.csvSave data to CSV, JSONL, Parquet, or Arrow :save-flow tidy.flowSave transformations as a TamedTable script :save-py tidy.pySave transformations as a Python script :undo / :redoUndo/redo any change
Trustworthy by design
A repeatable recipe
Each request becomes a small spec you can read. Deterministic steps run in a real SQL engine, and the same recipe replays on next month's file.
Undo anything
Every change lands in the history. Step back one change or all of them; the original file on your disk is never touched.
Leave anytime
Export any recipe as a plain Python script and run it without TamedTable. Your data stays in open formats; there is no lock-in to defend.
Tested & benchmarked
CI replays 606 test scenarios on every commit. In our benchmark, the default model matched hand-checked labels 96.7% of the time, at $0.15 per 1,000 rows classified.
Try it in two minutes
Source-available. Runs on your own API key, or take the guided tour without one.