How to Convert CSV to JSON — A Complete Step-by-Step Guide
Converting CSV to JSON sounds simple — one format to another — but real-world CSV files have quirks that trip up naive converters: embedded commas, quoted fields, custom delimiters, different line endings, and missing or extra columns. This guide walks through the full process on freecsv2json.app.
Step 1: Open freecsv2json.app
Navigate to freecsv2json.app. The tool loads instantly because it's a static single-page app. No login, no onboarding.
Step 2: Paste your CSV
Click into the left pane (the "CSV Input" area) and paste your data with Ctrl+V or Cmd+V. Alternatively, drag a .csv file anywhere onto that pane to load it, or click "Open file…" to pick one from your device. As soon as you paste, freecsv2json.app auto-detects that the content is CSV (since it doesn't start with [ or {) and sets the mode to CSV → JSON.
Step 3: Pick the right delimiter
Most CSV files use commas. If your file uses something else (semicolon, tab, pipe), change the "Delimiter" dropdown. European Excel exports typically use semicolons. Tab-separated data (TSV) uses tabs. If your file uses a delimiter not in the preset list, pick "custom…" and type the character into the small box that appears.
Step 4: Decide about the header row
By default, "Header row" is checked — freecsv2json.app treats the first row of your CSV as column names. The resulting JSON is an array of objects, each keyed by those names. If your CSV has no header (just data from row 1), uncheck "Header row" — you'll get an array of arrays in that case.
Step 5: Choose the output shape
The "Output" dropdown picks between "Array of objects" (default, each record keyed by header) and "Array of arrays" (each record as a positional array). The "Pretty" checkbox toggles between human-readable 2-space indentation and compact minified output.
Step 6: Review the result
The right pane updates live as you change options. Scroll through to verify the JSON looks right. At the bottom, the status bar shows row count, column count, and input size.
Step 7: Copy or download
Click "Copy" at the top of the output pane to put the JSON on your clipboard, or "Download" to save it as a .json file. Done.
Troubleshooting common issues
- "I see one weird row at the end." Your CSV probably has a trailing newline. freecsv2json.app drops fully-empty trailing rows automatically; if you still see one, check for whitespace.
- "My quoted field shows quotes in the JSON." Quotes around a field are CSV syntax and get stripped. Quotes inside a field must be escaped as
""per RFC 4180, which freecsv2json.app unescapes to a single"in the output. - "Numbers are strings in my JSON." Intentional. Type coercion is context-specific and belongs in your code, not the converter.
- "A row has fewer columns than others." That row's missing fields become empty strings in the JSON (or missing keys if you use array of arrays). Nothing is silently dropped.
- "Parse error on a specific line." The error panel shows the reason, usually an unterminated quote. Find the closing
"for any opening"in your CSV and the error should go away.
Try freecsv2json.app — Free, No Sign-Up
Paste CSV, see valid JSON in real time. All processing happens in your browser.
Open CSV to JSON →Frequently Asked Questions
How long does CSV to JSON conversion take?
For most files (under 1 MB), instantly. For a 10 MB file, a second or two. The UI debounces input by 150 ms so rapid typing doesn't recompute on every keystroke.
Can I batch-convert many CSV files?
Not in the current free version. The planned Pro tier adds bulk upload and API access for automated pipelines.
What if my CSV has different numbers of columns per row?
freecsv2json.app preserves whatever's there — short rows become objects with fewer keys filled in, long rows retain their extra values. No rows are dropped.
Is freecsv2json.app a good fit for GDPR or HIPAA-sensitive data?
The tool performs no uploads and no server-side processing, which reduces the data-leakage attack surface compared to server-side converters. Consult your compliance officer for authoritative guidance.
Can I undo a conversion?
Yes — your input stays in the left pane. To recover after closing the tab, your last input (up to 100 KB) is auto-saved to your browser's localStorage and restored on next visit.
What about CSV to JSON to CSV round trips?
Use the Swap button to move the output into the input and flip direction. If your CSV has unusual quoting or line endings, the round-tripped CSV may differ in formatting but should be semantically identical.