Overview
Open an .xlsx, .xls, or .csv file in your browser and convert any worksheet to JSON or CSV instantly. Sheet tabs let you pick exactly the worksheet you need, the JSON output keeps header rows as object keys, and a download button saves the result under a matching file name - with the workbook never leaving your device.
How It Works
Choose a workbook with the file picker. It is parsed locally with SheetJS and the sheet tabs appear in a dropdown. Select a sheet and output format - JSON or CSV - and the converted text appears immediately. Copy it, or click Download to save it as .json or .csv with the original file's base name. Switching sheets or formats re-converts without re-reading the file.
Step-by-Step Usage Guide
- Pick your .xlsx, .xls, or .csv file - it is parsed locally, never uploaded.
- Choose the worksheet from the dropdown when the workbook has several tabs.
- Switch between JSON and CSV to get objects with headers or raw comma-separated text.
- Copy the output or download it under a name matching the original workbook.
Technical Specifications & Standards
The engine is SheetJS (xlsx 0.18.5), loaded through a dynamic import so its size is paid only by visitors who actually convert a spreadsheet. Files are read as ArrayBuffers and parsed with XLSX.read, which sniffs the format - xlsx, legacy xls, and CSV are all handled by the same call. JSON output uses sheet_to_json, which treats the first non-empty row as headers and maps every later row onto those keys, so { Name, Qty, Price } objects come out ready for an API or a script. CSV output uses sheet_to_csv, which preserves the sheet's own cell text. Two spreadsheet realities to plan around: dates arrive as Excel serial numbers rather than formatted dates, and formulas convert as their last calculated value, not their source - the parser reads cached results exactly like every other spreadsheet reader. Conversion happens entirely in the page; there is no upload step, which is the whole point for finance and HR files.
Targeted Use Cases
- Getting a finance or inventory spreadsheet into JSON for a script, API seed, or test fixture.
- Producing clean CSV from an Excel export that arrived with formatting a downstream tool chokes on.
- Inspecting one specific tab of a multi-sheet workbook without opening Excel.
- Converting spreadsheets containing sensitive rows that must not be uploaded to any third-party site.
Notes & Gotchas
- Make sure row one is your header row before exporting from Excel - the JSON keys come from it verbatim.
- Format date columns as text in Excel first if you need ISO strings; otherwise expect serial numbers.
- Convert one sheet at a time and download per sheet; mixed sheets with different headers do not merge sensibly.
- For very large workbooks, split the file in Excel first - browser memory, not the parser, is the practical limit.
Frequently Asked Questions
Is the file uploaded to a server?
No. The workbook is read with the browser File API and parsed by SheetJS running in your page. Nothing is transmitted, which is why the tool is safe for internal and confidential spreadsheets.
Why are dates shown as numbers like 45123?
Excel stores dates as serial days since 1899-12-30 and the converter reports raw cell values. Convert them in your code, or pre-format the column as text in Excel if you need strings.
What happens to formulas?
You get each formula's last calculated value, read from the workbook's cached results - the same thing Excel shows when it opens the file. The formula source itself is not preserved.
Which formats are supported?
Modern .xlsx, legacy .xls, and plain .csv. Password-protected workbooks cannot be opened; remove the protection in Excel first.