Home · Free tools · XML to Excel
XML to Excel
Paste an XML document or drop a .xml file. The converter finds the element that repeats —
<order>, <row>, <item> — and makes one row per
occurrence. Attributes and child elements become columns, nested children become dotted columns such as
customer.country, and the element it chose is printed above the table so you can check it.
Download .xlsx or CSV. The file is parsed by your browser and never uploaded.
XML document paste, or drop a .xml file onto the box
Doing this every month? Do it once in TableDI 2, save it as a job, and run it again next month. Download TableDI 2 free
Nothing is uploaded. The file is read by JavaScript in this tab and never leaves your computer — no server sees it, and closing the tab throws it away.
How to convert an XML file to Excel
- Load the XML. Paste it, choose the file, or drop it on the box. The browser parses it in this tab.
- Check which element became the rows. The repeated element with the most occurrences is used, and its path is shown above the table.
- Read the columns. Attributes and child elements are columns; nested children are dotted columns; repeated leaf values are joined with a semicolon.
- Download. .xlsx to open in Excel, CSV for anything else. Values are written as text, so references like 000417 keep their zeros.
The real question: which element is a row?
A table has rows and columns; XML has a tree. Converting one into the other means deciding which element
is "one record". In an order export that is <order>; in a product feed it is
<item>; in an e-invoice it may be the line items. The answer is almost always
the element that repeats the most, so that is what this page uses — and it prints the path it
chose, for example orders/order, so a wrong guess is visible before you download anything.
How the columns are named
- Attributes become columns without the
@:<order id="1001">gives a columnid. If a child element has the same name, the attribute keeps its@so neither overwrites the other. - A leaf element is its text:
<customer>Ada Byron</customer>is a cell, not a nested object. - Nested elements become dotted columns:
customer.country,total.currency. - An element with both attributes and text gives a
textcolumn next to the attribute columns. - Records that lack a field get an empty cell; columns are the union of every record, in the order they first appear.
What Excel's own XML import asks of you
Excel can open XML: Data → Get Data → From File → From XML, or the older XML Source pane on the Developer tab. As Microsoft's import guide explains, without a schema reference Excel infers one from the data and builds an XML map from it, and files are imported through that map. That is the right tool for a recurring feed with a published schema. For "I have one XML file and want to look at it as a table", it is a lot of machinery, and the forum threads in the results are about what happens when the inferred map and the next file disagree.
What it will not do
- Validate against a schema. It reads the document you give it; it does not check it against an XSD.
- Split one document into several sheets. One repeated element becomes one table. If the file holds two unrelated lists, the longer one wins — extract the other part and run it again.
- Fix broken XML. A document that does not parse is reported with the parser's own message, which names the line and column.
When the same feed arrives every month
If an XML export is one of the files you reconcile each period, the conversion is the first step of a job. TableDI 2 is a desktop app for file work you redo every period: it keeps your sources, rules and delivery as a job, so next month you drop in the new files and run it again. Everything runs on your own machine.
Questions people ask
How do I open an XML file in Excel as a table?
Paste or drop the file here and download the .xlsx: one row per repeated element, one column per attribute or child element. In Excel itself, Data → Get Data → From File → From XML does the import and infers a schema when the file names none.
Which element becomes the rows?
The one that repeats the most, wherever it is nested. Its path, such as orders/order, is
shown above the table. A document with no repeated element becomes a single row.
What happens to XML attributes?
Each attribute becomes a column with the attribute's name. If a child element uses the same name, the
attribute column is written as @name so the two do not collide.
Is my XML file uploaded?
No. It is parsed by your browser's own XML parser in this tab. No request carrying the document is made, and closing the tab discards it.
Can it convert Excel back to XML?
No — this page goes one way. For the other direction, Excel to JSON is available; XML output is not.
Related
Doing this every month?
In TableDI 2 you do it once, then save it as a job. Next month you drop in the new files and run it again.
macOS, Apple silicon and Intel; Windows is in progress (what to do meanwhile). Free is not a trial — no account, no card.
Last reviewed 2026-10-01 by the TableDI team. Something wrong on this page? Tell us — it is one inbox, read by the people who build TableDI.