JSON ↔ CSV

JSON ↔ CSV

Conversion Options

Delimiter
Characters: 0

Comments & questions

What is the JSON CSV Converter?

The JSON CSV Converter is an online tool that turns JSON data into CSV you can open directly in Excel, and turns CSV (spreadsheet) tables back into clean, code-ready JSON — in both directions. It replaces the tedious manual work of reshaping API responses into tables, or moving spreadsheet data into code, with a single paste.

Nested objects and arrays are automatically flattened with dot notation (user.address.city) so each record fits neatly into one row, and CSV files with dot-notation headers are restored back into nested JSON. The classic 'garbled characters in Excel' problem is solved with the UTF-8 BOM option, and every conversion runs entirely inside your browser — nothing is uploaded to a server.

Key Features

Two-Way JSON ↔ CSV

Switch between JSON → CSV and CSV → JSON instantly with the top tabs, and feed the output back into the input for round-trip conversions — all on one screen.

Flatten & Restore Nesting

Auto-flatten nested objects and arrays into dot notation, and restore dot-header CSV back into nested JSON. Flatten on/off and array-join options included.

Excel-Ready & Custom Delimiters

Choose comma, semicolon, or tab delimiters and download a .csv that won't garble non-ASCII text in Excel thanks to the UTF-8 BOM option.

Robust Parsing & Live Preview

PapaParse safely handles quotes, line breaks, and escapes, and the result is shown instantly as a table along with row and column counts.

How to Use

  1. Pick the conversion direction — JSON → CSV or CSV → JSON — using the top tabs.
  2. Paste your data into the input box, or load a .json/.csv file via Upload or drag and drop. Use the Sample button to see an example.
  3. Configure options such as the delimiter, Flatten nested, header-row detection, and Excel-ready (BOM) as needed.
  4. The conversion runs instantly, showing the output and a table preview with row and column counts.
  5. Click Copy to put it on your clipboard, or Download it as a .csv / .json file.

Use Cases

API Response to Excel

Convert a REST API's JSON response into CSV to sort, filter, and chart it in Excel or Google Sheets.

Spreadsheet Data to Code

Turn CSV exported from a spreadsheet into a JSON array for seed data, mock data, or config files.

Flatten Nested Data

Expand nested objects and arrays like addresses or tags into dot notation, fitting one record per row for BI tools and table analysis.

Data Migration

Convert DB exports, logs, and analytics data between JSON and CSV for moving data across systems and backups.

Frequently Asked Questions

Why does Korean (or other non-ASCII) text break when I open the CSV in Excel?

Excel can misread the encoding of a UTF-8 CSV without a BOM, causing garbled characters. Enable this tool's 'Excel-ready (BOM)' option before downloading and a UTF-8 BOM is added to the front of the file so the text displays correctly in Excel.

How are nested JSON objects and arrays handled?

With 'Flatten nested' enabled, nested objects and arrays are automatically flattened into dot notation (e.g. user.address.city, tags.0) and placed on one row. Primitive arrays can be joined into a single comma-separated cell with the 'Join arrays' option. Conversely, CSV with dot-notation headers is restored into a nested structure when converting to JSON.

Can it convert a single object, not just an array of objects?

Yes. A single object ({...}) is automatically converted into a one-row table. An array of objects ([{...},{...}]) becomes multiple rows; even if rows have different keys, all keys are collected into the header and missing values are filled with empty cells.

What if my CSV's first row isn't a header?

Turn off the 'First row as header' option to treat the first row as data; columns are then auto-named col1, col2… For a normal CSV that has a header, just leave the option on.

Are numbers and true/false converted to strings?

When converting CSV → JSON with 'Auto-detect types' enabled, number-like values become numbers, true/false become booleans, and null becomes null. However, values with leading zeros (e.g. zip code 04524) are kept as strings so their meaning isn't lost.

Is the data I enter sent to a server?

No. All conversion happens 100% inside your browser, and your data is never sent to or stored on a server. Only your option settings are saved locally. No sign-up or login is required, and there are no ads.

Privacy Notice

The JSON/CSV data you enter and the converted results are processed entirely within your browser and are never sent to or stored on any server. Only your option settings are saved to the browser's localStorage for convenience, and uploaded files are read only in browser memory. You can convert sensitive data with peace of mind.

Related Tools

JSON FormatterSQL FormatterCase ConverterTimestamp ConverterWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderURL EncoderCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →