XML to CSV Converter
Flatten an XML file into a table you can sort, filter and import. Each repeating record becomes a row and each field inside it becomes a column, ready for a spreadsheet, a database load or a mail merge.
Data Converter
or drop CSV, TSV, TXT … files here ·
Max 95 MB per file· Up to 20 files· Deleted after 30 minutes
Files are processed on our servers and deleted after 30 minutes.
Character that separates columns in CSV and text files, for both reading and writing. Auto detects it from the input and writes commas.
UTF-8 works for every language. Choose UTF-8 with BOM if Excel on Windows shows garbled accents or Asian characters when opening the CSV.
Excel, ODS and Numbers input: convert the first sheet only, or every sheet (one CSV per sheet in a ZIP, or one JSON key per sheet).
Name of the sheet tab in the new spreadsheet, up to 31 characters.
Array of objects uses column names as keys for every row; array of arrays is more compact and keeps the header as the first array.
Name of the outer element that wraps all rows; each row becomes a <row> inside it.
Used in CREATE TABLE and INSERT statements. Letters, digits and underscores only.
Quoting and column types differ slightly between databases; pick the one you will import into.
Rewrite date cells in one format. ISO (2026-10-18) is safest for databases and code; keep leaves them as they appear in the source.
How to use this tool
- 1
Upload the XML file
Add a product feed, an order export, a sitemap or any XML with repeating records. Up to 20 files per batch, 95 MB each.
- 2
Check delimiter and encoding
The output uses commas and UTF-8. Under Advanced settings, switch Delimiter to Semicolon for European Excel, or Text encoding to UTF-8 with BOM if accented names look garbled in Excel.
- 3
Convert and open
Press Convert to CSV and download. Open the file in a spreadsheet, or load it into the tool that asked for CSV.
XML to CSV takes the records that repeat inside an XML file and lays them out as rows, with one column per tag, so a feed built for machines becomes a table people can work with.
Who needs to convert XML to CSV
XML has been a W3C Recommendation since February 1998, and a lot of business data still travels in it: shopping feeds for comparison sites, UBL e-invoices, RSS and Atom feeds, XML sitemaps, bank statements in ISO 20022 and the exports of older CRM and inventory systems. The format is excellent for software that validates a schema. It is awkward for a person who just wants to see the records.
That person is usually a marketer checking a product feed for missing prices, an accountant reconciling invoice lines, or an analyst who has to load an export into a tool that only takes CSV. Converting gives them a grid in seconds, without writing an XSLT stylesheet or a script. If the XML came from a web API and the next step is code rather than a spreadsheet, JSON to CSV covers the more common API format the same way.
XML to CSV example: a product feed
<products>
<product id="1042">
<name>Desk lamp</name>
<price>39.00</price>
<sku>00731</sku>
</product>
<product id="1043">
<name>Monitor arm, black</name>
<price>89.50</price>
<sku>00732</sku>
</product>
</products>id,name,price,sku 1042,Desk lamp,39.00,00731 1043,"Monitor arm, black",89.50,00732
How the XML to CSV converter maps tags to columns
Records become rows
The repeating element under the root, here <product>, defines the row. Two products, two data rows.
Tags and attributes become columns
The id attribute and the name, price and sku children each get a column, named in the header row.
Values are quoted only when needed
The name with a comma is wrapped in double quotes so the comma stays inside the value, as RFC 4180 describes.
- per XML file
- 95 MB
- files per batch
- 20
- delimiter choices
- 6
- until files are deleted
- 30 min
XML and CSV at a glance
XML
Extensible Markup Language
XML is a markup language for structured data published by the W3C in 1998. It uses nested tags with attributes and supports schemas, namespaces and validation, which makes it robust for complex documents. It underlies RSS feeds, SVG, Office documents, sitemaps and many enterprise and government data exchanges. XML is verbose compared with JSON, but every programming language and many spreadsheet tools can read it.
- Compression
- –
- Transparency
- –
- Animation
- –
- Introduced
- 1998 · W3C
CSV
Comma-separated values
CSV is a plain-text format for tables in which each line is a row and commas separate the columns. It has been used since the early days of computing and is described in RFC 4180, though many variants use semicolons or tabs and different text encodings. Nearly every spreadsheet, database and analytics tool can import and export it, which makes it the default format for moving data between systems. CSV stores only values, with no formulas, formatting, multiple sheets or data types.
- Compression
- –
- Transparency
- –
- Animation
- –
- Introduced
- –
People turn XML into CSV when a feed or system export has to land in a spreadsheet, a mailing tool or a database that reads plain rows, not nested tags.
Convert XML to CSV: common questions
How does the converter decide what a row is?
It looks for the element that repeats under the root, such as every <product> in a feed or every <url> in a sitemap, and writes one row per occurrence. Child elements and attributes of that record become the columns, and the first row holds their names.
What is lost when XML becomes CSV?
Everything that is not a value in a record: comments, processing instructions, namespace prefixes and the nesting itself. CSV is one flat grid, so a hierarchy several levels deep ends up spread across columns. If you need to keep the tree, XML to JSON preserves nesting.
My XML has several record types. What then?
A file that mixes, say, customers and orders under one root has two tables in it. CSV holds one table per file, so split the XML into one file per record type first, or convert to XLSX, where each type can be reviewed on its own.
Why did my product codes lose their leading zeros?
The CSV still contains 00731; Excel drops the zeros when it guesses the column is numeric on open. Import the CSV through Excel's Data tab and set that column to Text, or convert straight to a workbook with XML to Excel, which avoids the guessing step.
Can I convert an XML sitemap to a list of URLs?
Yes. A sitemap repeats <url> elements, so each page becomes a row with loc, lastmod and any other tags it carries as columns. That gives you a sortable list for an SEO audit or a redirect plan.
Does the CSV follow a standard?
It follows RFC 4180, published in 2005: one record per line, fields separated by commas, and any value containing a comma, quote or line break wrapped in double quotes. Turn on Quote every value if an importer insists on quotes around every field.
- XML to Excel ConverterOpen XML invoices, bank statements, product feeds and system exports as an Excel XLSX table. No XML map or Developer tab needed; works for Mac users too.
- XML to JSON ConverterConvert XML to readable JSON: attributes become @ keys, repeated tags become arrays, text stays intact. For SOAP responses, feeds and legacy exports.
- CSV to XML ConverterConvert CSV rows to well-formed XML with your own root tag. Special characters escaped, delimiter detected, UTF-8 output. Up to 20 files at once.
- Convert JSON to CSVConvert JSON or JSON Lines to CSV: one row per object, nested fields flattened into columns, UTF-8 with BOM so Excel shows accents correctly. 20 files at once.
- HTML to CSV ConverterConvert tables in a saved web page to CSV for Excel or Google Sheets. Clean rows without links, styles or hidden formatting. HTML and HTM files.
- Excel to XML ConverterConvert an Excel sheet to XML without XML maps or the Developer tab. Each row becomes a record, each header a tag. XLSX, XLS and ODS input.