XML to CSV converter
Flatten XML data into a CSV table, one row per repeating element. Runs in your browser, free, no sign-up.
Result
Add an XML file and click Convert. A CSV with the data laid out as a table shows up here.
What to do next
How it works
Add an XML file and click Convert. The tool looks for a repeating element and reads each one as a row. If <item> appears several times, each <item> becomes a row. Attributes become @name columns and nested elements become dot-path columns (address.city).
The default output encoding is UTF-8 with BOM, so the file opens correctly in Excel.
Things to know
If an XML file has several different repeating structures, only the most frequent element is laid out as the table. To keep the full structure, use XML to JSON instead.
Frequently asked questions
Which element becomes a row?
The tool looks for a repeating element and reads each one as a row. If <item> appears several times, each <item> becomes a row. Attributes become @name columns and nested elements become dot-path columns (address.city).
Accented or non-Latin characters look garbled when I open the CSV in Excel.
Excel misreads a UTF-8 CSV that has no byte order mark (BOM) and treats it as a legacy encoding, so the characters come out wrong. Here, UTF-8 and EUC-KR (a legacy Korean encoding) are told apart automatically when reading, and a UTF-8 BOM is added by default when saving so Excel opens it correctly.
It says the XML is not well formed.
A tag is not closed or a character like & is not escaped. Look near the line number given in the error message.
Do my files get uploaded anywhere?
No. Everything runs inside this browser tab and the files never leave your device. The results disappear when you close the page, so save what you need.