Turn a repeating XML file into an Excel sheet with one row per record
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.An XML export is usually one element repeated, and that repetition is the sheet: each repeated element becomes a row, its children become columns, and attributes become columns marked with an at sign. The .xlsx is written in your browser with real numbers and dates where the text is clearly one, while codes with a leading zero stay text. Anything outside the repeating part is named under the result rather than dropped without a word.
The page opens with XML to Excel chosen.
Paste the XML, or press Open file to load a file up to 4 MB.
Check the table preview: the repeated element is the rows; pick One row if the file is a single record.
Press Download Excel to save the .xlsx, with a bold, frozen header row.
This converter moves structured data between JSON, YAML, XML, CSV, TSV, TOML and INI in every direction that makes sense: forty of the forty-two possible pairs. Paste the data or open the file and it works out which format it is from the content itself, not from the name on the end of it, then offers the conversion people usually want next. If the guess is wrong, one tap fixes it.
The difficult part is not parsing. It is being honest about shape. CSV and TSV are rows of columns; JSON, YAML, TOML and XML are values inside values; INI is one flat level of named sections. Moving between those shapes always decides something on your behalf, so every conversion prints one line saying what it decided: which list became the rows, which nested objects became dotted columns such as address.city, which keys were left out and why. A list inside a cell becomes JSON text rather than disappearing.
Excel is a way in and a way out rather than an eighth format. Open an .xlsx and one sheet is read in your browser and shown as CSV, so you can see exactly what will be converted; choose Excel in the To row and the result is saved as an .xlsx with typed cells, a bold header row and fitted column widths. XML to Excel is the common case: the repeating element becomes the rows, exactly as it does for CSV.
The rest of the article, and all 8 questions about Data Converter, are on the Data Converter page.
JSON, YAML, XML, CSV, TSV, TOML and INI, in forty of the forty-two possible directions. The two it refuses are CSV to INI and TSV to INI, because INI holds named sections and spreadsheet rows have no names, so every row would need an invented heading such as [row_1].
A spreadsheet needs rows, so the converter looks for the list that is the table. A JSON array of objects becomes one row per object. If the array sits inside an object, that array is used and the other top-level keys are named so you can see exactly what is not in the sheet. Nested objects become dotted columns such as address.city.
An attribute becomes a key with an at sign in front of it, so id="7" becomes "@id": 7. Text sitting beside child elements is kept under a #text key. A tag that appears more than once becomes a list; a tag that appears once stays a single value, because the document never said it was a list of one.
Yes. Choose Excel in the To row and press Download Excel: the table is saved as an .xlsx with a bold header row, real numbers and dates, and codes like 007 kept as text. To go the other way, open an .xlsx of up to 10 MB; one sheet is read in your browser and shown as CSV, ready to become XML or JSON. Formulas come across as their saved results.
Still stuck? Ask about Data Converter and anybody who knows can answer. No account needed.
Same job, other tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON.
On the related tools: Convert Any File – Photos, documents, spreadsheets, archives: drop it and see what is possible.
In the collections JSON Tools · Developer Converters.