What CSV and JSON Are, Briefly
CSV (Comma-Separated Values) is the oldest, simplest data format alive: rows of values separated by commas, one row per line, with an optional header row at the top. Excel exports CSV, Google Sheets exports CSV, every database exports CSV. It's the lingua franca of "give me the data."
JSON (JavaScript Object Notation) is the modern lingua franca of APIs and structured data. It supports nested objects, arrays, and typed values (strings, numbers, booleans, null). Every web API speaks JSON.
The Microapp CSV to JSON converter takes any CSV and turns it into a JSON array of objects — one object per row, with column headers as keys. Runs in your browser, your data never leaves your device.
How to Use It
- Paste your CSV (or upload a .csv file) into the input box.
- The JSON output appears instantly. The first row of your CSV is treated as the header; each subsequent row becomes an object.
- Click "Copy" to put the JSON on your clipboard, ready to paste into your API request, code editor, or another tool.
name,email,age
Alice,[email protected],30
Bob,[email protected],25JSON output:
[
{ "name": "Alice", "email": "[email protected]", "age": "30" },
{ "name": "Bob", "email": "[email protected]", "age": "25" }
]Notice that
30 and 25 end up as strings, not numbers — that's the safe default for CSV (which has no type info). If you need them as numbers, post-process in your code.
What the Tool Handles Correctly
Quoted fields with commas inside. A CSV like "Smith, John",[email protected] has a single field Smith, John that includes a comma. The converter respects the standard CSV quoting rules and parses it as one field.
Quoted fields with newlines inside. A multi-line address field wrapped in quotes is preserved as a single string in the JSON output, with newlines kept.
Escaped quotes. A field like "He said ""hi""" represents the value He said "hi" — the double-quote inside is escaped by doubling. The converter handles this.
Different separators. If your data uses semicolons (common in European exports where commas are decimals) or tabs, switch the separator setting before converting.
Optional header row. Toggle the "First row is header" option off if your CSV has no header — output will be an array of arrays instead of an array of objects.
What It Doesn't Do (And When You Need Different Tools)
Nested JSON. CSV is inherently flat — one row, columns, no nesting. The JSON output mirrors that: every object has the same set of top-level keys with primitive values. If your downstream consumer needs { "address": { "city": "...", "zip": "..." } }, you'll need to post-process the flat JSON in code.
Type inference. All values come out as strings. "30" stays a string; "true" stays a string. Type inference is risky (is 0123 the number 123 or the string "0123"?) — the safe default is to leave types intact and let your code coerce as needed.
Schema validation. The converter doesn't know what your data should look like. If a row is missing a column, that field becomes undefined in the JSON. If you need validation, parse to a schema in code (Zod, Yup, JSON Schema).
When to Use This vs Code
Use the tool when: the conversion is one-off (you got a CSV from a colleague and need it as JSON to paste into an API call), the data is small enough to paste into a browser (a few thousand rows is fine), and the structure is straightforward (no exotic CSV quirks).
Use code when: the conversion is part of a build pipeline, the data is huge (millions of rows — a browser will choke), or you need type inference, validation, or nested output. Node's papaparse or Python's pandas are the standard libraries for serious CSV work.
Common Gotchas
Excel "smart quotes." Saving CSV from Excel sometimes injects curly quotes (") instead of straight ones ("). The CSV parser handles straight quotes; curly ones become literal characters in the output. Save as "CSV UTF-8 (Comma delimited)" in Excel to avoid this.
BOM (byte-order mark). Some CSV files start with an invisible BOM character that confuses parsers, leaving an extra character at the start of the first column name. The Microapp parser strips BOM automatically.
Locale-specific decimal separators. European CSVs often use commas as decimals (3,14) and semicolons as separators. Make sure to switch the separator if you see one giant column instead of multiple.
Related Tools
For the inverse conversion (JSON to CSV), use the JSON to CSV Converter. To pretty-print or minify JSON output before sharing, the JSON Formatter is the right tool. For converting Markdown tables to CSV-like data, see the Markdown to HTML converter.