XML Input and Settings
📋
Drop an XML file here or click to browse
Or paste XML data directly into the editor below
Recursive bullet list mirroring the XML tree structure
Shown in parentheses next to element name
Paste or upload XML above, choose an output style, then click Convert.Idle

How to use the XML to Markdown Converter

Paste any valid XML into the input area or click Upload .xml to load a file from your device. Drag and drop onto the text area also works
Click Load Example to see a realistic nested XML document and explore how each output style renders it before pasting your own data
Click Prettify to auto-indent and reformat minified or messy XML before converting it. The prettified XML replaces the input text
Choose an Output Style. Nested Outline creates a recursive bullet tree, Headings and Content creates a structured document, Definition List creates compact key-value pairs, Attribute Table tabulates repeated elements, and Pretty XML Block wraps the source in a fenced code block
The Attribute Table style works best when the XML contains a list of repeated sibling elements with consistent attributes or child elements, such as a catalog or record set
Use the Heading Depth selector when using Headings and Content style to control which heading level is assigned to the root element
The Attributes selector controls how XML attributes are included in the output. Inline places them in parentheses, As Sub-list shows each attribute as its own bullet, and Hide omits them entirely
Element names are automatically humanized during conversion. Underscores, hyphens, camelCase, and namespace prefixes are all converted to readable Title Case labels
Click Convert to Markdown to run the DOMParser and recursive tree builder instantly. All processing runs in your browser with no server involvement
The XML Info tab shows root element name, total element count, maximum nesting depth, total attribute count, and output statistics after conversion
Click Copy to Clipboard to copy the full Markdown output or Download .md File to save it directly to your device
If the XML contains a parse error, the exact error message from DOMParser is shown in the status bar so you can locate and fix the invalid markup
Namespaced elements such as those used in SVG, XHTML, Atom feeds, and Maven POM files are all supported. Namespace prefixes are stripped from labels in all styles except the Pretty XML Block
All processing runs entirely in your browser. No XML or output data is ever sent to any server at any point