UltKit

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

Output

Files are processed on our servers and deleted after 30 minutes.

How to use this tool

  1. 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. 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. 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

Input: two records from an XML 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>
Output: the same records as CSV
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

  1. Records become rows

    The repeating element under the root, here <product>, defines the row. Two products, two data rows.

  2. Tags and attributes become columns

    The id attribute and the name, price and sku children each get a column, named in the header row.

  3. 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
XML converter

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
–
CSV converter

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.