What it does
This tool converts the repeated records of an XML document into TSV (tab-separated values). Each record becomes a line, its child elements and attributes become columns, and nested elements are flattened into dotted names. Copy the result and paste it into any spreadsheet.
How to use
- Paste XML into the Input box, upload an
.xmlfile, or click Sample. - The TSV appears on the right as you type.
- Turn Include header row off if you only want the values.
- Copy the result, or download it as a
.tsvfile.
Example
<users>
<user id="1"><name>Alice</name><address><city>Shanghai</city></address></user>
<user id="2"><name>Bob</name><address><city>Beijing, China</city></address></user>
</users>
becomes (tabs shown as →)
name→address.city→id
Alice→Shanghai→1
Bob→Beijing, China→2
Notes
Values that contain tabs, line breaks or double quotes are wrapped in quotes. Values are kept as text, exactly as written in the XML.
FAQ
› Which elements become rows?
The repeated child elements of the root, for example every <user> inside <users>. If the root has a single child element, that element becomes the only row.
› What happens to attributes and nested elements?
Attributes become columns named after the attribute (id="1" → id). Nested elements become dotted columns such as address.city. Repeated simple values are joined with "; ".
› Why is a column named @id instead of id?
When an attribute and a child element have the same name, the attribute keeps its @ prefix so the two columns stay apart.
› Why choose TSV?
TSV pastes directly into Excel or Google Sheets with one value per cell, and commas in the data need no quoting.