XML to Excel Converter
Convert XML with repeating elements to a real .xlsx Excel workbook — the row element is auto-detected (or set it yourself), attributes become columns, entirely in your browser.
Input
Converting runs entirely in your browser — nothing is uploaded.
Excel Workbook
Paste or upload XML with repeating elements and press Convert to Excel. The workbook is built in your browser — download it when you're ready.
Guides
Turn XML with repeating elements into a real .xlsx workbook — no signup, no install, no file leaving your browser. Paste an export from an API, a legacy system, or a config file, and get back a proper spreadsheet you can open straight in Excel or Google Sheets.
How to use it
- Paste your XML into the input box, or drop an
.xmlfile onto the uploader. - Leave Row element blank to auto-detect the repeating record from the most common direct child of the root, or set it explicitly if your data needs it.
- Toggle Include XML attributes as columns to turn each row's attributes into extra columns (prefixed to keep them distinct from element columns), and adjust the Attribute prefix if you want something other than
@. - Set the Sheet name, and toggle Bold the first row / Auto-size columns to taste.
- Press Convert to Excel and download the
.xlsxfile.
How is the repeating row found?
The Row element field lets you set the tag explicitly (e.g. item), or leave it blank to auto-detect: the tool looks at the root's direct children and picks whichever tag repeats most often. If no row tag is found as a direct child of the root, every matching element anywhere in the document is used instead — so <data><items><item/>...</items></data> still finds <item> even though it's nested one level deeper than the root.
What becomes a column?
For each row element: every direct child element becomes a column named after its tag, and (if enabled) every attribute on the row itself becomes an @attr column. A child that has its own attributes additionally contributes tag.@attr columns. A repeated child tag — or a repeated attribute under a repeated child — doesn't explode into more columns; its values join into a single cell with " | " between them. The column order follows first-seen order across all rows, so columns line up with the XML's natural structure even when not every row has every field.
Is my data uploaded anywhere?
No. Parsing and workbook generation both run entirely in your browser using a self-contained XML parser and exceljs — nothing is sent to a server, logged, or stored.
What's the inverse of this tool?
Use the Excel to XML Converter to go the other direction. If you need CSV instead of Excel, try the XML to CSV Converter, which uses the same row-detection rules.