Free XML to Excel ConverterRuns in your browser. Your files are never uploaded.

1Add your XML

Drag and drop XML files here
or choose files. You can add several at once.

The site must allow cross-origin requests (CORS). If it does not, download the file and upload it instead.

A small orders file with attributes, nested items, repeated elements, dates and an ID with a leading zero.

2Choose how it should look in Excel

Rows and layout

Structure

Values

Files and output

3Check the preview

Choose and rename columns

4Download

Conversion happens on your device. Nothing is sent to a server. CSV and Copy use the sheet shown in the preview.

The fastest way to convert XML to Excel (or open XML in Excel as a table) is to upload your file to the converter above, check the preview, and download it as .xlsx, .xls or CSV. The tool finds the repeating records in your XML, turns each one into a row, and works in your browser, so your file is never uploaded to a server.

Last updated: October 22, 2026

How to convert XML to Excel in 4 steps

  1. Add your XML. Drag in one or more files, paste the XML, fetch it from a URL, or load the sample file.
  2. Check which element becomes a row. The tool picks the repeating element automatically (for example, each <order>). If it picked the wrong one, change it in the “Each row comes from” list.
  3. Choose the layout and options. Decide how nested elements, attributes, numbers and dates should appear.
  4. Preview and download. Rename or remove columns if you want, then download .xlsx, .xls or CSV, or copy the table straight into Excel.

XML to Excel example: what you put in and what you get out

Here is one order from the sample file built into the converter. It has attributes (id, status), a nested customer, and a repeating list of items:

<order id="1001" status="shipped">
  <date>2026-10-02</date>
  <customer>
    <name>Ayesha Khan</name>
    <email>ayesha@example.com</email>
    <zip>01234</zip>
  </customer>
  <items>
    <item sku="A-100"><name>USB-C Cable</name><qty>2</qty><price currency="USD">9.99</price></item>
    <item sku="B-220"><name>Laptop Stand</name><qty>1</qty><price currency="USD">34.50</price></item>
  </items>
  <total>54.48</total>
</order>

With the flat table layout, the first three orders in the sample become one row each (some columns left out here to save space):

@id@statusdatecustomer.nameemailziptotal
1001shipped2026-10-02Ayesha Khanayesha@example.com0123454.48
1002pending2026-10-03 14:30:00Omar Siddiquiomar@example.com7500119
1003shipped2026-10-05Sara Alisara@example.com126.46

In the real file, dates are true Excel dates, totals are real numbers, and the zip code 01234 keeps its leading zero. Orders with more items get extra columns (items.item[1].name, items.item[2].name and so on). If you would rather not have those, use the linked sheets layout below.

How nested XML becomes rows and columns

Excel is a grid and XML is a tree, so something has to give. The converter offers three layouts:

LayoutWhat you getUse it when
One flat tableOne row per record. Repeated elements are joined into one cell or spread across numbered columns.Each record has few or no repeating children, or you want a single sheet.
Linked sheetsOne sheet for the records and one sheet for each repeating group, connected by row_id and parent_row_id columns.Records contain lists, such as order lines, and you want to filter, pivot or look them up in Excel.
Key / value listThree columns: record number, full path, value. Nothing is lost or reshaped.The XML is irregular, a settings file, or you want to see exactly what is in it.

For the order example, the linked sheets layout gives you an order sheet with 3 rows and an item sheet with 6 rows. Each item row carries the parent_row_id of the order it belongs to, so a lookup or pivot table can join them back together.

Options explained

  • Include attributes. XML attributes such as id="1001" become columns named @id.
  • Remove namespace prefixes. Turns dc:creator into creator. Turn it off to keep the prefix.
  • Keep text mixed with child tags. If an element contains both text and child elements, the loose text goes into a #text column.
  • Numbers and dates. Numbers become real numbers and ISO dates such as 2026-10-02 or 2026-10-02T14:30:00 become real Excel dates. A column that contains IDs with leading zeros or codes of 11 digits or more stays as text, so nothing is rounded or stripped.
  • Column names. By default the tool uses the short tag name and switches to the full path only when two columns would clash. You can also rename or remove any column in the preview.
  • Several files. Merge them into the same sheets (with a source file column) or keep one set of sheets per file.
  • CSV safety. Text that starts with =, +, - or @ gets a leading apostrophe in CSV files, so Excel will not run it as a formula.

XML to XLSX, XLS or CSV: which should you pick?

  • .xlsx is the right choice for almost everything. It supports up to 1,048,576 rows and 16,384 columns per sheet, and keeps numbers and dates as real values.
  • .xls is the older Excel 97-2003 format, limited to 65,536 rows and 256 columns per sheet. Use it only if a system or colleague needs it.
  • CSV is plain text with no sheets, so it holds one sheet at a time. Use it to import into a database or another tool. You can choose the delimiter and add a UTF-8 BOM so Excel shows accented characters correctly.

Common problems when converting XML to Excel

Everything ends up in one row

This usually means the tool picked the root element as the record. Open the “Each row comes from” list and choose the element that repeats, such as order, item or product. If the XML has no repeating element at all, try the key / value layout.

“Not valid XML” error

The message tells you the line and column where parsing failed. The usual causes are a bare & that should be &amp;, a missing closing tag, or hidden control characters. The “Try automatic repair” button fixes stray ampersands and control characters, but it cannot fix missing or mismatched tags.

Too many columns

Records with long repeating lists create a lot of numbered columns. Switch to the linked sheets layout, or set repeated elements to “Join into one cell”.

The file is very large

Everything runs in your browser, so the limit is your device’s memory. The tool handled a test file of about 18 MB with 150,000 records in a few seconds. A sheet with more rows than Excel allows is split across several sheets in the .xlsx download.

Numbers or dates look wrong in Excel

Dates are converted only when they are in ISO format (year-month-day). Other date styles stay as text. Turn off “Turn numbers into real numbers” if you need every value exactly as written.

Is it safe to convert XML online?

This converter does the work on your device. Your XML is read and converted in your browser, and the file is not sent to our server. The only thing loaded from the internet is the library that writes .xlsx and .xls files. If you fetch XML from a URL, your browser downloads it directly from that address.

Other ways to open XML in Excel

If you only need to look at an XML file, Excel can open it itself. You can open it as an XML table, import it with Power Query, or map it to a schema. Our step-by-step guide covers each method for Excel 365, 2021, 2019 and 2016: How to open an XML file in Excel. If you do not have Excel at all, see how to open an XML file on any device.

Use this converter when the XML is deeply nested, very large, spread over many files, or you want control over column names and layout before the data reaches Excel.

Need the reverse? The Excel to XML converter turns an Excel sheet into an XML file.

Limits to know about

  • ZIP files are not supported. Unzip them first.
  • The .xlsx and .xls files do not include styling such as bold headers or frozen panes. Header cells get an auto-filter and sized columns.
  • Fetching from a URL only works if the other site allows requests from other websites (CORS). If it does not, download the file and upload it.
  • Only ISO-format dates are converted to Excel dates.

Frequently asked questions

How do I convert an XML file to Excel?

Upload or paste your XML into the converter at the top of this page, check that the right element is chosen for rows, review the preview, and click Download Excel (.xlsx). You can also download .xls or CSV.

Is this XML to Excel converter free?

Yes. It is free to use and does not require an account.

Is my XML uploaded to a server?

No. The conversion runs in your browser. Your file stays on your device. The Excel-writing library is loaded from a public content delivery network when you download an .xlsx or .xls file.

Can it convert nested XML?

Yes. Choose a flat table, linked sheets (one sheet per repeating group), or a key / value list, depending on how you want the nested data to appear in Excel.

Can I convert several XML files at once?

Yes. Add as many files as you like, then merge them into the same sheets or keep one set of sheets per file.

What happens to XML attributes?

They become columns that start with @, for example @id. You can turn attributes off in the options.

Why did my leading zeros stay in the column?

A column whose values include IDs with leading zeros (like 01234) or codes of 11 digits or more is kept as text, so Excel does not drop the zeros or round long numbers.

What is the difference between XLSX, XLS and CSV?

XLSX is the current Excel format with up to 1,048,576 rows. XLS is the older format limited to 65,536 rows and 256 columns. CSV is plain text for one sheet and works with almost any system.

How big a file can I convert?

There is no fixed limit in the tool. It depends on your device’s memory. A test file of about 18 MB with 150,000 records converted in a few seconds.

Can I open XML in Excel without a converter?

Yes. Excel can open or import XML files directly. See our guide on how to open an XML file in Excel.

Get more done in Excel with AI

If you use ChatGPT, Copilot or Claude alongside Excel, grab the free ChatGPT Prompts for Excel pack from Game of Excel.