How to Convert XML to a Markdown Table
Turning XML data into a Markdown table for a README or documentation is fiddly by hand. This converter does it instantly. It parses your XML with a real parser, finds the repeated record elements under the root, and turns each into a table row. Child elements become columns, attributes become their own prefixed columns, and records with different fields are unioned so the table stays aligned. A separator row sets your chosen alignment, pipe characters are escaped so nothing breaks, and the output is valid GitHub-Flavored Markdown. Copy or download. Everything runs in your browser, so nothing is uploaded.
Paste your XML
Paste your document or load the sample; it's parsed locally with nothing uploaded.
Set alignment
Choose column alignment and toggle whether attributes become columns.
Copy or download
Grab the Markdown with one tap or save it as a .md file.
XML vs Markdown Tables — What's the Difference?
XML — Extensible Markup Language
A tag-based data format where records live in repeated named elements. It's great for storing structured data, but it isn't designed to be read as a formatted table inside documentation.
Markdown tables (GFM)
A lightweight pipe-and-dash syntax that renders as a neat table on GitHub, GitLab, static-site generators and note apps. Converting XML to Markdown turns those records into a table that looks right wherever Markdown is displayed.
Common Use Cases
README tables
Turn XML data into a table for your project's README in seconds.
Documentation
Drop clean tables into docs sites built with MkDocs, Docusaurus or similar.
GitHub & GitLab
Paste tables into issues, pull requests and wikis where GFM renders them.
Notes apps
Use Markdown tables in Obsidian, Notion export, Bear and other note tools.
Feed summaries
Format XML feed or catalog data as a readable table.
Changelogs
Turn XML release data into a table in your changelog.
Static sites
Generate table markup for pages authored in Markdown.
Quick formatting
A fast, no-install way to make XML data look right in Markdown.
Tips & Best Practices
Structure XML as repeated records
A root wrapping many same-named elements converts most cleanly — each becomes a row.
Choose alignment per intent
Right-align numbers for easy scanning, center short labels, and left-align text.
Decide on attributes
Keep attributes for ids and metadata as columns, or turn them off for an element-only table.
Let pipe escaping work
Values containing a pipe are escaped automatically, so you never clean them by hand.
Preview on the target
Paste into your actual README or docs to confirm alignment renders as expected.
Troubleshooting
It says the XML is invalid
XML must be well-formed: tags balanced and closed, one root element, and special characters escaped. Fix any unclosed tags and try again.
Only one row appears
The root probably doesn't contain repeated same-named elements, so the whole document is treated as one record. Wrap your records in a common parent.
A row breaks the table
A value likely contained a pipe. The tool escapes pipes automatically; if you edited the output by hand, re-escape any raw pipes.
Attributes are missing
Turn on 'Include attributes'. They appear as columns with an @ prefix so they never clash with element names.
Frequently Asked Questions
How do I convert XML to a Markdown table for free?
Paste your XML above and a GitHub-Flavored Markdown table appears instantly. Copy it or download a .md file — free, no signup.
How does it decide what a row is?
It looks for repeated same-named elements directly under the root and treats each as a row. If there's no repetition, the whole document becomes a single record.
What becomes a column?
Each record's child elements become columns, and — when enabled — attributes become their own columns with an @ prefix.
What if records have different fields?
Every field across all records becomes a column, and any record missing one gets a blank cell so the table stays aligned.
Is the output GitHub-Flavored Markdown?
Yes. It produces GFM pipe tables that render correctly on GitHub, GitLab and most Markdown engines.
Can I set column alignment?
Yes. Choose left, center or right, and the separator row is written with the matching colon markers.
Does it escape pipe characters?
Yes. Any pipe inside a value is escaped with a backslash so it doesn't break the table structure.
Are attributes included?
Yes, when 'Include attributes' is on. Turn it off for a cleaner table built only from element content.
What about deeply nested elements?
Nested child elements are flattened to their text content in a cell; flatten the XML beforehand for separate columns.
Is my data sent to a server?
No. Everything happens inside your browser, so your data never leaves your device.
Can I download the result?
Yes. Save the output as a .md file, or copy it straight to your clipboard.
What if my XML is invalid?
The tool validates your input and shows a clear message if the XML isn't well-formed.
Will it work in Obsidian or Notion?
Yes. GFM tables render in Obsidian and most note tools; Notion supports them on import.
Does it work on phones?
Yes, in any modern browser on Windows, Mac, Android or iPhone with nothing to install.
Is this converter really free?
Completely free, forever — no account, no ads and no premium wall.
100% free · No signup · Processed in your browser · Data never sent
Last updated: August 2026 · FlipMyFormat XML to Markdown Converter
Written and maintained by the FlipMyFormat team · Runs entirely in your browser