From messy table to usable export
Paste CSV, TSV or a JSON array of objects. Choose input format, trim whitespace, replace literal text, filter rows, remove duplicates, group values, sort and select columns. Run once to inspect the table preview, then download the complete output.
Ordering and column names
Cleaning → filtering → deduplication → grouping → sorting → column selection → row limit → export. Column names are exact and case-sensitive. List selected or duplicate-key columns one per line. After grouping, sorting and selection refer to the new headers shown in the preview. Groups produce row_count, sum_COLUMN or average_COLUMN.
Data fidelity
Values are treated as strings, preserving leading zeros. JSON null/missing values become empty strings; nested values become JSON text. JSON export contains strings. Numeric aggregation uses JavaScript floating-point numbers; it is not an exact-decimal accounting engine. Strict numeric sorting rejects blanks and nonnumeric cells. Numeric filters skip nonnumeric cells. CSV and TSV quote every field; formula-prefix protection is enabled by default and can alter values by adding an apostrophe.
Limits, preview and privacy
Maximum 2 million input characters, 25,000 rows and 100 unique nonempty headers. Output is capped at 8 million characters. The visual preview shows the first 100 rows; downloads include the retained output within your row limit. Processing remains local. Recipes include settings and filter values, not the source table.
Rename columns using a JSON object, for example {"old":"new"}. Later filters and grouping use the renamed headers. Fill empty cells after trimming and empty-row removal. Row numbering is applied after sorting and selection. The column report describes retained output rows: unique counts include empty values; numeric counts exclude blanks. Automatic delimiter detection accepts exactly one consistent comma, semicolon, pipe or tab structure; select explicitly if ambiguous.