
© Oselote / Shutterstock.com
Outline Processor Markup Language (OPML) files provide a format for storing outlines in XML.
This article comprehensively explains what OPML files are, their development, related software, and how you can use them to organize data more efficiently.
OPML Files: Explained
OPML stands for Outline Processor Markup Language, an XML format for outlines that has become the standard for interop between outliners and RSS readers.
Outlines, also known as hierarchical outlines, are lists with hierarchical relationships that are arranged in a tree structure. OPML provides a text-based format to store and exchange these outlines.
Dave Weiner designed the OPML language in 2000 and marketed it as part of the RadioLand package of blogging-related software products. Its interoperability has made it a widely adopted file format for the exchange of RSS subscription lists by web feed aggregators.
Proprietary outliners that use OPML can interop with UserLand products and exchange data easily. It remains popular because the OPML specification is relatively open and can accommodate many types of list data.
OPML is notable for its use of XML elements for its structure. The Extensible Markup Language (XML) is a general markup language that performs identical functions to OPML—storing, transmitting, and reconstructing data. XML is comprised of a set of rules that developers use to encode textual data via Unicode so that it can be readily accessed and used across the Internet.
OPML is one of several schema systems that use XML-based language. The XML elements used by an OPML file include a root element, one head, one body element, and the version attribute.
1. The OPML version, e.g.
2. The Head, e.g.
. This element contains metadata that describes the content represented as a simple text element. Examples include ‘dateCreated,’ ‘ownerName,’ ‘title,’ and ‘dateModified.’ For RSS feeds, this is usually the blog title.3. The Body, e.g
. This element has the outline’s content and must contain at least one outline element.4. The Outline, e.g.
6 Key Points and Facts about OPML Files
- OPML files are a type of Extensible Markup Language (XML). This is a widely used file format and markup language used to store, transmit, and reconstruct metadata in a human and machine-readable format.
- OPML was developed by a US-based software company called UserLand in 2000. UserLand used OPML as a native file format for Radio UserLand, an RSS aggregator and blogging tool.
- Dave Weiner is the designer of the OPML format and developer of outlines. He founded UserLand in 1988.
- OPML can be efficiently used to import and export RSS feed lists and is used by a variety of RSS reader websites and applications.
- The OPML format is compatible with a wide variety of applications on Mac, Android, iOS, and Windows operating systems.
- Mozilla Thunderbird is an email, newsgroup, news feed, and chat client that includes personal information manager (PIM) functionality.
How to Use OPML Files
The hierarchical structure of OPML facilitates the accurate exchange between software applications of large volumes of data, regardless of the operating system used. This makes them a high-utility file type that is used in a wide range of applications. Here are the key points for using OPML files:

©REDPIXEL.PL/Shutterstock.com
Opening an OPML file
Most programs that handle RSS feed data are able to import or export OPML files.
Examples of OPML-compatible apps include Bike, Little Outliner, and Ultra Recall, as well as Feedly and Mozilla Thunderbird.
You can use these to open OPML files and view their data, which usually includes where the feeds are from. OPML viewers, XML viewers, and even simple free text editors provide an alternative way to open these files and view their content.
Converting an OPML File
Some of the software programs that you can use to open an OPML file can also be used to convert the file into HTML or XML.
You can even convert OPML into CSV so you can view the contents on an Excel spreadsheet.
An online search should find tools like opml2csv.com or Pandoc, which can make the desired conversion.
OPML Tutorial
The simple structure of OPML elements and files makes this format easy to work with. Online tutorials for OPML provide the basic code to help you integrate OPML as part of your developer’s toolkit.
There are a variety of OPML tutorials and projects on GitHub and other sites.
Openbase has a JS-based tutorial by OPML creator, Dave Weiner, to assist developers in adding basic OPML support to their apps for greater interoperability.

How To Learn OPML
Both OPML and XML are simply and intuitively written. If you would like to create or edit OPML files, gaining mastery of XML is likely to be more useful as it directly relates to OPML, but has a broader range of applications.
You can start to learn XML by taking an online course with 1-to-1 training or self-directed learning.
There are many online courses that range from the beginner level to advanced or niche applications. The typical course syllabus of an XML online course covers:
- The Extensible Markup Language, its properties, and benefits
- XML Standards
- Building XML applications with Oracle technology
- Validating XML
The official OPML website provides the latest OPML standard, examples, and resources for developers to work with OPML. The examples available include:
- states.opml
- subscription list.opml
- directory.opml
- simpleScript.opml
- placesLived.opml
The Difference Between OPML and XML
Both OPML and XML are free, open-source markup languages and file types, but there are some differences.
OPML is derived from XML which is a well-established language with a much broader scope and range of applications. UserLand specifically focused OPML on outlines.
Unlike XML, OPML has several weaknesses, such as its reliance on unspecified and undocumented user conventions to maintain aspects of its interoperability. Validation is also an issue that is currently being addressed by the OPML team.
There are also differences in the MIME types used by OPML files. The MIME types specify what kind of content the file or document contains.
OPML lacks the -xml suffix; the ‘text/x-opml’ MIME type does not make it clear that the file contains XML content.

OPML Release History
There are two releases of OPML, as explained below.
OPML 1.0
OPML was first released by UserLand in 2000 as part of its RadioUserLand software tools. It was an open format to encourage other outliner vendors and developers to use it.
They devised the original format to equip users with a means of information exchange between outliners and Internet services.
OPML 1.0 is:
- Simple
- Self-documenting
- Extendable
- Human-readable
- Able to represent a wide range of data types
- Easily browsed and edited
OPML 2.0
OPML 2.0 is the latest version and was released in 2006. The copyright for OPML 2.0 is held by UserLand and Scripting News Inc.
The 2.0 version extends the utility of OPML files, including their use in:
- Legal briefs
- Specifications
- Product plans
- Discussion groups
- Chat systems
- Diaries
- Stories
- Dictionaries
OPML.org has advised that further development of OPML will be as extensions, namespaces, and new outline types.
Facts Box
File Name Extension | .opml |
---|---|
Type of Format | Outliner (XML format for outlines) |
Internet Media Type | application/xml, text/xml, text/x-opml |
Uniform Type Identifier (UTI) | org.opml.opml |
Release Date | 2000 |
Creator | Dave Winer (UserLand founder), Jean-Louis Gassée |
Developed By | UserLand |
Final Thoughts
Outliners provide an effective means of organizing data for a wide range of applications.
The OPML language and file format provide a structured format for storing outlines that deliver extensive interoperability. Familiarity with XML markup language is advantageous for creating, reading, and editing OPML files.
Up Next…
Check out these other great articles about coding and files.
- TypeScript vs JavaScript: Which is Best? Do you know the pros and cons of both?
- Complete History of the Operating System. The OPS goes back decades and has a great history!
- How to Convert MP3 to WAV in 3 Easy Steps. We break down how to do this in a few steps.