LaunchRanked

XML to Markdown converter

Paste XML: an RSS feed, a sitemap, an export. Repeated records become a Markdown table and the rest becomes a readable outline.

Try an example:

Longer values are cut with “…” (0 = no limit). HTML inside cells, like RSS descriptions, is reduced to its text.

Records are detected with a heuristic: two or more sibling elements with the same name whose children are mostly simple values. Runs in your browser; nothing is uploaded, and no external DTDs or entities are loaded.

Paste XML on the left or try an example. The Markdown appears here as you type.

Records become tables, the rest becomes an outline

Most XML you’d want in a document is a list of records wrapped in some metadata: a feed with posts, a sitemap with URLs, an export with rows. The converter finds those record groups and writes each one as a GitHub Flavored Markdown table. Everything else becomes a nested list with the element name in bold, attributes as @name=value and the text after a colon.

  • RSS 2.0. Channel details become an outline and each <item> becomes a row. Repeated children such as several <category> tags are joined with commas.
  • Atom. Each <entry> becomes a row. Empty elements that carry their value in an attribute, like <link href="…"/>, show the URL.
  • Sitemaps. A <urlset> becomes one table of loc, lastmod and any other fields, which is a quick way to review what you’re asking search engines to crawl.

HTML inside a cell (RSS descriptions often carry it in CDATA) is reduced to plain text, and long values are cut at the length you choose so the table stays readable. Pipes are escaped, since a pipe would otherwise start a new column.

Strict parsing, clear errors

The parser checks well-formedness as it goes: mismatched and unclosed tags, unquoted or duplicate attributes, text outside the root, a second root element. It stops at the first real error and shows the line. It never loads external DTDs or entities, so pasting untrusted XML is safe. Nothing leaves your browser.

Working with sitemaps and feeds

To build a sitemap from a list of URLs, use the XML sitemap generator; to test a live one, the sitemap checker. For other data formats there’s JSON to Markdown and CSV to Markdown. If you’re turning feed items into a roundup post, the word counter and reading time calculator help with the final draft.

Questions

How does it decide what becomes a table?

It looks for two or more sibling elements with the same name whose own children are mostly simple values, like <item> in RSS, <entry> in Atom or <url> in a sitemap. Their child element names become columns, and attributes become @name columns. It's a heuristic, so the result lists exactly which records were tabled.

Why does it say my XML isn't well-formed?

XML is strict where HTML is forgiving. Every tag must be closed in the right order, attribute values need quotes, and there can only be one root element. The error gives the line and column and says which tag was expected, so you can fix it in your editor.

What about &nbsp; and other HTML entities?

XML only defines five named entities: &amp; &lt; &gt; &quot; and &apos;. We decode common HTML ones like &nbsp; anyway and warn you, because a strict XML parser would reject the file.

Are namespaces supported?

Prefixes are kept as part of the name, so dc:creator and media:content show up as they are in the file. Namespace URIs aren't resolved; for turning a feed into a readable table that's rarely needed.

Autopilot · early access

Want this fixed automatically?

Autopilot checks your site, publishes researched articles at a safe pace, and tracks whether ChatGPT, Perplexity, Gemini and Claude cite you. $49/mo.

Related free tools

See all free tools