CodeKitHub
JSON Tools

Excel to JSON/CSV Converter

Last updated:

To convert Excel to JSON, the first row becomes your object keys and every following row becomes one object in an array — the reverse conversion builds a real .xlsx workbook from that same structure. This tool does the conversion locally in your browser using the open-source SheetJS library, so the spreadsheet never leaves your device.


What Is This Tool?

Spreadsheets are how most people store and share tabular data, but developers and APIs need that same data as JSON or CSV. This tool reads the first sheet of an uploaded Excel file, treats the first row as column headers, and converts every following row into either a JSON array of objects or a CSV file — whichever you need.

It also works in reverse: paste a JSON array of objects or CSV text, and the tool builds a real .xlsx workbook you can download and open directly in Excel, Google Sheets, or LibreOffice Calc.

The conversion runs entirely client-side using the open-source SheetJS library, which parses the binary Excel file format directly in the browser — nothing is uploaded to a server at any point.

Source: SheetJS implements the ECMA-376 Office Open XML file format that .xlsx files follow.

Why Use It?

  • Two-way conversion — Excel to JSON, Excel to CSV, and JSON/CSV back to a downloadable .xlsx file, all in one tool.
  • No installation or account — works entirely in the browser tab you're already on.
  • Handles both legacy .xls and modern .xlsx formats.
  • First-row headers are detected automatically and used as the JSON keys or CSV column names.
  • 100% client-side — your spreadsheet data never gets uploaded anywhere, which matters for financial, HR, or customer data.

How to Use

  1. To convert Excel to JSON/CSV: click the file input and choose an .xlsx or .xls file, then click "Convert to JSON" or "Convert to CSV".
  2. Review the output, then copy it or click the download link to save the file.
  3. To convert JSON/CSV to Excel: paste your JSON array or CSV text into the second box.
  4. Click "Download as .xlsx" to generate and download a real Excel workbook containing your data.

Example

Input

Excel sheet with columns: name, age, city — rows: Alice, 30, NYC / Bob, 25, LA

Output

[{"name":"Alice","age":30,"city":"NYC"},{"name":"Bob","age":25,"city":"LA"}]

The first row of the sheet becomes the object keys; every following row becomes one array element.

Practical tips

  • Turning a shared Excel export into an API payload: convert to JSON, then paste the array directly into your request body or test script.
  • Preparing spreadsheet data for a database import: convert to CSV first, since most database import tools accept CSV natively.
  • Rebuilding a spreadsheet from a JSON API response: paste the array into the second box and download it as .xlsx to hand off to a non-technical teammate.

Why the first row matters

This tool assumes the first row of your sheet contains column headers, which becomes the set of JSON keys (or CSV column names) used for every row below it. If your spreadsheet has a title row, a merged banner, or blank rows above the real header row, remove them before uploading — otherwise the tool will treat that row as the header and the real data will end up misaligned under the wrong keys.

Frequently Asked Questions

Does this work with multiple sheets in one workbook?

Only the first sheet is converted. If your workbook has data spread across multiple sheets, convert one sheet at a time by reordering or duplicating sheets before uploading, or use a dedicated multi-sheet tool.

Is my spreadsheet uploaded to a server?

No. The file is read and parsed entirely in your browser using JavaScript — it's never transmitted anywhere, which makes this safe for confidential business or personal data.

What happens to empty cells?

Empty cells are simply omitted from the resulting JSON object for that row, or left blank in the CSV — they don't cause errors.

Can I convert CSV directly to Excel without going through JSON?

Yes — paste CSV text directly into the second box and click "Download as .xlsx"; the tool detects whether your pasted text is JSON or CSV automatically.

Does it preserve cell formatting, formulas, or colors?

No — only the underlying cell values are converted. Formulas are read as their calculated result, and formatting, colors, and merged cells are not preserved in the JSON/CSV output or the generated .xlsx file.

Related Tools