FeedShow
ENES

What is an OPML file and how do you use it?

By FeedShow Editors · March 26, 2026

If you ever switch feed readers, you will meet OPML. It is the file format readers use to export and import a list of subscriptions, so you can move from one service to another without typing every feed again.

OPML stands for Outline Processor Markup Language. It was created by Dave Winer at UserLand Software in the early 2000s for outlines in general, and the feed world adopted it because a subscription list is, in the end, an outline: folders containing feeds.

What is inside

An OPML file is plain XML. A short one looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<opml version="2.0">
  <head><title>My feeds</title></head>
  <body>
    <outline text="Tech">
      <outline type="rss" text="Ars Technica"
        xmlUrl="https://feeds.arstechnica.com/arstechnica/index"/>
    </outline>
    <outline type="rss" text="xkcd" xmlUrl="https://xkcd.com/atom.xml"/>
  </body>
</opml>

Each outline with an xmlUrl is a feed. An outline that contains others is a folder. The text attribute is the name the reader will show.

How to export your subscriptions

Almost every reader has an export option, usually in the settings or in the menu of the subscriptions list. It may be called “Export OPML”, “Export subscriptions” or simply “Export”. You get a file ending in .opml or .xml.

Do it once in a while even if you are happy with your reader. Services close, and the export is the only thing that guarantees your list survives.

How to import it

In the new reader, look for “Import OPML” or “Add subscriptions from file”, choose the file, and wait. Large lists can take a minute while the reader fetches every feed for the first time. Folders usually come across; read and starred items do not, because OPML only carries the list, not your history.

When there is no file

Sometimes you only have a list of addresses: notes in a text file, a list a colleague emailed you, the feeds of a course. You can turn that into OPML in seconds with our OPML Builder, which also works the other way round: paste an OPML file and it gives you the plain list.

Common problems

  • “Invalid file”. Some exports are not quite valid XML, often because of an unescaped & in a title. Open the file in a text editor and replace a lone & with &amp;.
  • Dead feeds. An old OPML file will contain feeds that no longer exist. The reader will show them as errors; delete them after the import.
  • Nested folders. OPML allows folders inside folders, but many readers only support one level and will flatten the rest.

The full format is described in the OPML 2.0 specification, but for moving feeds around, what is above is all you need.

F
FeedShow Editors
The FeedShow editorial team. We test feed readers with our own subscriptions and write guides for people who want to read the web on their own terms.