Media tools are next. Everything ships the same way: it runs in your tab, or it does not ship.
Data format converters
JSON, YAML, XML, CSV, TSV, TOML and Markdown tables, in every direction you actually need. Paste on the left, copy on the right, live while you type. The parsers are bundled into the page, so a production data export never touches a server.
29 tools. All in your browser.
Nothing you paste is uploaded, and once a tool has loaded it keeps working offline. Free, no signup.
JSON, YAML and TOML
6 tools
The three formats config files argue about, in every pairing. Going into YAML the hard part is quoting: a value like NO or 1.10 has to be quoted or it comes back as a boolean and a different number. Going into TOML the hard parts are the missing null and the table-shaped top level. Anchors and merge keys are resolved wherever the target has no equivalent, and comments only survive where the target format has them.
For the feeds, SOAP responses, sitemaps and enterprise exports that will outlive all of us. XML separates attributes from child elements and no other format does, so every converter has to invent a convention for that. Ours prefixes attributes with @_ in every direction, and the CSV pair adds the table view: the repeated element becomes rows on the way out, and rows become elements with names you pick on the way in.
Spreadsheet exports in both directions, now also from and to YAML and TOML. CSV has exactly one type, text, so anything that looks like a number, a date or a boolean is a guess until someone decides. Our converters show what they guessed and let you turn the guessing off, which is what you want for article numbers with leading zeros. The YAML and TOML directions also find the record list for you, even when it sits below metadata keys.
The three problems every CSV eventually runs into: Excel rewrites the values it opens, the delimiter depends on the locale of whoever double-clicks, and an .xlsx is a ZIP of XML that no text editor can help with. These pages solve them without a spreadsheet application. The workbook is built and unzipped in your tab, so a payroll export never becomes an upload.
Same rows, different destination. Markdown for a README or a pull request, HTML for a page, INSERT statements for a database you are seeding. The Markdown converter aligns numeric columns to the right and pads the cells so the raw file stays readable in a diff.
The parsers ship with the page, so a tool keeps working after you go offline.
Instant, as you type
Every tool runs the moment you type. No run button, no waiting, nothing to install.
Free forever, no signup
No account, no paywall, no trial that expires. All 70+ tools, free for everyone.
One page per direction, on purpose
JSON to YAML and YAML to JSON are not the same problem, so they are not the same page. Cramming both into one widget with a swap arrow makes the tool vaguer and the help text useless. All 26 converters share one parser and serialiser layer underneath, which is why they behave the same: same file drop, same error style, same live update while you type.
Why we do not upload your file
Data exports are the worst thing to hand to a random web service. A CSV of customers, an API response with tokens in it, a dump for a migration: none of that belongs in a paste box on someone else's server. Open your network tab, paste 30 MB of JSON, convert it, download the result, and the request list stays exactly as long as it was when the page finished loading.
What survives a format change, and what does not
What gets lost when you convert between data formats?
Everything the target format has no concept of, silently. Comments exist in YAML, TOML and XML but not in JSON or CSV, so they are gone the moment JSON is the intermediate step. TOML has no null, XML has no numbers or booleans (only text plus a schema), CSV has no nesting and no types at all, and JSON objects carry no attributes. Key order survives in most implementations but is not guaranteed by the JSON spec, and duplicate keys collapse. Decide which of these your file relies on before you round-trip it through anything.
Why do leading zeros and long numbers change during a conversion?
Because a converter that infers types reads 007 as the number 7 and a 19-digit id as a float that cannot represent it exactly. JSON numbers are IEEE 754 doubles in almost every implementation, so anything above 9007199254740991 loses its last digits, and CSV has no way to mark a field as text in the first place. The fix is to keep such columns as strings end to end: quote them in the source, tell the converter not to cast, and if a spreadsheet is involved, write the column as text rather than hoping.
How do I convert a file that is too large for a browser tab?
Stream it on the command line instead of loading it whole. jq --stream reads a huge JSON document event by event, Miller (mlr) converts between CSV, TSV, JSON and NDJSON without holding the file in memory, csvkit covers the CSV side with in2csv and csvjson, and yq does YAML and TOML. As a rule of thumb, anything past a few hundred megabytes belongs in a pipe, not in a text area, whatever the tool promises.
Is a JSON to YAML round trip lossless?
From JSON to YAML and back, usually yes, because YAML 1.2 is a superset of JSON and every JSON value has a YAML equivalent. The other direction is where it breaks: the YAML original may carry comments, anchors, merge keys, multiple documents in one file, tags and non-string keys, none of which exist in JSON, so the file that comes back is valid and no longer the same file. Never use a JSON round trip as a way to reformat YAML you care about.
Which format should I pick for an API, a config file and a data export?
JSON for APIs, because every language parses it identically and there is nothing to argue about; TOML or YAML for configuration a person edits, TOML when the structure is flat and YAML when it is deep or the ecosystem already expects it; CSV for anything that ends up in a spreadsheet, with UTF-8 and a documented delimiter. The one to avoid on purpose is CSV as an interchange format between programs, since the quoting rules in RFC 4180 are advisory and every writer bends them differently.