About XMLTable

XMLTable turns XML exports into tables you can work with: orders, invoices, product feeds, bank and ERP exports, as CSV or Excel. It’s free, there’s no sign-up, and the file never leaves your computer.

Why it exists

Before building it, we ran four online converters on the same small order export: five orders, one to three items each. Most spread the items sideways into columns like items/item/0/name. One gave a row per item but left the order fields blank after the first. Another printed [object Object]. The best of them quietly dropped a field that first appeared late in the file, and stopped at 50 MB. None gave what the file was asking for: one row per item, with the order’s ID and customer on every row. That’s what XMLTable does by default.

How it works

The converter runs in your browser, in a background thread. It reads the file twice, in pieces: once to list every field and every repeating record, once to write the rows. Reading in pieces means the file never has to fit in memory whole, which is how a 1.08 GB export with 3,000,000 rows converts in under 30 seconds in Chrome on a Mac. Reading it twice means a field that only shows up near the end still gets its column.

The XML reader and the Excel writer are our own code. Each conversion rule is checked by an automated test against hand-worked expected output, and the Excel files were opened in Microsoft Excel to confirm the cells read back correctly: zip codes such as 00123 as text, amounts as numbers.

Analytics, and no ads

There are no ads on the site. Analytics tell us which pages people use and roughly how big their files are, never what’s in them. The privacy policy has the details.

The tools

Open-source credits

Get in touch

A file that won’t convert, or a table that comes out wrong? Email [email protected]. More on the contact page.