DataShift

Convert Excel to XML Online

Export Excel data as valid XML — configurable element names, attribute support, and UTF-8 output.

Excel → XML

Free Excel to XML converter. Upload .xlsx and get well-formed XML output with configurable root and row element names. Works in your browser.

100% local — no uploads
Input · EXCEL

Output will appear here

How to use the Excel → XML

  1. Paste or upload your EXCEL data

    Paste text directly into the input box, drag and drop a file onto it, or click "Upload file" to browse. Conversion starts instantly on paste — no button click required.

  2. Configure options (optional)

    Open the Options panel to customise delimiter, headers, nested-object flattening, and more. Use the Field Selector to pick exactly which columns appear in the output.

  3. Copy or download your XML

    Click Copy to grab the result, or Download to save the file. Everything runs locally in your browser — no data ever leaves your device.

Frequently Asked Questions

Is my data safe?
Yes. Every conversion runs entirely inside your browser. No data is ever transmitted to a server. The tool works offline once loaded.
What is the maximum file size?
There is no hard limit. Files under 1 MB convert instantly. Files 1–10 MB show a progress indicator. Files over 10 MB prompt a warning and run in a background thread to keep the browser responsive.
Why does my EXCEL fail to parse?
Common causes are trailing commas, single-quoted strings, unquoted keys, or missing closing brackets. The converter auto-repairs many of these and tells you exactly what it changed.
Can I convert multiple files at once?
The tool handles one file at a time. For bulk conversion, consider the csvjson CLI or API.

How it works

Step 1

Column headers become XML element names

Each column header becomes the tag name for that cell's value. Rows are wrapped in a configurable element (default: <item>), all inside a configurable root element (default: <root>).

Example

Product catalog to XML feed

Input
sku  | name              | price
P001 | Wireless Earbuds  | 49.99
P002 | Phone Stand       | 12.99
Output
<?xml version="1.0" encoding="UTF-8"?>
<products>
  <item>
    <sku>P001</sku>
    <name>Wireless Earbuds</name>
    <price>49.99</price>
  </item>
</products>

Frequently asked questions

Can I make cell values XML attributes instead of child elements?

Not directly — all values become child elements. For attribute output, convert to JSON first, then use the JSON to XML converter which has more structural options.