Skip to content

XML to Excel

Open XML data as an Excel sheet, one row per repeated element. Nothing is uploaded.

On your device

Drop XML files here

Converted on your device. Files are never uploaded.

Up to 20 files at a time.

Options

XML exports from shops, finance systems and open data portals are tidy for machines and awkward for people. FormatJet turns the repeated records in your XML into rows of an XLSX sheet, with attributes and child elements as columns and a frozen header row. It runs in your browser, so the file never leaves your device.

About the formats

XMLXML file

XML stores data as nested, named elements with attributes. Feeds, office files, invoices and older web services use it.

XLSXExcel workbook

XLSX is the workbook format of Microsoft Excel since 2007: sheets of cells with formulas, formatting and charts.

Converted with Data converters (Papa Parse, yaml, fast-xml-parser), Data converters on Workers.

Questions

How does FormatJet decide what the rows are?

It looks for the elements that repeat, such as each <product> in a catalogue, and gives each of them a row. Their attributes and child elements fill the columns.

Do attribute columns start with @?

No. An attribute such as sku="A1" becomes a column called sku. Text sitting directly inside an element goes into a value column, unless that name is already taken.

Can Excel add up the numbers from my XML?

Only if you tick “Store numbers and true/false as values” in Options. It’s off by default because XML holds everything as text; with it on, plain numbers become numeric cells and true/false become booleans.

What will the sheet look like when I open it?

The first row holds bold column headings and is frozen, so it stays put while you scroll, and each column is as wide as its content needs.

What if the XML has more records than Excel allows?

The conversion is refused, since a single sheet couldn’t hold them all. Split the XML into smaller files, or use XML to CSV instead.

XML to Excel with the API

The conversion API opens later this year.

curl https://api.formatjet.com/v1/convert?to=xlsx \
  -H "Authorization: Bearer fj_test_…" \
  -F file=@input.xml -o output.xlsx