Input (CSV)
id,name,role
1,Ada,admin
2,Linus,userCSV ↔ XML converts tabular comma-separated data into structured XML and back again. Each CSV row becomes an XML element, with the header row supplying child element (or attribute) names. Going the other way, repeated XML elements are flattened back into rows and columns. It works in both directions, so you can move data between spreadsheet exports and XML-based systems without manual reformatting.
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, defined loosely by RFC 4180. XML (eXtensible Markup Language) is a hierarchical, tag-based markup language used for documents, configuration, and data interchange. This tool maps the flat grid of CSV onto a nested tree of XML elements, preserving every value while adapting to each format's structure.
The main file is the entry point for each run.
Use the Input panel to pipe standard input to your program when it needs data.
Run sends your code to a fresh hosted runtime and streams the result into the output panel.
Your draft stays in this browser, and Share creates a separate snapshot link.
id,name,role
1,Ada,admin
2,Linus,user<rows>
<row>
<id>1</id>
<name>Ada</name>
<role>admin</role>
</row>
<row>
<id>2</id>
<name>Linus</name>
<role>user</role>
</row>
</rows><rows>
<row><city>Paris</city><code>FR</code></row>
</rows>city,code
Paris,FRid,name
1,"Smith, John"<rows>
<row>
<id>1</id>
<name>Smith, John</name>
</row>
</rows>id,note
1,a & b<rows>
<row>
<id>1</id>
<note>a & b</note>
</row>
</rows><rows>
<row><id>1</id><qty>2</qty></row>
<row><id>2</id><qty>5</qty></row>
</rows>id,qty
1,2
2,5id,name,note
1,Ada,
2,Linus,vip<rows>
<row>
<id>1</id>
<name>Ada</name>
<note></note>
</row>
<row>
<id>2</id>
<name>Linus</name>
<note>vip</note>
</row>
</rows><rows>
<row><id>1</id><note>a < b</note></row>
</rows>id,note
1,a < bThe editor uses Monaco, the engine behind VS Code, with language-aware editing tools and familiar keyboard controls.
Paste CSV to convert each row into a structured XML element.
Paste XML to flatten repeated elements back into rows and columns.
The CSV header row supplies child element (or attribute) names.
Each record row maps to one XML element under a single root.
Header names become the per-row child element or attribute names.
Every cell value is preserved as the conversion crosses formats.
Moving spreadsheet exports into XML-based systems.
Pulling tabular data out of XML back into a flat CSV grid.
Conversion runs locally in your browser — tabular data is never uploaded.
Works on exports with sensitive fields without leaving the page.
Output
XML output