Excel / CSV to JSON converter

Select the cells in Excel or Google Sheets, including the header row, copy, and paste them here (CSV, semicolon- or pipe-separated text works too). The first row becomes the keys. Nothing is uploaded — the conversion runs in this page.

Frequently asked questions

How are numbers and dates converted?

With 'Detect types' on, plain numbers like 42, -3.5 or 1e3 become JSON numbers, TRUE/FALSE become true/false and empty cells become null. Values with currency signs, thousands separators or leading zeros (zip codes, ids such as 02134) stay text, and dates stay as the text you copied. Turn it off to keep every value as a string.

What does 'Nest dotted headers' do?

A header like address.city becomes {"address": {"city": …}}, and tags.0, tags.1 become an array. It reverses the flattening used by most JSON to CSV converters, including ours.

What happens to empty or duplicate headers?

An empty header becomes column_N (its position), and a repeated header gets _2, _3 … so no column is lost.

Can I upload an .xlsx file?

Not here: paste the cells instead (Ctrl+A, Ctrl+C in the sheet). Copying keeps the values as Excel displays them.

Is my data sent to a server?

No. The page has no analytics and makes no network requests with your input.