fileexpert

Convert CSV to JSON Online — Free

Convert CSV or TSV to JSON online — auto-detects delimiter, handles quoted fields per RFC 4180, outputs a clean array of objects.

How to convert CSV to JSON

  1. 1

    Add your CSV file

    Drop or select a .csv file. Files up to 50MB process locally in your browser — nothing uploaded.

  2. 2

    Run the conversion

    We split your CSV by newlines and the detected delimiter, treat the first row as column headers, and emit each subsequent row as a JSON object. Quoted fields, embedded commas, and doubled-quote escapes (RFC 4180) are handled correctly.

  3. 3

    Download your JSON

    One click saves the result as a .json file. Your original file stays on your device.

Why convert CSV to JSON?

JSON is what most modern APIs, JavaScript apps, and NoSQL databases expect. Converting CSV exports (from Excel, a SQL dump, or a third-party vendor's export) to JSON lets you feed spreadsheet data into REST APIs, React apps, serverless functions, or Mongo-compatible stores without manual reshaping.

Common CSV to JSON use cases

  • Feeding an Excel export into a POST request body for a REST API that expects JSON
  • Loading a spreadsheet into a React or Vue component as mock data during development
  • Inserting CSV rows into MongoDB, DynamoDB, or Firestore via bulk import utilities that expect JSON documents
  • Processing sales exports from Shopify, Stripe, or Square in a Node.js or Python ETL script

What file size to expect

A typical CRM export — 5,000 contacts × 12 fields — is about 800 KB as CSV. The equivalent JSON is usually 1.8-2.4 MB because JSON repeats every field name on every row. A compact CSV with short field names minimizes JSON overhead; long field names amplify it.

Technical notes: CSVJSON

Auto-delimiter detection tries comma, tab, and semicolon on the first row outside quotes — whichever yields the most consistent field count wins. Values stay as strings by default to match strict CSV semantics (numbers like '007' or dates like '1/2/24' are often intended as text). You can toggle automatic number parsing if your CSV is numeric-heavy. Empty cells become empty strings; a separate 'null' option emits null for database imports. Doubled quotes inside quoted fields ('' → ") are unescaped per RFC 4180.

Compatibility and browser support

Output JSON is standard RFC 8259 — parseable by JSON.parse in every browser, json.loads in Python, and every mainstream JSON library. Compact and pretty-printed options let you choose between minimal size (for APIs) and human readability (for inspection).

CSV vs JSON

CSVJSON
File sizeSmallest tabular formatCompact
QualityFlat tabularLossless data structure
TransparencyN/AN/A
Browser / app supportUniversal (Excel, databases, scripts)All programming languages
Best forSpreadsheets, data interchangeAPIs, configs, structured data

Related conversions

Frequently Asked Questions

Auto-delimiter?

Yes — comma, tab, and semicolon are auto-detected from the first row outside quotes. Manual override is available in the delimiter dropdown.

Will numbers be typed?

By default, values stay as strings (strict CSV). Toggle 'auto-parse numbers' to have numeric values emitted as JSON numbers.

Quoted fields with commas?

Yes — values like "Smith, John" enclosed in double-quotes parse as a single field per RFC 4180.

Embedded quotes?

Handled via RFC 4180's doubled-quote convention — 'She said ""hi""' becomes the string 'She said "hi"'.

Empty rows?

Skipped — consecutive blank lines are ignored rather than emitted as empty objects.

Max file size?

Tested up to 50MB of CSV. Browser-based, so it uses your RAM; very large files benefit from streaming conversion (on the roadmap).