The Tool
JSON Buddy includes a CSV/Excel converter that runs 100% client-side. Click the CSV/Excel to JSON tab in the toolbar and you get a dedicated conversion panel. No account, no upload, no file sent anywhere.
Supported Input Formats
| Format | Extension | Notes |
|---|---|---|
| CSV | .csv |
Comma-separated, UTF-8 |
| TSV | .tsv |
Tab-separated (also works if you paste directly from Excel) |
| Semicolon-separated | .csv |
Common in European locales |
| Pipe-separated | .txt |
` |
| Excel | {% raw %}.xlsx, .xls
|
Upload the file directly |
The delimiter is detected automatically. You can also override it manually.
How to Use
Option 1: Upload a file
- Click CSV/Excel to JSON in the toolbar
- Drag & drop your
.csvor.xlsxfile onto the upload area - The JSON output appears instantly on the right
Option 2: Paste directly
If you copied a table from Excel, Google Sheets, or Notion, just paste it into the text area. Tab-delimited content (the default clipboard format for spreadsheets) is parsed automatically.
name age city active
Alice 30 Berlin true
Bob 25 Paris false
Carol 35 Tokyo true
Paste that and get:
[
{ "name": "Alice", "age": 30, "city": "Berlin", "active": true },
{ "name": "Bob", "age": 25, "city": "Paris", "active": false },
{ "name": "Carol", "age": 35, "city": "Tokyo", "active": true }
]
Automatic Type Inference
By default, JSON Buddy infers types from cell values:
| Cell value | JSON type |
|---|---|
42 |
number (integer) |
3.14 |
number (float) |
true / false
|
boolean |
null / empty |
null |
"hello" |
string |
So a column of ages becomes a JSON number array, not a string array — which is almost always what you want when seeding a database or writing tests.
You can toggle type inference off if you need everything as strings.
Real Examples
Seeding a database
You have a users.csv from a staging database export:
id,name,email,role,created_at
1,Alice,alice@example.com,admin,2024-01-15
2,Bob,bob@example.com,user,2024-02-20
3,Carol,carol@example.com,user,2024-03-05
Output:
[
{
"id": 1,
"name": "Alice",
"email": "alice@example.com",
"role": "admin",
"created_at": "2024-01-15"
},
...
]
Paste this directly into your seed script or API test fixture.
Mocking an API response
You're building a front end and the back end isn't ready. Export a table from Notion, convert to JSON, drop it into your mock server or public/mock-data.json.
Data pipeline testing
A data engineer sends you a .xlsx with sample records to validate your ingestion pipeline. Upload it, get JSON, feed it to your tests — without ever writing a pandas script.
Copy the Output Back to the JSON Editor
Once your data is converted, there's a "Use in Editor" button that loads the JSON into the main formatter. From there you can:
- Format and inspect it in the tree view
- Run it through the Code Gen to generate typed structs for your language
- Use Find & Replace to do a bulk value substitution before using it
Why Not Just Use Python?
You can, of course:
import csv, json
with open('data.csv') as f:
rows = list(csv.DictReader(f))
print(json.dumps(rows, indent=2))
But that requires Python installed, a terminal, writing and running a script. For a quick one-off conversion during development, a browser tool is faster. And for non-developers (PMs, data analysts, QA engineers), a no-code option is often the only practical one.
Privacy Note
The file never leaves your browser. For Excel files, the parsing uses the SheetJS library running client-side. No file data is transmitted anywhere.
This matters when the spreadsheet contains:
- Customer PII (GDPR-relevant)
- Financial data
- Internal employee records
- Unreleased product information
Try It
👉 json-formatter.net — click the CSV/Excel to JSON tab
Works on desktop and mobile. Installable as a PWA for offline use.
Also in this series:
Top comments (0)