XML to Excel Converter

Turn the repeating records in an XML document into a downloadable .xlsx workbook, with numbers written as numbers rather than text.

XML
Workbook summary
Runs locally in your browser

About the XML to Excel Converter

Opening raw XML in Excel produces either an import wizard or a single unusable column. This converter does the flattening first. It finds the repeating element that acts as your record, treats each occurrence as a row, and builds a column for every leaf value inside it. Nested elements get dotted column names, and attributes get the prefix you choose, so an order id attribute lands in its own column next to the customer name.

The workbook is written as a genuine Office Open XML package in the browser, not a CSV with a renamed extension, so Excel, LibreOffice Calc, Numbers and Google Sheets all open it without a warning dialog. Values that look numeric are written as number cells, and true and false become boolean cells, unless you switch type detection off to keep leading zeros in product codes and postcodes intact.

The output pane shows the row count, the column list and a short preview so you can check the shape before saving. Name the sheet and the file from the toolbar. If your XML has no repeating element the conversion stops with a message rather than writing a one-row sheet by accident. For a plain text export instead, use XML to CSV; to go the other way, Excel to JSON reads a workbook back.

How to use

  1. Paste your XML or upload the file.
  2. Check the preview: the column list tells you how the records were flattened.
  3. Set a sheet name and file name, and decide whether numbers should be typed.
  4. Click Download to save the .xlsx workbook.

Common questions

Is the download a real Excel file?
Yes. It is a valid .xlsx package containing a worksheet part, so Excel opens it directly with no import step.
Why did my product code lose its leading zero?
Type detection turned it into a number. Untick Detect numbers and booleans and the value stays text.
How are nested elements handled?
They are flattened into dotted column headers such as healthcheck.retries, one column per leaf value.
Can it write more than one sheet?
No. Each run produces a single sheet from a single repeating record type. Split the document if you need several sheets.