All tools · 🔄 Convert

🔄 JSON ↔ CSV Converter

Convert tabular data between JSON and CSV. JSON arrays of objects become CSV rows with auto-detected headers. CSV becomes a JSON array. Both directions handle quoted strings and escaped characters.

Loading tool…

Examples

JSON → CSV
Input[{"name":"Alice","age":30},{"name":"Bob","age":25}]
Outputname,age Alice,30 Bob,25
CSV → JSON
Inputname,age Alice,30 Bob,25
Output[{"name":"Alice","age":"30"},{"name":"Bob","age":"25"}]

Numbers stay as strings unless you post-process; round-trip is lossy.

Frequently asked questions

Why are numbers strings after CSV→JSON?

CSV has no types — everything is text. We do not auto-detect because it would corrupt zip codes ("01234" → 1234). Cast in code if needed.

What about nested objects?

CSV is flat. Nested values get JSON.stringify'd into a single column. For full nested structures, JSON is the right format.

Excel doesn't open my CSV correctly — why?

Excel auto-converts long numbers to scientific notation, breaks date columns, and assumes Windows-1252 encoding. Import via Data tab → "From Text" for control.

About this tool

JSON ↔ CSV Converter runs entirely in your browser using standard Web APIs. No data is sent to any server. The source for this tool is in our public GitHub repository.

Related tools

← All 96 tools

Why this tool

vs typical free web-tool sites

1vwTypical free site
PriceFreeFree
Signup requiredNoOften (for premium features)
Ads inside the toolNoYes (banner + video)
Data sent to serverNo (browser-only)Yes (inputs analyzed for ads)
Total tools96Often <20 or scattered across sites
Bookmarkable URL per toolYesMixed
Loads in under 1sYes (static)Often slow (ad tracking)
MultilingualEN / ES / PT / FR / DEUsually EN only
Open sourceYesNo