Excel to XML

Convert Excel sheets into XML with your own element names.

Drag & drop an Excel file (.xlsx) here, or click to browse

The file is read in your browser and never uploaded.

Excel to XML Converter Online

The Excel to XML converter transforms an .xlsx worksheet into well-formed XML. Many older enterprise systems, ERP imports, and data feeds still expect XML, while the people who maintain the data prefer spreadsheets. This tool bridges the two: open the workbook, name the elements, and download an XML file that is ready to import.

Structure of the output

The converter writes one element per spreadsheet row and one child element per column:

<workbook>
<row>
<Order>A-1001</Order>
<Customer>Jane Doe</Customer>
<Qty>2</Qty>
</row>
</workbook>

The root and row names are configurable, so the same sheet can produce <orders><order>…</order></orders> or whatever schema the receiving system requires. Header cells are sanitised into valid XML names automatically.

Options

  • Sheet or All sheets – convert one worksheet, or wrap every sheet in a <sheet name="…"> element.
  • First row is a header – without a header row, generic column1, column2 element names are used.
  • Root element / Row element – choose the element names.
  • Indentation – pretty-print with spaces or tabs, or minify the XML for transport.

Data fidelity

Values come straight from the workbook: numbers are written without spreadsheet formatting, booleans become true/false, and date cells are converted to ISO dates such as 2024-03-15, which XML Schema's xs:date type accepts. Empty cells produce self-closing elements such as <Notes/>, so every row has the same shape — handy for importers that expect a fixed structure.

Checking the result

After converting, paste the XML into the XML Validator to confirm it is well-formed, explore it in the XML Viewer, or query it with the XPath Tester. If you need to reshape the elements further, the XSL Transform tool can apply a stylesheet.

Convert the same workbook to JSON or an HTML table. Starting from CSV instead? Use CSV to XML.

Frequently Asked Questions

Each header becomes a child element of the row element, so a column called “Unit price” produces <Unit_price>. Characters that are not allowed in XML names are replaced with underscores, and names that start with a digit get a leading underscore.

Yes. Type any names into the Root element and Row element fields, for example <products> and <product>. The output updates immediately.

With “All sheets” switched on, every worksheet becomes a <sheet name="…"> element inside the root, and each sheet contains its own row elements.

Yes. Ampersands, angle brackets, and quotes inside cell values are written as XML entities, so the output is always well-formed and can be parsed by any XML library.