Developer tools · free · no signup

XML to CSV Converter

Convert XML files or markup into formatted CSV or Excel tables with deep nested element flattening. Your work stays on this device whenever possible.

Free to useNo accountClear results
Preparing tool…
Simple, transparent workflow

How to use XML to CSV Converter

  1. Load XML with "Select XML File (or drop below)" (.xml, .rss, .atom, .svg, .gpx or .kml) or paste into "Paste or Edit XML Content"; a three-book catalog is preloaded and converted on arrival, and "Load Sample XML" restores it.
  2. Check "Repeating Record Tag": leave "Auto-detect from XML" or choose a tag from the list, where each tag is shown with its record count.
  3. Set the "Delimiter" (Comma, Semicolon, Tab or Pipe) and the "Nested Header Separator" (Dot, Underscore or Slash).
  4. Toggle "Include Column Header Row", "Extract XML Attributes (@id)" and "Add UTF-8 BOM for Excel".
  5. Press "Convert to CSV", scan the "Spreadsheet Table Preview" (first 50 rows), then use "Download .CSV", "Download .TSV" or "Copy CSV to Clipboard".

Worked example

Use the preloaded catalog, which auto-selects the book tag. The preview reports 3 rows, 9 columns. Headers run @id, @currency, author, title, genre, price, publish_date, details.format, details.in_stock. Row one is bk101, USD, "Gambardella, Matthew" (quoted because of the comma), XML Developer's Guide, Computer, 44.95, 2026-10-01, Paperback, true. Unticking attributes removes the first two columns.

When to use this tool

  • Opening an RSS export in a spreadsheet to review all item titles and dates.
  • Turning a GPX or KML point list into rows for analysis.
  • Flattening a vendor product feed into a table for a bulk import.

Important limitations

Processes XML hierarchies client-side using native browser DOMParser. Deeply recursive self-referential XML schemas with heterogeneous records may produce sparse table columns for unrepresented sibling properties.

Comparing alternatives

Other options for xml to csv converter include ConvertCSV, CodeBeautify, FreeFormatter, Aspose.

ToolkitPoint is not affiliated with those services.

Frequently asked questions

How does auto-detect choose the record tag?

It counts every element name and takes the most frequent, with the first one seen winning ties. In feeds where a nested tag repeats more often than the item itself, for example several category tags per item, it can choose wrongly, so pick the tag manually.

How are nested and repeated elements flattened?

Child paths are joined with the nested separator, giving headers such as details.format. Repeated leaf tags inside one record are merged into a single cell separated by comma and space, and attributes become @name columns.

What about malformed XML?

A bare ampersand triggers a one-time repair that rewrites it as an entity and retries. Other faults, such as an unclosed tag, stop with a parse error quoting the first 100 characters of the parser's message.

Does the TSV download match the CSV settings?

Not fully. It rebuilds the table with tabs, replaces any tab or line break inside a value by a space, and ignores the delimiter choice and BOM setting. The CSV download and copy button use your delimiter and BOM.

Are namespaced tags handled?

Tags are matched by their qualified name, so use the full prefix, such as dc:creator, when choosing a record tag. Header names keep the prefix as written in the source.