How to Create an OPML File from RSS URLs
2026-09-12
If you have a text file full of RSS addresses and a feed reader asking for an OPML file, you do not need to subscribe to each feed separately. Put the addresses on separate lines, generate the subscription file, and import it into your reader.
The important detail is what goes into that list. An RSS feed URL points to a feed document. A website homepage usually points to HTML. Wrapping the wrong kind of URL in OPML does not turn it into a working feed.
1. Prepare one feed URL per line
Open the OPML Generator. Replace the example content with the feeds you want to keep. Use complete addresses, including the HTTPS prefix, with no bullets or comma separators.
For a small practice list, these public feeds provide a starting point:
https://www.nasa.gov/feed/
https://feeds.bbci.co.uk/news/technology/rss.xml
Feed addresses can change. Open each URL or try adding it to your reader individually before importing a large collection. A successful HTTP response alone is not proof that the response contains RSS or Atom.
If you only have homepage addresses, look for the publisher's RSS link. You can also inspect a public page with View Page Source and look for a feed-discovery link whose type is application/rss+xml or application/atom+xml. Not every publisher exposes a feed, and its address is not always /feed/.
Remove duplicate lines before generating the file. Different readers handle duplicate imports differently, and two addresses that redirect to the same feed may still look like separate subscriptions.
2. Generate and save the OPML file
Select Generate OPML and save the download. Keep the .opml extension so your reader can recognize it. This tool sends the entered list to RizCraft's server to construct the file; do not include private feed addresses containing access tokens unless you intend to share those addresses with the service.

The file contains subscription addresses. The reader fetches the articles after import.
OPML is an outline format that feed readers use to exchange subscriptions. It is not a backup of every article, your reading history, or saved highlights. If you are moving between services and want to preserve folders, start with the old reader's own export: rebuilding from plain URLs loses organization that the plain list never contained.
3. Check what is inside the file
You can open an OPML file in a plain-text editor. Here is an illustrative subscription file; the example domain is a placeholder, not a live feed:
<?xml version="1.0" encoding="UTF-8"?>
<opml version="2.0">
<head>
<title>My reading list</title>
</head>
<body>
<outline text="Example feed" type="rss"
xmlUrl="https://example.com/feed.xml" />
</body>
</opml>
For a feed subscription, xmlUrl is the address your reader should request. The human-readable label belongs in text; it does not have to match the website's domain. The OPML specification describes the outline structure and subscription attributes.
When editing by hand, preserve XML escaping. A URL containing an ampersand needs & inside the XML attribute. Letting a generator escape URLs is less error-prone than replacing characters throughout a large list yourself.
4. Import a small sample before the whole list
In your feed reader, find its subscription import or OPML import option. Select the downloaded file, choose the destination folder if prompted, and finish the import. The exact labels depend on the reader and version.
Start with two or three feeds. Check that their titles appear and that recent articles load. Then import your complete collection. An import that adds subscription names but never retrieves articles usually needs a feed-access check, not another OPML conversion.
When an import fails
| Symptom | Check | Next step |
|---|---|---|
| The reader rejects the file | Extension and XML structure | Confirm it is OPML, not a saved HTML error page. |
| A feed imports but stays empty | The address in xmlUrl | Open that feed directly and try a single-feed subscription. |
| Some feeds are missing | Retired URLs or login requirements | Test those addresses separately. |
| Categories disappear | Whether the source contained folders | Export from the original reader or rebuild folders after import. |
| Duplicate entries appear | Repeated addresses and URL variants | Clean the source list and review duplicate handling. |
Common questions
Can I make OPML from website URLs instead of feed URLs?
You first need to discover each site's feed. This generator packages the addresses you supply; it does not crawl homepages to find their RSS links.
Does OPML include full articles?
A subscription OPML file normally holds feed addresses and labels. Article content is retrieved by the feed reader. Keep a separate export if you need archived articles or service-specific reading data.
Can I reuse the same OPML file in another reader?
Usually, if the reader supports subscription imports. Test a small list first because folder mapping, duplicates, and feed errors can differ between applications.
Create your OPML subscription file, then test the import before moving your complete reading list.