JSON to TypeScript interfaces and JSON Schema, typed from real data
Drop JSON, NDJSON, or CSV and get a TypeScript interface whose nullability is earned: a field is | null only if the data actually contains nulls, because the profile reads every row, not the first ten.
how to use it
- Drop
.json, .ndjson, or .csv. Every field is profiled across the whole file.
- Open </> code and choose TypeScript, or JSON Schema.
- Check the nullability: a field is
| null only where nulls actually occur in your data.
- Reshape first if you like - flatten, rename, drop - and the types follow the pipeline's output.
- JSON Schema (draft-07) with types, nullability, and required keys from the same full-file profile.
- Awkward keys are quoted; names stay exactly as your data spells them.
- Reshape first if you like - flatten, rename, drop - the types follow the pipeline output.
- Date columns are marked, not silently stringified: the interface types them as
string with an // ISO date string comment, and the JSON Schema carries a real format: "date" or "date-time" - so the shape is honest about what a JSON date actually is on the wire.
- Types come from a majority vote over the real values, so one stray
"n/a" in a numeric column does not quietly turn the field into string - and a column that genuinely is mixed does become one.
- The same panel emits CREATE TABLE and INSERTs for four SQL dialects, from that same profile.
every tool in the box
- data workbench - profile, clean, transform, and export CSV, JSON, and SQLite - the full suite
- JSON flattener - nested JSON or NDJSON to flat columns, arrays and objects unrolled
- CSV PII scrubber - find emails, phones, SSNs, and card numbers - mask, hash, or drop them
- JSON to CSV - convert JSON or NDJSON to CSV with full column control
- CSV to JSON - convert CSV to JSON or NDJSON, streamed at any size
- Excel to CSV - read .xlsx workbooks and export CSV, sheets and all
- CSV to Excel - write a real .xlsx where leading zeros and dates survive
- SQL on CSV - real SQL over your files: joins, GROUP BY, a read-only console
- CSV to SQLite - drop several files, get one .sqlite database with discovered foreign keys
- CSV to SQL - CREATE TABLE and INSERT statements for Postgres, MySQL, SQL Server, SQLite
- JSON to TypeScript - TypeScript interfaces and JSON Schema derived from your real data (this page)
- large CSV viewer - open files past Excel's 1,048,576-row limit without loading them into RAM
- regex painter - highlight example matches, get a verified regular expression back
- encoding fixer - detect windows-1252/UTF-16 and repair garbled text (José → José)
- log parser - read log files as events: layouts detected, stack traces kept whole, timestamps normalized, and a volume-over-time strip drawn in SQL across every row
- visualize - chart any table you have open - bar, line, area or point - drag across it to filter, and export svg, png, or the vega-lite spec that drew it
- theme builder - design, test, and export custom color themes with live previews, palette derivation, and contrast diagnostics
Like every unfckr tool, this runs 100% in your browser: no upload, no servers, no signup, no analytics. A Content-Security-Policy header blocks every programmatic network channel, so not even malicious code could phone home - and you can watch it happen: the privacy page runs six live escape attempts and shows the browser refusing each one.
↑ back to the tool