data.exchange — 3 tools ● LIVE
Input · CSV EDITABLE
NETWORK PAYLOAD: 0 BYTES · PROCESSING: LOCAL
Output · JSON LIVE

            
JSON OUTPUT IS SYNTAX-HIGHLIGHTED
Records0ROWS / ITEMS
Fields0COLUMNS / KEYS
Input size0CHARACTERS
Output size0CHARACTERS

Developer Tools · Group 17 of 19

Data Conversion.

Three formats, two directions each, one bench. Flip CSV, YAML and XML to and from JSON as you type — quoted CSV fields handled properly, nested YAML parsed by indentation, XML attributes mapped to @keys — with the JSON result syntax-highlighted on the far side and record & field counts ticking below. Hit Feed back to reverse the trip and prove the round-trip. Nothing is uploaded, nothing is stored.

  • Tools03
  • Directions02 each
  • PivotJSON
  • Backendnone
  • Costfree
In order, 01 → 03

Three formats, all fluent in JSON.

( 01 )

Turns a header-row CSV into an array of JSON objects — one object per row, keyed by the header — and back again. This is a real CSV parser, not a naive split: quoted fields survive embedded commas and newlines, doubled quotes ("") become a literal quote, and on the way back any field containing a comma, quote or newline is re-quoted automatically. The 123 auto-type toggle converts values that look like numbers and booleans into their JSON types; switch it off to keep everything as strings for exact round-tripping.

Example · CSV → JSON

name,missions,active "Armstrong, Neil",3,true

[ { "name": "Armstrong, Neil", "missions": 3, "active": true } ] the quoted comma stays inside the field.

Use it for spreadsheets → APIsdata importsexportsETL quick-turns

Speaks the config-file YAML you actually meet: key–value maps, nesting by indentation, arrays of scalars or objects, inline [a, b] and {a: 1} collections, quoted strings, numbers, booleans and null. To JSON it goes as a native object; from JSON it's re-serialized as clean indentation-based YAML with arrays as - items. It's a practical subset — anchors, multi-line scalars and tags are out — but it covers the everyday cases with no server round-trip.

Example · YAML → JSON

crew: - name: Neil role: Commander manned: true

{ "crew": [ { "name": "Neil", "role": "Commander" } ], "manned": true } indentation becomes structure.

Use it for config filesCI/CD pipelinesk8s manifestssettings ↔ API

Bridges the markup world and the object world with a clear, reversible mapping: attributes become @name keys, text content becomes #text (or the whole value for a leaf element), repeated siblings become arrays, and element text that looks like a number or boolean gets typed. The reverse conversion reads @ back into attributes and #text back into content, emits a proper XML declaration, and escapes everything that needs it — so the structure survives the round-trip.

Example · XML → JSON

<mission year="1969"> <member role="Commander">Neil</member> <member role="Pilot">Buzz</member> </mission>

{ "mission": { "@year": "1969", "member": [ { "@role": "Commander", "#text": "Neil" }, … ] } } attributes, repetition and text all accounted for.

Use it for legacy APIsSOAP responsesfeedsconfig bridges

Conversion rules · JSON is the pivot — every format converts to it and from it · CSV parsing understands quoted fields, doubled quotes and embedded commas/newlines; output re-quotes any field that needs it · auto-typing converts numeric and boolean-looking CSV values; switch it off for string-exact round-trips · YAML support covers maps, indentation nesting, arrays, inline collections and common scalars — not the full spec · XML maps attributes to @keys and text to #text, with repeated siblings as arrays · JSON output is pretty-printed and syntax-highlighted · everything runs locally — your data never leaves the tab

The privacy promise

Convert anything. We couldn't see it even if we wanted to.

This page has no backend and no database. Every row parsed, every attribute mapped and every bracket highlighted just now happened inside your own browser tab — your data never traveled a single centimeter of cable. Close the page and it's gone for good.

✕ SERVER · DATABASE · LOGS · ANALYTICS
  • Databasenull
  • Backendnone
  • Data uploads0
  • Session logs0
Questions

Asked often, answered plainly.

( 02 )
How does the CSV converter handle commas inside fields?

It speaks real CSV, not naive split-on-comma. Quoted fields are parsed correctly, doubled quotes ("") become a literal quote, and commas and newlines inside quotes are preserved as part of the field. On the way back to CSV, any field containing a comma, quote or newline is automatically re-quoted, so nothing leaks out of its column.

Does the CSV converter turn numbers and booleans into JSON types?

By default, yes — the 123 auto-type toggle converts values that look like integers, decimals, true or false into their proper JSON types, which is usually what you want for an API. Turn it off if you need every value preserved as a string, which is the safer choice when exact round-tripping matters more than typed output.

What YAML does the converter understand?

The everyday subset: key-value maps, nesting by indentation, arrays with - items (including arrays of objects), inline [a, b] and {a: 1} collections, quoted strings, numbers, booleans and null. It doesn't cover the full YAML spec — anchors, multi-line scalars and custom tags aren't supported — but it handles the config-file YAML you meet in the wild.

How does XML map to JSON?

Attributes become @name keys, text content becomes #text (or the whole value for a leaf element with no attributes), repeated sibling elements become arrays, and element text that looks like a number or boolean is typed. The reverse conversion reads @ back into attributes and #text back into content, so a round-trip preserves the structure.

Is my data saved anywhere?

No. Stack has no backend and no database. Every parse and serialization happens inside your browser tab and vanishes the moment you close or refresh the page. Nothing is logged, because nothing is ever collected.