Command Palette

Search for a command to run...

21 Tools Available

JSON Converter and Data Tools

A data converter rewrites the same records in another format without changing what they mean. Move data between JSON, CSV, XML, YAML and TOML, generate TypeScript, Go, PHP or SQL from it, and validate or query it before you do.

Showing 21 tools

JSON to YAML Converter

Convert JSON to clean, valid YAML instantly - configurable indentation and safe string quoting

YAML to JSON Converter

Convert YAML to JSON instantly - anchors, aliases, merge keys, block scalars and multi-document streams supported

XML to JSON Converter

Convert XML to clean, valid JSON instantly - handles attributes, nested elements, repeated tags, and CDATA

CSV Viewer

Open, search, and sort CSV files as a clean table in your browser. Auto-detects delimiters, handles quoted fields, and exports to CSV or JSON.

JSON to XML

Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.

JSON to TypeScript

Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.

JSON Schema Generator

Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.

XML Formatter

Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting

JSON Escape / Unescape

Escape and unescape strings for JSON online - handles quotes, backslashes, newlines, tabs, control characters, and \uXXXX Unicode, with optional quote wrapping

CSV to JSON Converter

Convert CSV to JSON online. Parses quoted fields and any delimiter, infers numbers and booleans, and outputs an array of objects. Client-side, no signup.

CSV to XML Converter

Convert CSV data into well-formed XML in the browser. Each row becomes an element or a set of attributes, with delimiter auto-detection, custom element names, and proper escaping.

JSON to CSV Converter

Convert JSON to CSV online. Turns an array of objects into a spreadsheet-ready file, flattens nested objects, and escapes fields per RFC 4180. Client-side, no signup.

JSON Flattener

Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.

CSV to SQL Converter

Convert CSV data into SQL CREATE TABLE and INSERT statements for MySQL, PostgreSQL, or SQLite. Infers column types, escapes values, runs client-side.

JSON to SQL Converter

Convert a JSON array of objects into SQL CREATE TABLE and INSERT statements for MySQL, PostgreSQL, or SQLite. Infers types, runs client-side.

JSONPath Tester

Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.

JSON Sorter

Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.

JSON Validator

Validate JSON against RFC 8259 and get the exact line, column, and character of the first syntax error, plus duplicate-key detection and structure stats. Client-side, no signup.

JSON to PHP Array

Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. Runs client-side.

JSON to Go Struct

Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.

JSON to TOML Converter

Convert JSON to TOML 1.0. Objects become tables, arrays of objects become arrays of tables, and everything is rendered inline where TOML expects it.

A data converter rewrites structured data from one serialization format into another without changing what the data means. CSV, JSON, XML and YAML are four ways of writing down the same records, and each one exists because it was good at something the others were not: CSV for spreadsheets, JSON for APIs, XML for documents and schemas, YAML for configuration a person has to read. Moving between them is a daily tax on anyone who works with more than one system.

Which direction you need usually settles which JSON converter to open. Spreadsheet exports go through CSV to JSON on the way into code, and back through JSON to CSV on the way out to a colleague. Configuration moves between JSON and YAML in both directions. An API response you did not design is best attacked with the JSONPath tester to find the field you want, then JSON to TypeScript to get types for it. Where the consumer is a language rather than a format, the target is source code: JSON to a PHP array for a config file or a fixture you can paste straight into a project, and JSON to Go structs for the tagged struct definitions the standard library needs before it will unmarshal anything. When the destination is a configuration file rather than a language, JSON to TOML emits the tables and arrays of tables that Cargo, Poetry and Hugo expect. Before any of that, when a converter refuses an input or an API response will not parse, the JSON validator checks the text against RFC 8259 and points at the exact line and column of the first error rather than failing with an opaque position. When the file is valid but two copies of it disagree, the compare tools answer that faster than reading both, and when the problem is the code that produced the file, the developer utilities are next door.

Which data tool for which conversion

Which data tool for which conversion
Starting fromToolWatch out for
CSV, going to codeCSV to JSONType inference turning 007 into 7
CSV, going to a databaseCSV to SQLPick the dialect: MySQL, PostgreSQL or SQLite
CSV you just want to readCSV ViewerNothing; it parses and displays, it does not save
JSON, going to a spreadsheetJSON to CSVNested objects have to be flattened first
JSON, going to configJSON to YAMLStrings that look like numbers or booleans
JSON, going to a legacy systemJSON to XMLArrays have no direct XML equivalent
JSON, going to a config fileJSON to TOMLNull has no TOML equivalent, so it is dropped
JSON, going into TypeScriptJSON to TypeScriptOne sample cannot show optional fields
JSON with deep nestingJSON FlattenerKey paths get long fast
JSON you need to validate againstJSON Schema GeneratorThe schema describes your sample, not your intent
JSON inside a string literalJSON Escape / UnescapeDouble-escaped input escaped twice again
JSON you need to queryJSONPath TesterFilter syntax differs between implementations
JSON that will not parseJSON ValidatorThe reported column is the fault, not a few chars past it
XML, going to codeXML to JSONAttributes and text nodes need a convention
XML that is unreadableXML FormatterNothing; comments and CDATA are preserved
YAML, going to an APIYAML to JSONYAML features JSON has no way to express
JSON with keys in no orderJSON SorterSorting is recursive; array order may be meaningful

Which conversions lose something

Some of these pairs are round trips and some are one-way doors, and knowing which is which saves an afternoon. JSON and YAML are the cleanest pair: YAML 1.2 is a superset of JSON, so every JSON document is already valid YAML and the conversion back is exact. CSV and JSON are lossy in one direction only. A flat array of objects becomes a table cleanly, but nested data has no cell to live in, which is why flattening the JSON into dotted key paths before exporting produces a far more useful spreadsheet than letting a converter guess.

XML to JSON is the hardest of the four, because XML distinguishes things JSON does not: an attribute is not a child element, element order carries meaning, and a tag repeated twice is an array while a tag appearing once is not. Any converter has to adopt a convention for all three, and two converters with different conventions produce different JSON from the same file. That is worth knowing before you build a parser against the output of one of them.

CSV has no types at all. Every field is text until something decides otherwise, so type inference is a guess made per column: it is what turns a leading-zero product code into a number and a phone number into scientific notation. Where the identifiers matter, turn inference off and post-process the columns you want as numbers.

The specifications these follow

CSV parsing here follows RFC 4180, which is the closest thing the format has to a standard: fields separated by commas, quotes doubled inside quoted fields, and a quoted field allowed to contain line breaks. The delimiter is detected automatically because half the world exports semicolons, and can be set by hand when detection guesses wrong. JSON follows RFC 8259, which is why trailing commas and comments are rejected rather than tolerated. The XML formatter preserves comments, CDATA sections and attribute order, because a formatter that reorders attributes makes a diff unreadable.

The JSONPath tester implements the widely used subset of the query language: root, child, recursive descent, wildcards, array indexes including negative ones, unions, Python-style slices and filter expressions. JSONPath was only standardized as RFC 9535 in 2024, long after implementations diverged, so a filter expression that works in one library may not work in another. Testing an expression against your real document before shipping it is the point of the tool.

Frequently asked questions

Is my data uploaded anywhere when I convert it?

No. Every converter here runs client-side, in your browser. The text you paste or the file you open is parsed in memory on your device and the result is produced there, so nothing is transmitted to a server, written to a log or retained. That is the practical reason to use a client-side converter for anything containing customer records or credentials.

How do I convert nested JSON to CSV?

Flatten it first. A CSV row has no way to hold an object, so run the JSON through the flattener to turn nested keys into dotted paths such as user.address.city, then convert the flat result to CSV. Arrays of unequal length still need a decision from you about whether each item becomes a column or a row.

Why did my CSV values change type in the JSON output?

Because type inference is on. The converter reads 007 as the number 7 and true as a boolean, which is what you want for a numeric column and not what you want for a product code or a phone number. Turn inference off to keep every field as a string, then convert only the columns you know are numeric.

Is YAML fully compatible with JSON?

In one direction. YAML 1.2 is a superset of JSON, so any JSON document is already valid YAML and converts across exactly. Going the other way can lose information, because YAML has anchors, aliases, multiple documents in one file and non-string keys, and JSON has no way to express any of them.

Which SQL dialect does the CSV to SQL converter target?

MySQL, PostgreSQL, SQLite or a generic dialect, chosen before you convert. The dialect controls identifier quoting and the column types the inferred data maps to, which is where portable-looking SQL usually breaks: backticks are MySQL, double quotes are PostgreSQL and SQLite, and the integer and timestamp type names differ across all three.

Can these tools handle large files?

Files up to tens of megabytes convert comfortably; past that the browser tab is the limit, since the whole document is parsed into memory at once. There is no server-side size cap because there is no upload. For a multi-gigabyte export, a streaming command-line tool is the right instrument.