Data format

OPML converter

An .opml file is an outline: nested <outline> elements inside a head/body document, where each node is an attribute bag rather than typed content. Its overwhelmingly common use is as the export and import format for a feed reader's subscription list.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop OPML files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where OPML comes from

Dave Winer created OPML in 2000 for his outliner software, and version 2.0 followed in 2007. The specification is deliberately vague about what an outline node means, which was intended as flexibility and in practice means the format is defined by convention per application — the subscription-list convention being the one that stuck, because it is how you move between feed readers without losing your subscriptions.

How OPML works

  • Nodes are <outline> elements whose meaning comes entirely from their attributes, not from element names.
  • The subscription-list convention uses type="rss", xmlUrl for the feed and htmlUrl for the site.
  • Nesting is arbitrary depth, which is how readers represent folders of feeds.
  • The head element carries document metadata such as title and dateCreated.
  • No schema constrains which attributes are meaningful, so two valid OPML files can be mutually unintelligible.

When to use OPML

  • Exporting subscriptions from one feed reader and importing to another
  • Backing up a reading list independently of any service
  • Sharing a curated set of feeds with someone else
  • Flattening an outline into a table for review

Strengths and limitations

Strengths

  • The one universally accepted way to move feed subscriptions between readers
  • Arbitrary nesting maps naturally onto folders and hierarchies
  • Simple enough to write by hand or generate trivially

Limitations

  • Semantics are conventional, not specified — a general OPML consumer cannot exist
  • No schema, so validation beyond well-formed XML is impossible
  • Attribute-only content makes it awkward for anything text-heavy

Compatibility

Every feed reader imports and exports OPML subscription lists, and several outliners and mind-mapping tools read it. Outside those two niches it is rarely encountered. Novus Convert parses it locally and converts to JSON and CSV, flattening the hierarchy for inspection.

Outline text and attributes, including feed URLs, are preserved. Deep hierarchy is flattened when the target is tabular.