Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
|
|
|
|
|---|---|---|
|
|
|
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It uses human-readable text to store and transmit data as key-value pairs and ordered lists. JSON is language-independent — every modern programming language has built-in JSON parsers.
JSON supports four data types:
Objects — unordered key-value pairs: {"name": "Alice"}
Arrays — ordered lists: [1, 2, 3]
Values — strings, numbers, booleans, or null
Nested structures — objects and arrays can contain each other
CSV is flat. JSON is structured. Converting CSV to JSON unlocks:
API consumption — REST APIs return JSON, not CSV
NoSQL databases — MongoDB, DynamoDB, and Firestore store documents as JSON
Frontend frameworks — React, Vue, and Angular work natively with JSON
Configuration files — package.json, tsconfig.json, and many others use JSON
Data pipelines — ETL tools process JSON more flexibly than flat files
The converter supports four output structures. Given this CSV:
name,age,cityAlice,30,BerlinBob,25,TokyoThe most common JSON format. Each CSV row becomes an object, with column headers as keys.
[
{"name": "Alice", "age": "30", "city": "Berlin"},
{"name": "Bob", "age": "25", "city": "Tokyo"}
]
Use when: consuming data in JavaScript, sending to REST APIs, storing in MongoDB.
Headers and data rows become nested arrays. The first sub-array contains column names.
[
["name", "age", "city"],
["Alice", "30", "Berlin"],
["Bob", "25", "Tokyo"]
]
Use when: feeding data into chart libraries (Chart.js, D3.js), matrix operations, or tabular data processing.
Each column becomes a key with an array of all its values.
{
"name": ["Alice", "Bob"],
"age": ["30", "25"],
"city": ["Berlin", "Tokyo"]
}
Use when: building lookup tables, filtering by column, or feeding data into visualization tools.
The first column value becomes the key for each row object.
{
"Alice": {"age": "30", "city": "Berlin"},
"Bob": {"age": "25", "city": "Tokyo"}
}
Use when: you need O(1) lookup by the first column value, creating dictionaries or maps.
Enter a Root Object Name to wrap the entire JSON output in a named key:
{
"employees":
[
{"name": "Alice", "age": "30"},
{"name": "Bob", "age": "25"}
]
}
Without a root object name, the output is a bare array or object.
Control formatting with four options:
| Option | Use Case |
|---|---|
| 2 spaces | JavaScript/Node.js convention |
| 4 spaces | Python/Java convention |
| 8 spaces | Legacy systems |
| Tabs | Minimal file size with structure |
Enable Parse JSON to detect and parse JSON strings within CSV cells into actual JSON objects instead of escaped strings.
Without Parse JSON:
{"metadata": "{\"version\": 1, \"type\": \"report\"}"}With Parse JSON:
{"metadata": {"version": 1, "type": "report"}}This is essential when CSV cells contain embedded JSON data (common in API exports and log files).
Enable Minify Output to strip all whitespace, producing compact single-line JSON. This reduces file size by 30–50%, useful for:
API payloads
Database storage
Production configuration files
After uploading your CSV or TSV file, the built-in editor lets you:
Add, delete, and reorder rows and columns
Transpose rows to columns
Remove empty rows and duplicate rows
Apply case transformations (UPPERCASE, lowercase, Capitalize)
Find and replace values (with regex support)
All processing happens in your browser. Your CSV data is never uploaded to any server.
Drag and drop a .csv or .tsv file onto the upload area, or click to browse. Alternatively, click Enter Data to type values directly into the table editor.
Use the toolbar to modify your data before conversion. Insert or remove rows and columns, transpose the table, deduplicate rows, or apply bulk case changes.
In the Properties panel, select one of four formats: Array of Object, 2D Array, Column Array, or Keyed Array.
Root Object Name — wrap output in a named key
Indent Size — choose 2 spaces, 4 spaces, 8 spaces, or tabs
Parse JSON — enable to parse embedded JSON strings in cells
Minify Output — enable for compact single-line output
Click Convert. The JSON output appears in the Output Data panel.
Click Copy to Clipboard to paste the JSON into your code, or use Download File (Premium) to save the .json file.
API development — Convert seed data from spreadsheets into JSON for mock servers and test fixtures
MongoDB imports — Generate JSON documents for mongoimport or MongoDB Compass
Frontend development — Convert CSV datasets into JSON for React/Vue/Angular applications
NoSQL migration — Transform relational CSV exports into document-oriented JSON
Data visualization — Feed JSON data into D3.js, Chart.js, or Plotly
Configuration generation — Convert parameter tables into JSON config files
Log processing — Parse CSV logs with embedded JSON fields using the Parse JSON option
The converter supports four formats: Array of Objects (each row becomes a JSON object with header keys), 2D Array (headers and rows as nested arrays), Column Array (each column as a key with an array of values), and Keyed Array (first column values as keys mapping to row objects).
When enabled, Parse JSON detects JSON-formatted strings inside CSV cells and parses them into actual JSON objects rather than leaving them as escaped strings. This is useful for CSV files that contain embedded JSON data, such as API exports or log files.
No. All conversion happens entirely in your browser. Your files are never uploaded, transferred, or stored on any server.
Array of Objects produces a flat array where each element is a row object keyed by column headers. Keyed Array uses the first column's value as the key for each row, creating a dictionary/map structure for O(1) lookup by the first column value.
Root Object Name wraps the entire JSON output in a named key. For example, entering 'employees' produces {\"employees\": [...]} instead of a bare array. This is useful when the consuming application expects a specific top-level key.
Minify Output removes all whitespace from the JSON, producing compact single-line output. This reduces file size by 30–50% and is useful for API payloads, database storage, and production configuration files.
Yes. After uploading your file, a full table editor opens where you can add or remove rows and columns, transpose the table, deduplicate rows, change text case, and find and replace values.