Data tools that run in your browser — nothing is uploaded
Convert, format and validate your data — without uploading a byte
Convert CSV, TSV and delimited tables to JSON, Markdown, HTML or SQL inserts, format and validate JSON with YAML, XML and CSV conversion, and beautify SQL for MySQL, PostgreSQL or SQLite. Free, instant and client-side.
- CSV → JSON, Markdown, HTML, SQL
- JSON → YAML, XML, CSV
- Four SQL dialects
No account, no upload endpoint and no tracking of what you paste — verify it in DevTools.
Free tools
Convert it in your browser, not on a server
One hub, no accounts and no uploads: every file you paste is parsed and converted on your device, and every tool stays free.
CSV & tables
Parse comma, semicolon, tab or pipe separated files with quoted fields intact, then export JSON, a Markdown table, an HTML table or SQL INSERT statements — with a delimiter detector, duplicate removal and column filtering.
Open toolJSON formatter
Validate JSON with an error position, format it with two spaces, four spaces or tabs, minify it, inspect the parse tree, and convert to YAML, XML or CSV with key count and depth statistics.
Open toolSQL formatter
Reformat a query with each clause on its own line and one column per line, uppercase or lowercase the keywords, and choose between Standard SQL, MySQL, PostgreSQL and SQLite.
Open toolXML formatter
SoonPretty-print XML with configurable indentation, validate tag nesting and convert between XML and JSON. In development on the same client-side pipeline.
In development
Start by pasting a table
The converter below is the full tool: pick the delimiter, drop the columns you do not need, then export JSON, CSV, Markdown, HTML or SQL INSERT statements.
Paste a delimited file
Comma, semicolon, tab or pipe — quoted fields with newlines are kept intact.
- Rows
- 4
- Columns
- 5
- Delimiter
- Comma
- Duplicates
- 0
Preview
First 4 of 4 rows
| id | name | role | city | joined |
|---|---|---|---|---|
| 1 | Ada Lovelace | Engineer | London | 1843-01-01 |
| 2 | Grace Hopper | Admiral | New York | 1944-01-01 |
| 3 | Alan Turing | Mathematician | London | 1936-01-01 |
| 2 | Grace Hopper | Admiral | New York | 1944-01-01 |
Export
Generated in this tab — nothing is uploaded.
Want the CSV FAQ and the parser rules? Open the CSV converter
How it works
Data tools that run in your tab
No uploads, no sign-ups and nothing to wait for: parsing and formatting happen inside this page, so the result appears while you type.
1. Paste the data you already have
A CSV export, a JSON payload, a one-line query. It stays in page state: the same textarea you typed into is what the parser reads.
2. Shape it with explicit options
Delimiter, header row, column filter, indentation, dialect, keyword case. Nothing is guessed silently — every choice is a control you can see and change.
3. Watch the output update as you type
Parsing is debounced so a large paste does not freeze the page, and the preview, the statistics and every export are produced from one parse.
4. Check it before you trust it
Warning rows, token counts and byte savings are shown next to the result, so a broken quote or a lost token is visible instead of silent.
Privacy by architecture
Nothing is uploaded — and you can verify it
Privacy claims are cheap, so this one is falsifiable: the app has no upload code path at all.
No upload endpoint exists
None of these tools has a POST route, a storage bucket or a proxy. Open DevTools → Network while you convert a file: the only requests are the page assets.
Your data stays in memory
Files, queries and column choices live in React state inside the tab and are never persisted. Close the tab and they are gone — nothing survives, because nothing was stored.
Deterministic output, byte for byte
The serialisers are hand-written and never consult the locale or the clock, so the same input produces exactly the same export every time you run it.
Free forever, no account required — the tools are static pages that run entirely on the client.
DataCraft FAQ
Delimiters, quoting, JSON validation, SQL dialects and where your data actually goes.
Is anything I paste uploaded to a server?
No. DataCraft has no upload endpoint at all: parsing, formatting and conversion all run in JavaScript inside the page. You can confirm it by opening DevTools → Network and using any tool — the only requests are the page assets themselves.
Which delimited formats does the table converter handle?
Comma, semicolon, tab and pipe separated text. The parser implements RFC 4180, so quoted fields may contain the delimiter, line breaks and doubled quotes, and a BOM at the start of the file is stripped before parsing.
How does the delimiter detector decide?
It counts each candidate delimiter on every line while ignoring quoted regions, then keeps the candidate whose per-line counts are all non-zero and identical. A file where the count varies between lines is treated as inconsistent, so the next candidate is tried. You can always override the choice manually.
Can I turn CSV rows into SQL INSERT statements?
Yes. Pick the SQL INSERT output, choose Standard SQL, MySQL, PostgreSQL or SQLite, name the table and optionally set how many rows go in each statement. Integer and decimal values are written as bare numbers, true/false become booleans, empty cells become NULL and everything else is a properly escaped string literal.
What is different about the JSON formatter's validator?
It uses the same strict parser your runtime ships, and then translates the failure into a line and column, so you are not left with a cryptic character offset. Numbers keep their exact literal text — 1.10 stays 1.10 in the output — because no float rounding is applied.
Which SQL dialects are supported?
Standard SQL, MySQL, PostgreSQL and SQLite. The dialect changes the keyword table (for example ILIKE and RETURNING for PostgreSQL, AUTOINCREMENT for SQLite) and the identifier quote character, so nothing is ever re-quoted in a way the target engine would reject.
Is there a size limit?
There is no hard limit, but parsing is debounced so typing stays responsive on large pastes. A few megabytes is comfortable in a modern browser; past that, expect a short pause after each edit because the whole file is re-parsed in the main thread rather than uploaded anywhere.
Do the tools work offline?
Once the page has loaded, yes. Everything runs client-side, so you can keep working with no connection at all. Nothing is cached to disk and nothing is stored between sessions: close the tab and your data is gone because it was never written anywhere.