Convert XML to CSV
Convert XML to CSV in your browser: load your XML, choose CSV as the target, and download the result. The converter reports exactly what it could not carry across, and nothing is uploaded to a server.
Convert XML to CSVRuns in your browser. Nothing uploaded.
When you need this
An XML export — a product feed, a bank statement, a government dataset, an RSS archive — that you need in a spreadsheet or a database import. These files are usually one repeated element under a root, which is exactly a table.
How to convert XML to CSV
- Load your XML
- Drag the .xml file in, or paste the document. A response captured from a SOAP or REST endpoint can go straight in as text. Nothing leaves your browser at this or any later step.
- Choose the target format
- Press Ctrl+Shift+K (Cmd+Shift+K on a Mac) to open the conversion panel, then pick CSV as the target. The source and the result sit side by side.
- Read the loss report
- The panel shows whether the conversion is lossless for your particular data, and lists every value it had to transform. Adjust indentation, key sorting and null handling if you need to.
- Take the CSV
- Download the .csv file, copy it, or open it as a new tab to keep working on it in the CSV views.
What survives the conversion
XML to CSV cannot be lossless, because the two formats express different things. Only a flat list of repeated elements converts cleanly.
- Only a flat list of repeated elements converts cleanly. A deeply nested document has no single obvious row, and the converter reports that rather than guessing which level you meant.
- Attributes become columns alongside elements,
@_-prefixed, so nothing is dropped just because the producer chose an attribute over a child element. Columns follow the elements first, then the attributes. - Records that omit an element get an empty cell, with columns taken from the union across all records.
A worked example
Repeated elements becoming rows, attributes becoming columns:
<rows>
<row id="1"><qty>5</qty></row>
<row id="2"><qty>9</qty></row>
</rows>qty,@_id
5,1
9,2Privacy
The conversion runs in your browser — in a Web Worker for anything above a quarter of a megabyte, so the page stays responsive. Your data is not uploaded, not logged and not stored. There is no account, and the whole thing works offline.
Questions
My XML is deeply nested. Which level becomes the rows?
The converter looks for a repeated element and treats those as the records. If nesting means there is no unambiguous answer, it says so instead of guessing — a table built from the wrong level is worse than no table, because it looks plausible.
Is converting XML to CSV lossless?
No, and no tool can make it so. Only a flat list of repeated elements converts cleanly. The converter lists every affected value rather than silently dropping it.
Is my XML uploaded to a server?
No. The file is read and converted by your browser. Nothing about its contents is sent anywhere, which you can verify in your browser’s network panel or by using the tool with the network disconnected.