What Is OPML?
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.
The OPML icon: 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:
- Playlist: Raw OPML, OPML made readable in our OPML Viewer.
- Specification: Raw OPML, OPML made readable in our OPML Viewer.
- Presentation: Raw OPML, OPML made readable in our OPML Viewer.
- Directory: Raw OPML, OPML made readable in our OPML Viewer.
- XML Feed List (e.g. blogroll): Raw OPML, OPML made readable in our OPML Viewer.
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).