XML input

or drop a file here, or paste code below
XML input

CSV output

CSV output

Empty cells

Files never leave your browserHow?

Paste XML or open a file: the repeating element becomes the rows, its attributes and child elements become columns. Check the table, then download the CSV.

How it works

  1. Open or paste XML

    Drop an .xml or .xml.gz file such as a product feed, RSS feed or export, use Open from URL, paste the markup or load the sample.

  2. Pick the rows

    The most repeated element, for example catalog/book, is chosen automatically. Type another path like catalog/book or //item to change it.

  3. Check and download

    Look at the table preview, hide or reorder columns, choose the CSV format and press Download .CSV.

Features

  • Columns from nested XML

    Attributes become @ columns (@id), nested elements become dotted columns (author.name). Repeated children become one column per item (tags.tag[0]), one column with JSON, or values joined with ;.

  • Table preview and column chooser

    The first 1,000 rows are shown in a scrollable table. Show, hide and move columns before you export.

  • CSV for any spreadsheet

    Standard CSV (RFC 4180), Excel with a UTF-8 BOM, Excel for Germany, Spain, Portugal and France with semicolons and decimal commas, or TSV. Quoting, line endings and the header row are configurable.

  • Formula protection

    Cells that start with = + - or @ are prefixed with an apostrophe so that spreadsheets do not run them as formulas.

  • Safe XML parsing

    External entities (XXE) are never loaded and entity expansion is limited. XML errors are shown with line and column.

  • More formats

    XML → Excel opens the same document in the XLSX converter, CSV → XML converts the result back.

Limits & privacy

Files can be up to 100 MB, also after decompressing an .xml.gz file; the table preview shows the first 1,000 rows. Files above 5 MB are converted from the file without loading them into the editor.

Only one repeating level is exported at a time: nested lists inside a row become columns, not extra files. Mixed text and elements are flattened with a warning. See the privacy page.

FAQ

How do I convert XML to CSV?

Open or paste the XML. The tool picks the repeating element as rows; check the table preview and press Download .CSV.

How do I choose which element becomes a row?

Type its path in Row element, for example orders/order, or //order to take every order element at any depth. The suggestions list the repeated elements with their counts.

What happens to attributes and nested elements?

Attributes become columns starting with @, and nested elements become columns with dotted names such as address.city. Elements missing in some rows leave empty cells.

How do I open the CSV in Excel?

Choose the Excel preset so accents display correctly; in Germany, Spain, Portugal or France choose the semicolon preset with decimal commas. Or use XML → Excel to get an .xlsx file directly.

Is there a free XML to CSV converter that works offline?

This one: it runs entirely in your browser and keeps working without a connection after the page has loaded. There is no sign-up.

Is my XML uploaded?

No. Parsing and conversion happen in a Web Worker on your device.

Related tools