Convert Excel to XML Online
Convert Excel files to XML directly in your browser. Download a structured XML document with one element per row — no upload required.
About converting Excel to XML
XML is still the required input for many older business systems: ERP imports, government and banking submissions, e-commerce product feeds and integration middleware. When the source data is kept in Excel, converting the sheet to a simple XML file is often the first step, followed by an XSLT or a mapping step that reshapes it into the schema the receiving system wants.
The structure is fixed and generic. The file has a <data> root with one <row> element per spreadsheet row, and one child element per column. Element names come from the header row, with every character that is not a letter, digit or underscore replaced by an underscore. A header like "Unit Price (USD)" becomes <Unit_Price__USD_>. A header that starts with a digit, like 2026 Total, gets a leading underscore.
Every value is written as text. There are no attributes, no namespaces and no type information, so a receiving schema that expects xs:decimal or xs:date will check the text itself. Special characters such as & and < are escaped. Excel's own "Save as XML Spreadsheet 2003" format is different: it keeps formatting and is much harder to process.
Worked example
A small orders export with an ID, a customer name, a date, an amount (one missing) and a true/false flag, converted with the default settings.
Input (Excel)
Excel workbook, first sheet (Sheet1)
| order_id | customer | order_date | amount | shipped |
|---|---|---|---|---|
| 1001 | Acme Ltd | 2026-03-02 | 249.5 | true |
| 1002 | Brightside Co | 2026-03-02 | 1200 | false |
| 1003 | Acme Ltd | 2026-03-05 | 89.99 | true |
| 1004 | Northwind | 2026-03-07 | NULL | false |
Output (XML)
<?xml version="1.0" encoding="UTF-8"?>
<data>
<row>
<order_id>1001</order_id>
<customer>Acme Ltd</customer>
<order_date>2026-03-02</order_date>
<amount>249.5</amount>
<shipped>true</shipped>
</row>
<row>
<order_id>1002</order_id>
<customer>Brightside Co</customer>
<order_date>2026-03-02</order_date>
<amount>1200</amount>
<shipped>false</shipped>
</row>
<row>
<order_id>1003</order_id>
<customer>Acme Ltd</customer>
<order_date>2026-03-05</order_date>
<amount>89.99</amount>
<shipped>true</shipped>
</row>
<row>
<order_id>1004</order_id>
<customer>Northwind</customer>
<order_date>2026-03-07</order_date>
<amount></amount>
<shipped>false</shipped>
</row>
</data>What changes when you convert Excel to XML
- The document starts with an XML declaration and a single <data> root element.
- Each row of the first sheet becomes a <row> element, and each cell becomes a child named after its column header.
- Header characters outside A-Z, a-z, 0-9 and underscore become underscores in element names.
- Empty cells become empty elements. Order 1004 has <amount></amount>.
- Booleans are written as true and false. Dates are written as ISO text, so the example gives 2026-03-02 even if Excel shows 3/2/26.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Frequently Asked Questions
Can I choose the root and row element names?
Not in the converter. The root is always <data> and each record is <row>. A find and replace in a text editor, or a short XSLT, can rename them to what your system expects.
Why did my column names change in the XML?
XML element names cannot contain spaces, brackets, slashes or most punctuation, and cannot start with a digit. Those characters are replaced with underscores. Rename the headers in Excel first if you need specific element names.
Does the XML include an XSD schema?
No. The output is plain XML with text values only. Write or generate a schema separately if the receiving system requires validation.
Related Tools
Excel Viewer Online
View and inspect Excel files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Validate Excel Files Online
Validate Excel file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Deduplicate Excel Files Online
Remove duplicate rows from Excel files instantly in your browser. No upload, no server — 100% private.
Convert Excel to CSV Online
Convert Excel files to CSV format directly in your browser. No upload required — your data never leaves your device.
Convert Excel to Parquet Online
Convert Excel files to Parquet format directly in your browser. No upload required — your data never leaves your device.
Convert Excel to JSON Online
Convert Excel files to JSON format directly in your browser. No upload required — your data never leaves your device.