A list of records becomes rows; an object whose values are arrays becomes one sheet per key.
The .xlsx file is generated in your browser — your XML is never uploaded.
Convert XML to Excel (XLSX) online, free. XML (W3C XML 1.0) is a verbose, self-describing format used in SOAP, RSS and enterprise feeds, but its repeated elements are really just table rows. This converter parses your XML in the browser, turns a set of repeated child elements into spreadsheet rows with the element names as column headers, and builds a real .xlsx (Office Open XML) workbook you can download.
Repeated XML elements under a parent are detected and written as rows in a genuine .xlsx workbook — generated client-side with SheetJS, so your XML is never uploaded. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.
Builds a genuine Office Open XML workbook that opens cleanly in Excel, Google Sheets and Numbers.
Repeated child elements (e.g. many <user> under <users>) are mapped to spreadsheet rows, with their child tags as headers.
Element attributes are merged in alongside child values, so id="…" style data isn't lost on the way to the sheet.
Parsing (xml2js) and workbook generation (SheetJS) run locally; your XML never leaves your browser.
The tool parses your XML with xml2js into a JavaScript object, finds the repeated child elements (the list inside the document), and uses SheetJS to write those as rows in a real .xlsx workbook, with the child tag names becoming the column headers.
A parent element containing many identical child elements — for example <users> with repeated <user> entries, each holding the same fields. Those repeated elements become the rows; their inner tags become the columns. A single, deeply nested document produces just one row.
Yes. The parser merges attributes into the element's data (mergeAttrs), so a value carried as an attribute like <user id="7"> appears as an 'id' column rather than being dropped.
No. Parsing and .xlsx generation happen entirely in your browser; only the SheetJS library loads from a CDN. Your XML content never leaves your device, so it's safe for internal feeds.
A real .xlsx (Office Open XML) workbook generated with SheetJS — Excel, Google Sheets and Numbers open it natively, unlike a CSV renamed to .xlsx.
If the document has no repeated elements — a single nested record — there's only one row to make. Wrap your records in a common parent with repeated child elements so the converter can map each one to a row.
We use cookies for analytics and personalized ads to help keep these tools free. Until you accept, ads stay non-personalized and analytics cookies are off. See our Privacy Policy.