CSV to JSON (Free Online Tool)
Parse CSV text into a JSON array of row objects for further cleanup or reshaping
Paste your JSON → Get results instantly (no signup)
→ Parse this CSV text into JSON rows.
1[2 {3 "name": "Alice",4 "age": 30,5 "city": "New York"6 },7 {8 "name": "Bob",9 "age": 25,10 "city": "London"11 }12]Love the result?
Use this exact pipeline in your app, backend, or LLM workflow.
No setup needed. Works with curl, Node, Python.
Uses example data. For edited input, copy from the playground.
Works with:
- API responses
- Nested JSON
- Arrays & objects
Example: input → output
name,age,cityAlice,30,New YorkBob,25,London[ { "name": "Alice", "age": 30, "city": "New York" }, { "name": "Bob", "age": 25, "city": "London" }]Related tools
- JSON to CSVConvert JSON array row data into final CSV text output
- Format ValuesReformat individual values with case changes, trimming, coercion, and slugification
- Map ValuesRemap existing values through a lookup table such as enums, codes, or category names
- Compute FieldCreate derived values or fields from formulas, expressions, and simple conditionals
Related comparisons
Read more on the blog
Advanced usage (optional)
CSV to JSON
v1.0.0Description
CSV to JSON
Parse CSV text into a JSON array of objects. Supports multiple delimiters, automatic type inference, header row detection, and whitespace trimming.
How It Works
The utility reads CSV text (string input) and converts each row into a JSON object. Column names come from the header row (if enabled) or are auto-generated as col1, col2, etc.
Type Inference
When enabled, the parser automatically converts values:
"30"→30(number)"true"/"false"→true/false(boolean)- Empty values →
""(empty string)
Disable type inference to keep all values as strings.
Configuration
| Field | Type | Default | Description | |
|---|---|---|---|---|
| Delimiter | enum | , | Field separator: ,, ;, \t (tab), or `\ | ` (pipe) |
| First Row is Headers | boolean | true | Whether the first row contains column names | |
| Infer Types | boolean | true | Auto-convert numbers and booleans (disable for all-string output) | |
| Trim Whitespace | boolean | true | Remove leading/trailing whitespace from values | |
| Skip Empty Lines | boolean | true | Ignore blank rows in the CSV input |
Use Cases
Data Import
- Spreadsheet data: Convert exported CSV from Excel or Google Sheets into JSON
- Database exports: Parse database dump CSV files for processing
- Log files: Parse tab-delimited log files into structured objects
Format Conversion
- API preparation: Convert CSV data into JSON format for API requests
- Configuration files: Parse semicolon-delimited config files
- Data migration: Convert legacy CSV data to JSON for modern systems
Data Cleaning
- Type normalization: Use type inference to convert string numbers to actual numbers
- Whitespace cleanup: Automatically trim messy CSV data
- Empty row removal: Skip blank lines in poorly formatted CSV files
Configuration
| Name | Type | Default | Description |
|---|---|---|---|
| Delimiter | enum | , | Character used to separate fields in the CSV , ; \t | |
| First Row is Headers | boolean | true | Whether the first row contains column names |
| Infer Types | boolean | true | Auto-convert numbers and booleans (disable for all-string output) |
| Trim Whitespace | boolean | true | Remove leading/trailing whitespace from values |
| Skip Empty Lines | boolean | true | Ignore blank rows in the CSV input |
Examples
Parse this CSV text into JSON rows.1[2 {3 "name": "Alice",4 "age": 30,5 "city": "New York"6 },7 {8 "name": "Bob",9 "age": 25,10 "city": "London"11 }12]API Usage
curl -X POST https://your-domain.com/api/v1/utilities/convert.csv-to-json \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs":{"primary":"name,age,city\nAlice,30,New York\nBob,25,London"},"config":{"delimiter":",","hasHeaders":true,"inferTypes":true,"trimWhitespace":true,"skipEmptyLines":true}}'1[2 {3 "name": "Alice",4 "age": 30,5 "city": "New York"6 },7 {8 "name": "Bob",9 "age": 25,10 "city": "London"11 }12]