CSV to JSON

Turn CSV Rows into API-Ready JSON Structures

Builds a JSON array of header-keyed objects for integrators, QA, and frontends that need contract-shaped payloads straight from a grid—no throwaway script per sprint.

ConversionTab serializes JSON locally: paste from a ticket or load a file from disk, with no CSV upload pipeline in between.

Unreleased SKUs and internal emails stay in your tab until you copy or save the output.

Conversion focus

Schema-aware handling helps keep columns and nested fields understandable.

  • Convert CSV rows into JSON objects for APIs, fixtures, imports, and app workflows.
  • Control headers, delimiters, and output structure online.
Need Custom Conversion?
CSV file

Drop a .csv file here, or click to browse

.csv or plain text — max 25 MB. Opens in the Text tab; set input options, then Convert.

Other statements:

Concrete JSON handoffs from a grid

Finance export → Postman body for a contract test. CRM list → `[{...}]` for a Node importer. Log extract → line-oriented objects for jq or a shipper dry run.

Typical CSV issues before JSON is valid

IDs parsed as floats; leading zeros lost on SKUs; locale decimals; duplicate headers → duplicate keys; booleans as Y/1/empty; naive timestamps; BOM on byte one breaking strict parsers.

Why JSON shows up next to CSV exports

Services expect JSON objects and arrays; ops still ships CSV. The gap is stable keys, nulls, and optional nesting that match OpenAPI or client types—without another one-off Node script per repo.

Who reaches for CSV → JSON first

Integration engineers on REST/GraphQL, backend devs on fixtures, QA seeding Cypress/Playwright/k6—anyone who needs pasteable JSON today.

Turn this on when the first line is headers, not a data row—so column labels map correctly to output fields.

Applies to data rows only (the header row does not count when “First row is column names” is on). Skip drops that many rows from the top of the data; Limit keeps at most that many rows after skipping.

Field Separator

Pick the delimiter your file uses between columns (comma is common; exports from Europe often use semicolon).

Use NULL for empty field: prevents SQL errors when inserting missing values into nullable columns.

NOTE - you can change the column names below by overwriting the Field Name value.

# Field Name Data Type Max Size Key Include Trim Use NULL for Empty Field
Paste CSV above to load columns.

Map each vCard field to a CSV column. Include is checked automatically when a column is mapped; uncheck to skip that field in the file, or set Mapping to — none — to clear it. Use Check all / Uncheck all under the mapping table for every row at once.

# VCF Field Mapping Include
Paste CSV above to load mapping options.
Include column:
Other statements:

Run after delimiter, header row, and skip/limit look right—preview appears in the output panel below.

What your CSV becomes in JSON

Headers → object keys
Rows → JSON objects
Full file → JSON array
Values → strings unless options normalize; empty cells → "" or null per your contract
Decision point CSV JSON
Structure Rectangular grid; position and delimiter carry meaning. Objects + arrays; keys and nesting explicit for code.
Best use Ops dumps, finance exports, quick human edits. REST/GraphQL payloads, fixtures, app bundles, webhooks.
API compatibility Almost always needs a transform before JSON-first clients. Native for OpenAPI clients, Postman, browser and mobile runtimes.
Nested data Extra columns or repeated rows; hierarchy is implicit. Nested objects/arrays when you map or group by parent keys.
Human review Excel/Sheets-friendly filters and comments. IDE/JSON viewer or formatters—great for diff, less for casual editing.

From spreadsheet to API-ready JSON

Paste or load CSV

Text tab, file tab, or sample—keep PII in the tab until you copy.

Confirm headers & delimiter

First row as keys, correct separator—fixes shifted keys and bogus values.

Generate JSON array

One object per row; duplicate keys and odd types surface here, not in prod.

Copy into API, app, or config

Postman body, seed script, Storybook, or automation JSON step.

Choosing the right output format

Pick JSON when your next step requires structured API data.

When JSON is ideal

  • REST and GraphQL payloads and contract tests
  • Storybook mocks and frontend fixtures
  • Mobile and web app JSON imports
  • Automation and no-code JSON steps
  • Quick handoffs without a schema bus

When JSON is not ideal

  • Use SQL for relational loads and warehouse tables.
  • Use XML for SOAP, XSD, or heavy legacy integrations.
  • Use CSV or Excel when humans need grid review and sign-off.
  • Skip in-browser JSON for multi-GB files that need streaming, checksums, and lineage.

Runs in your tab: paste or load, tune options, copy JSON—no upload pipeline for refresh tokens, internal emails, or unreleased SKUs.

CSV to JSON options and common issues

Convert rows into JSON objects

Map headers to object keys

Generate API-ready JSON arrays

Keep data local and secure

CSV to JSON details and FAQs

Goal: each data row → one JSON object; all rows → one array. Header strings → object keys; values default to JSON strings unless your options coerce types.

Watch first: duplicate column names → duplicate keys (invalid in many parsers). Wrong delimiter → shifted keys. BOM or odd encoding → first-byte parse failures.

Not here: giant streaming pipelines, signed artifact registries, or graph shapes that belong in code—this pass is for pasteable API and fixture JSON.

With first row is column names on, each header cell becomes a key; each subsequent line becomes { "key": "value", ... } in the output array.

Grouped nesting (when supported) wraps rows sharing a parent column—sort parents upstream or sibling order in the array can vary.

Quick check: delimiter + header row → convert one slice with limit → validate keys against your OpenAPI or client type → then scale rows.

  • Delimiter / skip / limit — align columns before keys are emitted.
  • Empty cells"" vs null: match what your API or schema expects.
  • Type hints — if the tool exposes them, align with downstream parsers (numbers vs strings).
  • Include columns — omit noisy or PII columns before copying into tickets.

  • Duplicate headers — illegal duplicate keys in one object.
  • Unquoted commas in fields — columns shift; keys map to wrong values.
  • Numeric IDs in CSV — may stringify or lose leading zeros; match client expectations.
  • Invalid UTF-8 or BOM — strict JSON.parse fails on invisible prefixes.
  • Very large files — browser memory limits; use ETL for multi-GB streams.

1. What does “First row is column names” do for JSON?

When on, row 1 supplies object keys for every later row. When off, the first data line is treated like any other row—keys will not match your headers.

2. Why use Skip / Limit?

Skip drops preamble rows. Limit converts only N data rows—handy for a small Postman body or fixture before you run the full sheet.

3. Wrong delimiter—what breaks?

Columns shift; keys point at the wrong values and JSON.parse may still succeed while your API rejects the payload. Fix delimiter (or “Other”) first.

4. Duplicate column headers?

JSON objects cannot have duplicate keys. Rename or merge columns in the CSV before converting.

5. Empty cells: string or null?

Depends on tool options and what your consumer expects—align with your OpenAPI or client before pasting into prod paths.

6. Are files uploaded to your servers?

Structured CSV→JSON runs in the browser where supported; data stays local until you copy or save.

7. How do I copy or download?

After Convert, copy from the output or download a named .json file. Use sample/clear to iterate quickly.

Built for real-world JSON workflows

Arrays and objects match what fetch(), Postman, and fixtures expect—no prose columns in the payload.

Headers become stable keys on every row object.

One JSON array—paste into Postman, fetch(), or fixtures.

Matches REST/GraphQL expectations: keys, strings, optional nulls.

Runs locally—no upload for tokens or unreleased SKUs.

Copy or download after delimiter and header checks.

Skip/limit rows for small test or demo fixtures.