Turning Spreadsheets into JSON
What this converter does
A spreadsheet is a grid of rows and columns; JSON is a tree of keys and values. This tool bridges the two by reading an Excel workbook — XLSX, XLS, CSV, or ODS — and rewriting each row as structured JSON. It parses the file directly, detects the sheets inside it, and lets you decide how the rows should be shaped in the output.
Two output modes cover most needs. Object format uses the header row as keys, producing one JSON object per data row — the shape most APIs and scripts expect. Array format drops the keys and emits each row as a compact array of values, which is smaller and closer to the raw grid.
When to use it
The typical case is turning a spreadsheet someone maintains by hand into data a program can read. A product list, a price table, or an exported report becomes a JSON array you can drop into an API request, a config file, or a database seed.
It also helps while you are prototyping. Instead of hand-writing sample JSON, you can lay the data out in familiar spreadsheet columns, convert once, and paste the result straight into your code or a mock server. When the export arrives as CSV rather than a workbook, the CSV ↔ JSON converter covers the same round trip, and cells carrying stray currency symbols or trailing spaces are far quicker to clean once the pattern is settled in the regex tester.
Example: rows to objects
Imagine a sheet whose first row reads name, price, in_stock, and whose next rows hold Keyboard, 39.90, true and Mouse, 19.50, false. With the first row treated as headers and object format selected, the converter returns an object per row, such as {"name":"Keyboard","price":"39.9","in_stock":"TRUE"}. Each header becomes a key, each cell becomes its value, and one object is produced per row.
Notes and edge cases
A few details shape the result. Object format takes its keys from the header row, while array format keeps every row as a plain list of values. Cells come through the way Excel shows them: a date appears as formatted text such as 2024-01-15 rather than a serial number, and numbers and TRUE/FALSE arrive as text. Empty cells become empty strings. If a workbook holds several sheets, the first one is converted until you pick another from the Sheet list; the line under the panels shows the sheet, its row and column counts and the file size, so you can confirm the file was read as expected.