What Is OPML?

OPML is an XML format for specifying hierarchies of text data. Wikipedia has a good description of it:

OPML (Outline Processor Markup Language) is an XML format for outlines (often blogrolls). Originally developed by Radio UserLand as a native file format for an outliner application, it has since been adopted for other uses, the most common being to exchange lists of web feeds between web feed aggregators.

OPML is often used to put together a 'directory'-type listing of items (anything, really) by category. The fact that it's stored as OPML rather than as a proprietary format means that any OPML-aware software (like this site!) can process it.

Here's a list of our own OPML links, maintained in OPML Links an OPML file. This is what it looks like displayed in our OPML viewer.

The OPML icon: OPML was put together by the OPML Icon Project. When you see it on this site, you should be able to click on it to download the appropriate raw OPML file.


Here are some examples of the OPML format:

Real World Use

Here are some practical uses of OPML:

  • As an export format for Twitter user lists. TwitOPML is a specialised format built on OPML. You can use tools like Twitter Grader's TwitOPML tool to export search results into a TwitOPML file.
  • As a calendar for a user's Tweets. Dave Winer has an archive of some users' tweets in OPML format. For example, here is his archive of '@neilhimself's tweets. Unfortunately, some of the generated OPML uses undeclared namespaces which can make them unparseable, so the viewer on this site won't always work with his output.
  • As a distributed directory. links within OPML files can point to other OPML files on different servers maintained by different people, so an entire annotated directory of information can be spread across the internet with control over content delegated to those people in charge of a particular included file. For example, here's Dave Winer's directory node for OPML (shared, of course, via OPML).