Paste XML or open a file, and every repeating element becomes a row in an Excel sheet. Attributes and nested elements are flattened into clearly named columns, repeated children can be joined, numbered or moved to their own sheet, and the .xlsx file is created right in your browser.
Last updated:
Spreadsheet preview
The table preview appears here.
Your XML is parsed and the .xlsx file is built inside your browser; nothing is uploaded.
Advertisement
Advertisement
How to use the XML to Excel Converter
Paste your XML into the input box, open an .xml file or drop it onto the box. A sample catalog is loaded so you can try it right away.
Check the record element: the tool picks the repeating element automatically; choose another path from the list if you want different rows.
Choose how attributes, nested elements and repeated children become columns, and review the live table preview.
Set the sheet and file name and the header options (bold, frozen, filter buttons).
Click Download Excel (.xlsx), or download a CSV or copy the table to paste into an existing workbook.
How XML becomes rows and columns
XML is a tree, while a spreadsheet is a flat grid. The converter walks each record element and turns every value it finds into a cell. With the sample catalog the mapping looks like this:
XML inside <product>
Column name
Cell value
id="P-100" (attribute)
id or @id
P-100
<name>Trail Running Shoe</name>
name
Trail Running Shoe
<price currency="USD">89.99</price>
price, price.currency
89.99 (number), USD
<supplier><name>Peak Gear</name>…
supplier.name
Peak Gear
<tags><tag>running</tag><tag>outdoor</tag>…
tags.tag
running; outdoor
Two <review> elements
review.author, review.rating…
Joined, numbered, or a separate "review" sheet
Choosing the repeated-element mode
Join in one cell keeps one row per record and is best for short lists such as tags or categories.
Numbered columns (tag[1], tag[2]…) keep every value in its own cell, which helps when the list has a fixed meaning, such as phone[1] and phone[2].
Separate sheet creates a child table (for example all reviews) with a column pointing back to the parent row and ID. Use it for one-to-many data you want to filter or pivot, like order lines.
Tips for clean spreadsheets
Pick the right level. If your rows look too wide or too few, choose a deeper record path from the list (for example orders/order/line instead of orders/order).
Namespaces are kept in column names (for example g:price in shopping feeds); namespace declarations themselves are skipped.
Keep IDs as text. Values with leading zeros are never converted to numbers, and you can turn off "Numbers as numbers" to keep every value exactly as text.
Need JSON or CSV instead? The same flattening rules are used by the XML to CSV and XML to JSON tools on this site.
Frequently asked questions
How do I convert an XML file to Excel?
Open or paste the XML here, confirm the element that repeats once per record (for example product or item), adjust the column options and click Download Excel (.xlsx). Each record becomes a row and each attribute or child element becomes a column.
What is the record element?
It is the XML element that represents one row of data, such as each <product> inside <catalog>. The converter counts element paths and picks the most likely repeating one, but you can select any other path from the list, for example a deeper element such as order/line.
How are nested and repeated elements handled?
Single nested elements are flattened into columns with a path name, so <supplier><name> becomes supplier.name. Elements that repeat inside one record can be joined into one cell separated by semicolons, spread over numbered columns like tag[1] and tag[2], or moved to a separate sheet that links back to the parent row.
Will my numbers, IDs and dates stay correct?
Plain numbers such as 24.50 or 130 are stored as numeric cells so you can sum and sort them. Values with leading zeros, more than 15 digits, currency symbols or other characters remain text, so ZIP codes and long IDs are not changed. Dates are kept exactly as written in the XML.
Can Excel open XML directly?
Desktop Excel can import some XML through Data > Get Data or the XML Source pane, but it often struggles with attributes and deeply nested data and is not available in every version. Converting to .xlsx first gives you a plain table that opens anywhere.
Is my XML uploaded to a server?
No. The XML is parsed by your browser's built-in parser and the spreadsheet file is assembled locally in the page, so your data never leaves your device.
Are there size limits?
Excel allows up to 1,048,576 rows and 16,384 columns per sheet and 32,767 characters per cell. In practice the limit here is your browser's memory; files of tens of megabytes usually convert fine on a desktop computer.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.