How are XML attributes handled?
Attributes are promoted to columns prefixed with @. So <book id="1" genre="fiction"> contributes columns @id and @genre. Child element columns appear without a prefix, so an attribute named id and a child named id never collide in the table.
What if the XML has no repeated elements?
The tool looks at the root element's direct children and picks the most frequent tag name as the "row" element. If the root has only unique children, you will see a one-row-per-child table — useful but not ideal. For deeply nested XML, run it through XML to JSON first and wrap the relevant array.
Are nested child elements expanded?
Only leaf children (those with text content and no further children) are rendered as cell values. Children that themselves contain elements are shown as a [tagname] badge so the table stays scannable. Convert to JSON to flatten further.
Does it support XML namespaces?
Yes — DOMParser preserves namespaces, and the prefixed tag (e.g. ns:title) becomes the column name. If your XML uses namespaces purely for validation and you don't need them in the output, strip them with a simple regex before pasting.
Why does my XML show "parsererror"?
The browser's DOMParser is strict — unbalanced tags, illegal characters, or missing root elements all fail. Run your XML through an XML validator or formatter first to fix the issue, then re-paste.
Can I copy the table to Excel?
Yes. Click Copy as TSV and paste directly into Excel, Google Sheets, or Numbers — each cell lands in its own column. Tabs and newlines inside values are escaped to spaces so the row count stays correct.
Is the XML uploaded to your servers?
No. Parsing happens in your browser via DOMParser. You can verify in DevTools Network tab that no requests are made when you paste XML or click Load Sample.
Can I export as JSON?
Yes — the Copy as JSON button serialises the current sorted/filtered rows as a JSON array of flat objects, ideal for piping into another script or pasting into a JSON viewer.