Excel to JSON Converter

Convert Excel sheets to JSON — arrays of objects or arrays — in your browser.

100% Free No signup Works in your browser No data uploaded

Your file is read and converted in your browser — nothing is uploaded.

How to use the Excel to JSON Converter

Step 1 — Upload

  • Select an .xlsx, .xls, or .csv file. It is read in your browser.

Step 2 — Pick the sheet

  • If the workbook has multiple sheets, choose which one to convert.

Step 3 — Set options

  • Choose array-of-objects (with header keys) or array-of-arrays, and pretty or compact.

Step 4 — Copy or download

  • Copy the JSON, or download it as a file.

Frequently asked questions

What JSON shape do I get?

By default, each row becomes an object keyed by the header row (first row), giving an array of objects — the shape most APIs and apps expect. Turn off "First row as keys" to get a plain array of arrays instead.

Can I get compact JSON?

Yes. Pretty-print is on by default for readability; switch it off to get minified single-line JSON that is smaller for transport.

How are numbers and dates treated?

Values are read as text so what you see matches the cell display. If you need strict numeric types, post-process the output, since spreadsheets mix formats freely.

What if my sheet has no header row?

Turn off "First row as keys" so every row, including the first, is emitted as an array of values rather than being used as object keys.

Is anything uploaded?

No. Your spreadsheet is read and converted entirely in your browser using JavaScript, so the file never leaves your device and there is no upload size limit beyond your own memory.

About the Excel to JSON Converter

This tool turns an Excel or CSV sheet into JSON, the format that web APIs, JavaScript apps, and countless backends use to exchange structured data. It reads .xlsx, .xls, and .csv files and gives you control over the JSON shape, all in the browser with no upload.

Two useful shapes

Tabular data maps to JSON in two common ways, and this tool supports both. With "First row as keys" enabled — the default — the first row is treated as field names and every subsequent row becomes an object, producing an array of objects like the records returned by a typical REST API. That is what you usually want for feeding data into an application. With the option disabled, you get an array of arrays: each row, including the first, is a simple list of cell values, which is handy when there is no header or when you want to preserve exact positions.

Readable or compact

Output is pretty-printed with indentation by default so it is easy to read and inspect; switch pretty-print off to get minified JSON on a single line, which is smaller to store or transmit. Cell values are read as displayed text, so the JSON matches what you see in the sheet; because spreadsheets freely mix numbers, dates, and text, apply your own type coercion afterwards if you need strict numeric or date types.

Sheets and privacy

Pick any sheet from a multi-sheet workbook with the selector. Your spreadsheet is read and converted entirely in your browser using JavaScript, so the file never leaves your device and there is no upload size limit beyond your own memory. To convert JSON back to a spreadsheet-friendly format, see the JSON to CSV Converter.

Copied to clipboard