Skip to main content

CSV ⇄ JSON Converter

Convert CSV and JSON accurately with quoted newlines, delimiters, and escaped quotes, plus type inference, width warnings, preview, and optional UTF-8 BOM.

Output

The converted result appears here.

How to Use

  1. 1

    Select conversion mode.

  2. 2

    Paste CSV or JSON into the input field.

  3. 3

    Adjust delimiter/header settings if needed.

Features

  • CSV to JSON and JSON to CSV
  • Correct handling for quoted newlines, delimiters, and escaped double quotes
  • Comma, tab, semicolon, and pipe delimiters
  • Duplicate-header renaming and inconsistent-width warnings
  • Type inference, CRLF/LF, UTF-8 BOM, and table preview

FAQ

Q. Does it handle quoted CSV fields?

A. Yes. Escaped double quotes, delimiters inside quotes, and line breaks inside a quoted field are parsed as one cell.

Q. What JSON format works best?

A. Array of objects (e.g., [{...}, {...}]) is recommended.

Technical Notes

A character-level state machine distinguishes CRLF, LF, and delimiters inside quoted fields from actual record boundaries. A final line ending does not create a spurious empty record.

Object-array keys are merged in encounter order. Nested arrays and objects are serialized as JSON strings before CSV quoting rules are applied.

Security & Privacy

All data transformation happens locally in your browser.

No server logging or transmission of your input data.

Examples, Pre-Conversion Checks, and Common Mistakes

Examples

  • Convert spreadsheet product lists into JSON sample data for development.
  • Turn JSON arrays from APIs into CSV for review in spreadsheet software.
  • Convert contact lists or event attendee data while keeping a clear column structure.

Cautions

  • Confirm the first CSV row is the correct header before converting.
  • Check cells that include commas, line breaks, or double quotes for correct escaping.
  • Remove unnecessary columns before sharing data that includes personal information.

Common Mistakes

  • Missing inconsistent header names and ending up with split JSON keys.
  • Treating numeric IDs as numbers and losing leading zeros.
  • Expecting deeply nested JSON to round-trip perfectly into a flat table.