Developer Tools

JSON Converter – Convert JSON, CSV, XML & YAML Instantly

Convert JSON to CSV, XML or YAML, and turn CSV, XML or YAML back into JSON.

Paste your data or upload a file, pick a conversion, then copy or download the result. This free JSON converter works entirely in your browser, so nothing you paste is uploaded.

Your JSON never leaves your device

Detects the format automatically

 

Result
Your converted result will appear here...

 

What is JSON conversion, and why is it useful?

JSON is the standard format for APIs and web apps, but the tools around it often expect something else. Spreadsheets want CSV, feeds and older systems use XML, and configuration files are commonly written in YAML. Converting JSON lets you open API data in Excel, hand it to a system that only reads XML, or turn a spreadsheet export into JSON for your code, all without writing a script.

Supported Formats

JSON

The standard format for APIs and web apps. Convert to compact one-line JSON for smaller payloads, or to indented JSON that's easy to read. Numbers and key order are kept exactly as written.

CSV

Rows and columns for spreadsheets. Nested JSON objects become dotted columns such as address.city, and arrays are kept as JSON text in one cell. Going the other way, the first row becomes the keys.

XML

Tags and attributes, common in feeds and older systems. JSON becomes XML inside a root element, and repeated tags become arrays when you convert back. Attributes appear as @name and text as #text.

YAML

Indented and easy to read, popular for configuration files. Lists, nested mappings, quoted strings and multi-line text are supported. Anchors, aliases and tags are not.

File Upload vs. Direct Input

Paste text

Best for quick jobs. Paste your data into the input box and the format is detected as you go. The conversion switches to match when the pasted data isn't what the current one expects.

Upload a file

Best for saved files. Drag a .json, .csv, .xml or .yaml file onto the upload area or choose one, up to 5 MB. The format comes from the file name first and its contents second.

Either way, the result can be copied to your clipboard or downloaded as a file with the right extension.

Your Data Stays on Your Device

Everything on this page runs in your browser. Your data is never uploaded, logged or stored, which matters when it contains customer records, API responses, tokens or internal config. It's also fast, because there's no waiting on a server, and it keeps working even if your connection drops after the page has loaded.

Frequently Asked Questions

Is my data uploaded or stored anywhere?
No. Everything is converted in your browser. Pasted text and uploaded files are never sent to a server and aren't saved, so they disappear when you refresh or close the page.
Which conversions are supported?
JSON to CSV, XML, YAML, minified JSON and pretty JSON, plus CSV, XML and YAML back to JSON. The Conversion menu lists all eight.
How is nested JSON turned into CSV?
Each object in an array becomes a row. Nested objects are flattened into dotted columns, so {"address": {"city": "Leeds"}} gives a column named address.city. Arrays inside a record stay as JSON text in a single cell. Going from CSV to JSON, numbers and true/false are detected unless you turn that option off, and values like 007 or very long IDs always stay as text.
How does JSON become XML?
The data is wrapped in a root element. Each key becomes a tag, array items repeat the key's tag, and keys that aren't valid XML names are renamed, with a note telling you which. Keys that start with @ become attributes and #text becomes the element's text, so XML converted to JSON converts back the same way.
How does it know what type my file is?
It checks the file extension first, then looks at the contents. The detected format is shown above the input. If it doesn't match the selected conversion, you'll get a one-click button to switch. You can always choose a conversion yourself.
Does it support all YAML features?
It covers the parts most files use: nested mappings and lists, comments, quoted and plain strings, inline [ ] and { } collections, and | and > text blocks. Anchors, aliases, tags and files with more than one document aren't supported, and you'll see a clear message if your file uses them.
Is there a size limit?
Uploaded files can be up to 5 MB. Pasted text has no fixed limit, but because everything runs on your device, very large inputs can be slow. Results over about 300,000 characters are shown without colour to keep the page fast.