XML to HTML Table Converter
This XML to HTML converter treats the root element as a container and turns the repeated elements inside it into rows of a real HTML table, with a column for each child element. Attributes are kept rather than discarded — each becomes its own column prefixed with @_ — and deeply nested elements are expanded into dot and index columns so no value is lost. Everything is escaped on the way out, so a value containing angle brackets is displayed rather than being read as markup. Choose a bare table to paste into an existing page, or a complete HTML document you can save and open directly.
How it works
The root element is treated as the container and the repeated elements inside it become rows of an HTML table, with a column per child element. Attributes are kept as columns prefixed with @_.
Everything is escaped on the way out, so a value containing angle brackets is displayed rather than being read as markup.
The conversion runs entirely in your browser — nothing you paste or upload is sent to a server.
From document to table
XML is a tree and a table is flat, so the conversion has to decide what a row is. The root element is a container rather than data, so the repeated elements directly inside it are the records.
Attributes are data too
An id written as an attribute is as much part of a record as one written as a child element. Both are
kept, with attributes prefixed @_ so a name collision between the two is still distinguishable.
Escaping
Values are unescaped from the source and re-escaped for the output. That round trip is what stops a value
containing & or < from breaking the table you paste it into.
Frequently asked questions
How do I convert XML to an HTML table?
Paste your XML into the left panel or upload a file. The table markup appears on the right.
How does it decide what becomes a row?
The root element is the container, and the repeated elements directly inside it become the rows — so book elements inside a catalog give one row per book.
Are attributes included?
Yes, each as its own column prefixed with @_ so it stays distinct from a child element of the same name.
What about nested elements?
They are expanded into dot-separated columns, and repeated nested elements into indexed columns, so nothing is dropped.
Can I get a complete web page?
Yes. Tick the complete document option for a full HTML file with a doctype and default styling.
Is my XML uploaded?
No. Files are read and converted in your browser.
Related tools
XML to CSV Converter
This XML to CSV converter turns repeated elements into spreadsheet rows, attributes included.
JSON to HTML Table Converter
This JSON to HTML converter builds a real table from an array of objects.
HTML Table to XML Converter
This HTML to XML converter turns table rows into elements with a child per column.