Data Converters

JSON, YAML, CSV, XML, TOML, Base64.

3 tools · all run in your browser

Convert between the data formats that engineers and data workers deal with every day: JSON ↔ YAML, JSON ↔ CSV, JSON ↔ XML, TOML parser, JSON Formatter, YAML validator. Paste in one format, get back the other — instantly, in the browser, with proper error messages that tell you exactly where the input is malformed.

The JSON ↔ CSV converter handles the tricky direction: going from JSON (nested, typed) to CSV (flat, string-only). It flattens one level of nesting and lets you pick which keys become columns. The reverse — CSV to JSON — reads the header row as keys and gives you an array of objects. Both directions preserve numeric and boolean types.

Format-specific notes: YAML is a superset of JSON (all valid JSON is valid YAML), but the reverse is not true — YAML allows comments, multi-line strings, and anchors that have no JSON equivalent. TOML is commonly used for configuration files (Cargo.toml, pyproject.toml); it is strongly typed and more explicit than YAML.

All data converters

Frequently asked

What is the difference between JSON and YAML?

JSON is strict, compact, and machine-first — no comments, always double-quoted strings, explicit brackets. YAML is a superset of JSON that adds comments, multi-line strings, anchors, and human-friendly indentation — used for config files (GitHub Actions, Docker Compose, Kubernetes). Our JSON ↔ YAML Converter round-trips between them.

Can I convert nested JSON to CSV?

Yes, with one-level flattening. Our JSON → CSV Converter flattens the first level of nesting and lets you select which keys become columns. Deeply nested structures (nested arrays, arrays of arrays) cannot cleanly map to a flat CSV — the tool will warn you if it encounters them.

What is TOML and what is it used for?

TOML (Tom's Obvious Minimal Language) is a config file format designed to be more explicit than YAML. It uses [section] headers and key = value pairs with typed values (strings, ints, floats, booleans, dates). Used by Rust's Cargo, Python's pyproject.toml, and Hugo.

Why is my JSON invalid?

Common causes: trailing commas (JSON forbids them — JavaScript objects allow them, JSON does not), single-quoted strings (must be double-quoted in JSON), missing commas between items, and unquoted keys. Paste into our JSON Formatter for an exact line-and-character error message.

What is the difference between JSON and XML?

JSON is terser and directly maps to JavaScript objects — preferred by REST APIs. XML uses verbose open/close tags, supports attributes and namespaces, and is the standard for SOAP, RSS, SVG, and many legacy enterprise systems. Both can represent the same data; our JSON ↔ XML Converter handles the mapping.