XML to CSV Converter
Convert XML to CSV or TSV: the repeating record element is detected, attributes and nested elements become columns with dot paths. Runs in your browser.
Records: every <book> at catalog/book (the repeated element with attributes or children closest to the root). Type a path to choose another, e.g. catalog/book/tag.
| @id | @lang | author | title | price | price.@currency | tag |
|---|---|---|---|---|---|---|
| bk101 | en | Gambardella, Matthew | XML Developer's Guide | 44.95 | USD | xml | programming |
| bk102 | Ralls, Kim | Midnight Rain | 5.95 | EUR |
XML exports from shops, banks, feeds and old systems are hard to read and impossible to sort until they are in a spreadsheet. Paste the XML and get CSV (or TSV) with one row per record: the converter finds the repeating record element — every <book>, <item> or <order> — and turns its attributes and child elements into columns, using dot paths such as price.@currency or ship.city for nested data. Values are decoded and quoted correctly, so commas, quotes and line breaks survive the trip into Excel.
How to use this tool
- Paste the XML (it is checked for well-formedness first).
- Leave the record element empty to detect it, or type a name or path such as item or channel/item.
- Choose the delimiter: comma, semicolon or tab.
- Pick how attributes are named and what happens to repeated child elements.
- Copy the CSV, or check the preview table first.
Formula
record element → row · attribute → @name column · child element → column · nested child → parent.child column
Columns appear in the order they are first met and a record without a value gets an empty cell. Repeated child elements are joined in one cell with the separator, or spread over numbered columns (tag.1, tag.2). Fields containing the delimiter, a quote or a line break are wrapped in double quotes and inner quotes are doubled, as RFC 4180 specifies; lines end with CRLF by default.
Example
In the sample catalog, <book> repeats, giving 2 records and 7 columns: @id, @lang, author, title, price, price.@currency and tag. The first row is bk101,en,"Gambardella, Matthew",XML Developer's Guide,44.95,USD,xml | programming — the author is quoted because it contains a comma and both tags share one cell. The second book has no lang and no tags, so those cells are empty.
Frequently asked questions
How is the record element chosen?
Among elements that repeat under the same parent, those with attributes or child elements win over plain repeated values (a book's <tag>s); of those, the one closest to the root wins, then the most frequent. If that is not what you want, type the element name or a path from the root.
Why does Excel show everything in one column?
Excel in many European locales expects semicolons. Choose the semicolon delimiter, or use Data → From Text/CSV and pick the comma.
What about namespaces?
With "Strip namespace prefixes" on, soap:Body and atom:entry become Body and entry, and xmlns attributes are dropped. Turn it off to keep the prefixes in the column names.
Is my XML uploaded?
No. Conversion happens in your browser.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/xml-to-csv-tool/
Cite or embed this tool
kakaoCalc. (2026, November 8). XML to CSV Converter. https://kakao.mobile/tools/xml-to-csv-tool/
“XML to CSV Converter.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/xml-to-csv-tool/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms