CSV to JSON Converter

Convert CSV to JSON and JSON arrays back to CSV in one step.

What this tool does

This tool converts Comma-Separated Values (CSV) to JSON format and vice versa.

Input formats: CSV / JSON
Output formats: JSON / CSV
Runs locally in your browser.

In modern web development and data analysis, the ability to pivot between different data formats is a core requirement. CSV and JSON represent two different worlds: the tabular world of spreadsheets and databases, and the hierarchical world of web APIs and modern application state. Our CSV to JSON Converter is a specialized workshop utility designed to bridge this gap instantly, allowing you to transform data structures with precision and local-first security.

Many online converters pose a major security risk, asking you to upload sensitive customer data or internal company logs to their servers for processing. FormatForge takes a different approach. The conversion logic is executed entirely within your browser's local sandbox using high-performance parsing algorithms. This ensures that your data never touches the network, providing 100% privacy for even the most sensitive datasets. Whether you are converting a complex JSON response into an Excel-friendly CSV for a stakeholder, or preparing a CSV export for a frontend application, the results are instantaneous.

The tool features intelligent automatic format detection, meaning you don't even have to click a toggle to start. It recognizes the structural markers of both CSV (headers and delimiters) and JSON (brackets and keys) as you paste. Beyond simple conversion, this utility acts as a data normalizer, ensuring that strings are properly escaped, numbers are recognized, and the resulting structure is valid for its new environment. It is the essential workshop tool for anyone navigating the complexities of modern data integration.

How to convert CSV to JSON

  1. Paste your CSV or JSON data into the input area.
  2. The tool will automatically detect the format and convert it to the other instantly.
  3. If you paste CSV, it will output an array of JSON objects. If you paste JSON, it converts the array of objects into CSV rows.
  4. Click 'Copy' to copy the converted structure to your clipboard.

Example Conversion

Input:
id,name,role\n1,Alice,Admin\n2,Bob,User
Output:
[\n  {\n    \"id\": \"1\",\n    \"name\": \"Alice\",\n    \"role\": \"Admin\"\n  },\n  {\n    \"id\": \"2\",\n    \"name\": \"Bob\",\n    \"role\": \"User\"\n  }\n]

Understanding RFC 4180: The CSV Standard

CSV looks simple but has surprising complexity. RFC 4180 defines the standard rules that most parsers follow. Fields containing commas, double quotes, or line breaks must be enclosed in double quotes. A double quote within a quoted field is escaped by preceding it with another double quote: the value 'say "hello"' becomes '"say ""hello"""' in CSV.

The first line is optionally a header row, but there is no reliable way to detect this programmatically. Some files use semicolons or tabs instead of commas as delimiters, especially in European locales where commas serve as decimal separators. A French spreadsheet might export '1.234,56' as a number, making comma-delimited parsing fail catastrophically.

Line breaks inside quoted fields are valid CSV. A single record can span multiple lines if the field value contains newlines. Naive parsers that split on newline characters will break these records into fragments. Proper CSV parsing requires a state machine that tracks whether the current position is inside or outside a quoted field.

Handling Nested Data in Flat Formats

JSON naturally represents nested structures: objects within objects, arrays of values, and mixed-depth hierarchies. CSV is inherently flat, with each row having the same number of columns. Converting between these formats requires decisions about how to handle the mismatch.

The most common approach is dot-notation flattening. A JSON object like {"user": {"name": "Alice", "address": {"city": "Paris"}}} becomes columns named user.name and user.address.city. This preserves the path to each value and allows reconstruction of the original structure.

Arrays present a harder problem. An array of three items could become three separate columns (items.0, items.1, items.2), but this creates sparse rows when arrays have different lengths. An alternative is to stringify the array into a single column as a JSON string, which preserves the data but loses the tabular benefit.

When converting CSV back to JSON, the tool must reverse these transformations. Dot-notation column headers get expanded back into nested objects. This round-trip is only lossless when the flattening strategy is consistent and the data does not contain ambiguous column names.

Frequently Asked Questions

How does the automatic format detection work?

The logic looks at the first characters of the pasted text. If it detects a JSON array bracket '[' or object bracket '{', it parses it as JSON to CSV. Otherwise, it treats the input as CSV text and converts it to JSON.

Is my data sent to a server?

No. The CSV and JSON conversion happens entirely in your browser using local JavaScript. No data is ever transmitted over the network.

Does this support custom delimiters?

Currently, the tool supports the standard comma (,) delimiter for CSV data.

Does this tool run locally?

Yes, this tool runs entirely locally in your browser sandbox using JavaScript.

Is my data uploaded to a server?

No, your data is never uploaded to any server. All processing is strictly client-side.

Can I use this tool offline?

Yes, once the page is loaded, the tool can function completely offline without an internet connection.