JSON, XML, CSV & Excel Converter

Convert data files between JSON, XML, CSV and Excel workbooks

About data format conversion

JSON to XML requires one root element. XML attributes map to @attributes, mixed text to #text, and repeated same-name children become arrays. The first CSV row supplies column names; dots create nested fields and @name creates an attribute. XML to CSV treats repeated same-name children under the root as records and flattens nested fields into dotted columns. Table values stay as text. Excel (.xlsx) and XML workbook conversions preserve sheet names, cell positions, values and common types. Formulas become their saved calculated values; styling and date display formats are not preserved. XML to Excel supports this tool’s workbook/sheet/row/cell structure and common repeated-record table XML. Files are processed on your device and never uploaded.

Turn XML records into a CSV table

Repeated row elements become records and nested fields become columns

XML file
<orders>
  <row id="A12">
    <customer>Lin</customer>
    <item>Notebook</item>
  </row>
  <row id="A13">
    <customer>Mei</customer>
    <item>Pen</item>
  </row>
</orders>
CSV file
@id,customer,item
A12,Lin,Notebook
A13,Mei,Pen

Turn multi-sheet XML into an Excel workbook

Both sheet names and cell positions are retained in the workbook

XML workbook
<workbook>
  <sheet name="Sales">
    <row number="1"><cell column="A" type="text">Product</cell><cell column="B" type="text">Units</cell><cell column="C" type="text">Total</cell></row>
    <row number="2"><cell column="A" type="text">Notebook</cell><cell column="B" type="number">24</cell><cell column="C" type="number">120.00</cell></row>
    <row number="3"><cell column="A" type="text">Pen</cell><cell column="B" type="number">80</cell><cell column="C" type="number">40.00</cell></row>
  </sheet>
  <sheet name="Stock">
    <row number="1"><cell column="A" type="text">Item</cell><cell column="B" type="text">In stock</cell></row>
    <row number="2"><cell column="A" type="text">Notebook</cell><cell column="B" type="number">12</cell></row>
    <row number="3"><cell column="A" type="text">Pen</cell><cell column="B" type="number">40</cell></row>
  </sheet>
</workbook>
Excel workbook
Sales · 3 rows
Product | Units | Total
Notebook | 24 | 120.00
Pen | 80 | 40.00

Stock · 3 rows
Item | In stock
Notebook | 12
Pen | 40