OPML to Markdown/CSV Converter

Convert OPML RSS subscription lists to Markdown (nested), CSV (flat), or JSON. Exported from Feedly, Inoreader, NetNewsWire, legacy Google Reader.

1.0.0
Version
Auth
Batch

About OPML to Markdown/CSV Converter

Every RSS reader — Feedly, Inoreader, NetNewsWire, The Old Reader, NewsBlur, Miniflux — exports your subscriptions as an OPML file (Outline Processor Markup Language). The format works for migrating between readers but it's barely human- readable: nested XML <outline> elements with xmlUrl and htmlUrl attributes that nothing outside an RSS reader knows how to display. So if you want to share your feed list as a gist, audit which feeds you actually read, build a "what I'm reading" page for your blog, or just open an OPML someone sent you, the format gets in the way.

This OPML converter produces three useful outputs in one pass. Markdown turns the file into a nested bullet list — top-level categories as headings, * [Feed Title](site URL) — feed URL entries underneath — so the folder hierarchy from your reader survives and the result drops straight into a blog post, a gist, a Notion page or a README. CSV flattens everything into a spreadsheet (title, category path, type, feed URL, site URL) — good for sorting, deduplicating or auditing how many feeds you have per category. JSON mirrors the OPML structure for scripted use. The OPML header (title, owner, date) is preserved and the per-category feed count is computed. Works with exports from Feedly, Inoreader, NetNewsWire, The Old Reader, NewsBlur, Miniflux and any other reader that follows the OPML 2.0 spec.

Use it to publish a "Blogs I read" page from your Feedly export, audit feeds before importing into a new reader, share a curated list as a gist, pull subscriptions into a spreadsheet to dedupe before consolidation, or just open an OPML someone forwarded without spinning up Feedly. Files up to 10 MB.

OPML to Markdown/CSV Converter Use Cases

  • Publishing a 'Blogs I read' Markdown page from a Feedly or Inoreader export
  • Migrating between RSS readers and auditing feeds before importing into the new one
  • Sharing a curated feed list as a gist, Notion page or README in a static site
  • Deduplicating subscriptions across personal and work Feedly accounts via CSV
  • Building a feed-link section for a blog's About page in nested Markdown
  • Sanity-checking an OPML someone forwarded before importing into your reader
  • Long-time RSS users who switched readers and want one canonical Markdown of their list

OPML to Markdown/CSV Converter Features

  • Three outputs in one pass — nested Markdown bullets, flat CSV spreadsheet, structured JSON
  • Markdown output preserves the folder hierarchy from your reader and adds clickable links to site and feed URLs
  • CSV columns — Title, Category path, Type (rss/atom), Feed URL, Site URL — for sorting, dedup, audit
  • OPML header preserved — title, owner name, owner email, date created — so you don't lose export context
  • Per-category feed count computed and surfaced so you can see at a glance how skewed your reading is
  • Compatible with OPML 2.0 exports from Feedly, Inoreader, NetNewsWire, The Old Reader, NewsBlur, Miniflux
  • Files up to 10 MB processed in a stateless serverless function and discarded immediately after the response

How to Use OPML to Markdown/CSV Converter

Export OPML from your reader

Feedly: Settings → OPML → Download. Inoreader: Settings → Preferences → Export to OPML. NetNewsWire: File → Import and Export → Export Subscriptions. The Old Reader, NewsBlur and Miniflux all have similar Settings → Export options. The file usually ends in .opml or .xml.

Upload to the converter

Drag-and-drop or click to select the .opml or .xml file (up to 10 MB). The parser handles OPML 1.0 and 2.0 — the version most readers export — and is tolerant of occasional schema differences between reader vendors.

Click Parse

The result panel shows OPML title, owner, date, total feed count, category count and the top categories by feed count. Confirm the totals match what you expected from your reader's reported subscription count.

Pick an output format

Markdown for a readable nested list ready to paste into a blog post, gist or README. CSV for spreadsheet audit and dedup workflows. JSON for scripted import or downstream RSS analytics. All three come out in one parse — pick whichever you need.

Download and use

Markdown opens directly in any editor or Markdown viewer and renders to HTML with one tool. CSV opens in Excel, Sheets or LibreOffice with a UTF-8 BOM so non-ASCII feed titles render correctly. JSON is ready for json.load in Python or fetch() in JavaScript.

OPML to Markdown/CSV Converter FAQ

No. The file is uploaded to a stateless serverless function, parsed, and discarded immediately after the response. Nothing is logged to durable storage. Reading lists can reveal personal interests and political leanings; if that's a concern, run xmltodict + a 10-line Python script locally instead.

Anything that exports standards-compliant OPML — Feedly, Inoreader, NetNewsWire, The Old Reader, NewsBlur, Miniflux, FreshRSS, Tiny Tiny RSS, Reeder, Fluent Reader, Vienna, RSSOwl, plus archived exports from Google Reader. The OPML 2.0 spec is implemented by all major readers, so edge-case compatibility issues are rare.

Yes. Top-level categories become Markdown headings (## Tech, ## News, ## Personal), nested categories become sub-headings (### Programming), and individual feeds become bullet items with their title linked to the site URL and the feed URL noted alongside. The hierarchy matches whatever folder structure you maintained in your reader.

Five columns — Title (feed name), Category (the full folder path like 'Tech > Programming'), Type (rss or atom), Feed URL, Site URL. One row per feed, flattened so the categorisation lives in the Category column. Good for sorting by category to dedupe, filtering by type to audit Atom vs RSS, or pivoting by category in Excel.

Not currently — this is a one-way converter. The reverse (Markdown bullets → OPML) requires a deterministic parser of the bullet syntax, which is brittle. For moving feeds between readers, the standard path is Reader A → OPML → Reader B; this tool helps when you want to share or audit the list along the way rather than for the migration itself.

10 MB. This comfortably covers thousands of feeds (a well-organised power-user list is usually 200–1000 feeds at a few KB each). Even an aggressive 10-year RSS hoarder's export will fit. For very large institutional OPMLs, scripted opml-parser or feedparser locally is the right approach.

Functionally similar — both walk the XML and emit structured output. The difference is the three-formats-in-one-pass workflow, the OPML header preservation, and the per-category feed count. Scripts give you more control if you want custom column layouts. This tool is the right answer when the job is 'convert this one file, now' and you don't want to write a one-off Python script.

Upload your .opml subscription file

Exported from Feedly, Inoreader, NetNewsWire • Max 10MB

Requires login • 1 credit

OPML to Markdown/CSV Converter Tutorial

What is OPML?

OPML (Outline Processor Markup Language) is the standard export format for RSS readers. When you export your subscriptions from Feedly, Inoreader, NetNewsWire, or any reader that follows the spec, you get an .opml file.

Why Convert?

  • Read it: OPML is XML, not human-friendly. Markdown turns it into a readable bullet list.
  • Bulk-process it: CSV lets you sort, filter, and analyze your feeds in a spreadsheet.
  • Share it: A Markdown feed list is perfect for a blog post or gist.
  • Migrate from a dead reader: Legacy OPML from Google Reader, Bloglines, etc. can be salvaged.

Output Formats

  • Markdown — Nested bullet list preserving folder hierarchy. Each feed links to the site and shows the feed URL.
  • CSV — Flat spreadsheet with columns: Title, Category, Type, Feed URL, Site URL. Opens cleanly in Excel (UTF-8 BOM included).
  • JSON — Full structured data including the outline tree, for programmatic use.

Where to Export OPML

  • Feedly: Profile → Preferences → OPML Export
  • Inoreader: Settings → Folders and tags → Export OPML
  • NetNewsWire: File → Export Subscriptions
  • The Old Reader: Settings → Import/Export OPML