Convert XML to CSV or Excel — without losing your data

Upload an XML file, pick the repeating element that should become your rows, and download a clean table. Attributes are kept as columns, large files are fine, and a broken file gets a clear error with the exact line and column — never a silent blank page.

Click to choose XML files — or drop them here. Paid plans can convert batches at once.

How it works

1. Upload your XML

Drop a file or paste XML. We read the encoding from the file itself — UTF-8, UTF-16, ISO-8859-1 and windows-125x all work — and detect the repeating elements that look like records.

2. Pick rows and columns

Choose which element becomes a row. Nested elements flatten into dotted columns, attributes become name@attr columns, and you can drop or rename any column before exporting.

3. Preview, then download

Check the first 100 rows in a real table preview with the full row count, then download CSV or Excel. Paid plans save the whole setup as a mapping template for next time.

Why people switch to XmlToCsv

Problem with typical free toolsWhat XmlToCsv does
Attributes silently dropped, so product feeds lose SKUs, prices and IDs that live in attributesEvery attribute becomes its own column by default (you can turn this off)
Invalid XML fails silently — empty result, no message, no idea what went wrongA clear error naming the problem with its line and column, so you can fix that exact spot
Browser-only tools choke on large files or cap input around 1 MBServer-side streaming conversion: files up to 100 MB on Pro, without loading the document into memory
Results shown as a raw text blob you cannot inspectA real table preview of the first 100 rows plus the total row and column counts
The same settings re-entered by hand every monthMapping templates on paid plans: row element, column choices and renames saved and reused in one click

Frequently asked questions

Which element becomes a row?

You choose. We scan the file and list the repeating elements that look like records — products in a feed, articles in an export, entries in a dataset — with their counts. Pick one, or type any element path yourself, such as catalog/product.

What happens to XML attributes?

They are kept. An attribute becomes a column named after its element and the attribute, for example product@sku. Many converters drop attributes entirely; that is how SKUs and prices disappear from converted feeds. You can switch attribute columns off if you prefer.

What happens to repeated values inside one record?

By default they are joined with “; ” in a single cell, so one record stays one row. Turn on the pivot option to expand them into separate rows instead.

How large a file can I convert?

Free converts files up to 2 MB and 5,000 exported rows. Starter goes to 25 MB with no row limit, Pro to 100 MB. Conversion streams on the server, so big files do not depend on your browser or device memory.

My XML has an error. What will I see?

The exact parser message with the line and column where the problem is, for example a mismatched closing tag at line 41, column 12. The failed file is not converted and does not use one of your monthly conversions.

What happens to my files?

Files are stored only so you can download your results, and are deleted automatically after 72 hours. Results can be emailed to you when a conversion finishes. See the privacy policy for the full details.