Paste a spreadsheet export and get JSON, or paste JSON and get a CSV back.
Drop a .csv, .tsv or .json file onto this box, or use Open file. Nothing is uploaded.
How It Works
Paste a CSV or TSV export into the left pane, or drop a .csv, .tsv or .json file onto it. The delimiter is detected for you, and a .json file switches the tool to the other direction automatically.
Switch the right pane to Table to see exactly how every row was read, with its line number. Any row whose cell count does not match the header is flagged, and nothing is ever dropped.
Copy the JSON, download it as a file, or publish the data as a live page showing it as a formatted table on a free link.
About This Tool
A CSV converter that reads quoted fields, embedded commas and line breaks properly, shows you the parsed table, and goes back the other way too.
Most CSV to JSON converters split each line on a comma. That works until a customer is called “Alvarez, Maria”, an address contains a line break, or Excel writes semicolons because the machine is set to a European locale. This one uses a proper parser: a quoted field may hold the delimiter, a newline and doubled quotes, records may end with Windows, Unix or classic Mac line endings, and the invisible byte order mark Excel puts at the start of a UTF-8 export is stripped before it can turn id into a column name nothing matches.
Anyone holding an export they did not create. A shop owner with an orders CSV who needs JSON for a form or an app. Someone whose spreadsheet came out of a course, a scanner or a chat with an assistant and now has to go into a website. A developer who wants to eyeball a file before writing an import script. You do not need to know what RFC 4180 is; you need to know that row 47 came through intact, which is what the table preview is for.
Everything runs in your browser. The file is never uploaded, and nothing is sent anywhere unless you press Publish. The tool reads your data into a table, then writes it out as JSON — an array of objects keyed by the header row, or an array of arrays if you prefer positions to names. The delimiter menu covers comma, semicolon, tab and pipe, and Auto tries all four and keeps whichever reads as a consistent table, so a semicolon-separated file from Excel and a TSV to JSON conversion both work with no settings at all.
Ragged rows are reported, never silently fixed. If a row has fewer cells than the header the missing fields come through empty; if it has more, the extra values get their own column. Either way the line number is listed underneath the panel so you can find it in the original file. Convert numbers and booleans is deliberately off by default, because turning 0042 into 42 or a phone number into a float is how a converter quietly ruins a file. Even with it on, values with a leading zero, a leading plus or more than fifteen digits stay as text.
The other tab converts JSON to CSV. Keys are unioned across every record, so a field that appears on only one object still gets a column instead of vanishing. Objects nested one level deep are flattened into dotted columns, so customer.name and customer.city become two ordinary columns. Anything deeper than that, and any array, is written into the cell as compact JSON text: it stays in the file, and it does not explode into hundreds of columns. If you want that data as markup instead, the HTML Table Generator takes the same CSV and gives you a<table>, and the JSON Formatter will indent and validate the JSON before you convert it.
A dropped file is capped at 5 MB, since the whole conversion happens in one browser tab. The table preview shows the first 200 rows; the output and the download always hold every row. There is no schema inference, no nested output structure built from dotted headers, and no date parsing — dates stay exactly as they were written, which is almost always what you want.
Data is usually going somewhere: a price list, a fixture list, a stock count someone needs to see today. Publish A Share Page wraps your table in a small complete page and puts it on a free OxyPages link with HTTPS in seconds, with no account. The link lasts 30 minutes unless you claim it, claiming is free, and from there you can choose your own address and connect a custom domain on a paid plan. See how it works for the whole picture.
Questions
More Free Tools
Every tool here runs in your browser and ends the same way: one click and your HTML is on a live link.
Paste JSON to format it, check it for errors with the exact line and column, browse it as a collapsible tree, or minify it. Free and entirely in your browser.
Create an HTML table by typing into a grid or pasting CSV. Set headers, borders, stripes and alignment, then copy clean HTML and CSS or publish it as a page.
Change text to uppercase, lowercase, sentence case, title case, camelCase, snake_case, kebab-case or CONSTANT_CASE in one click. Free, instant, in your browser.
Try It Now
Still Here? Drop It In.
The whole pitch fits in one sentence: your HTML, on a link, in seconds.
Drag and drop your HTML file(s), folders, or ZIP file
or ·
No account needed. Your unclaimed website stays live for 30 minutes on a free subdomain. Claim it to your account to keep it permanently.