Skip to content

Convert

OPML to Bookmarks HTML

OPML to Bookmarks HTML

Beta

Turn an OPML export from Feedly, Inoreader, NetNewsWire or a podcast app into a bookmarks.html file that Chrome, Firefox and Edge import. Folders stay folders; each bookmark opens the site or the feed.

Use via API
  • Free, no sign-up
  • REST + MCP
  • Updated
  • Reviewed by Olgun Ozoktas

Site address opens each feed's website. A feed with no website keeps its feed address.

OPML input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bookmarks output

The bookmarks.html appears here

On this page, the file is read in your browser. It is not uploaded, and no feed is fetched.

To import: in Chrome, open the menu and choose Bookmarks and lists > Import bookmarks and settings, then Bookmarks HTML File. In Firefox, open the Library and choose Import and Backup > Import Bookmarks from HTML.

Which address should a bookmark open?

Site address

The bookmark opens the feed's website, the htmlUrl in the OPML. This is what you want for reading in a browser.

Feed address

The bookmark opens the feed itself, the xmlUrl. Pick it to keep a list of feed addresses you can paste back into a feed reader.

How to Convert OPML to a Bookmarks File

  1. Export your subscriptions as OPML from the feed reader or podcast app; Feedly, Inoreader and NetNewsWire all have an OPML export

  2. Drop the .opml file on the input panel, or paste its contents

  3. Choose Site address or Feed address, and turn on Wrap in one folder to keep the import together

  4. Download bookmarks.html and import it in Chrome, Firefox or Edge as a bookmarks HTML file

Common Use Cases

Putting the blogs you follow in Feedly into a browser bookmarks folder, one click per site

Keeping a blogroll of the sites you read as bookmarks after leaving a feed reader

Moving podcast subscriptions into bookmarks so each show's website is one click away

Sharing a curated reading list with someone who uses bookmarks rather than a feed reader

Why Use OPML to Bookmarks HTML?

Feed readers and podcast apps export your subscriptions as OPML, an outline of folders and feeds. Browsers do not import OPML; they import the Netscape bookmarks.html format. Getting a feed list into the bookmarks bar has meant a detour through a spreadsheet: OPML to CSV, rebuild the folders, CSV to bookmarks. This page does it in one step. Each folder outline becomes a bookmark folder, each feed becomes a bookmark named after it, and you choose whether the bookmark opens the site or the feed.

OPML (Outline Processor Markup Language) is the XML outline feed readers and podcast apps use to export subscriptions. A folder is an <outline> with children, and a feed is an <outline> with an xmlUrl attribute for the feed and usually an htmlUrl for its website. OPML 2.0 also has link outlines with a url attribute. This page reads all three with the same parser as OPML to CSV, matching attribute names in any case and decoding entities.

It writes a Netscape bookmarks.html, the file Chrome, Edge, Firefox and Safari import: each folder outline becomes an <H3> folder, and each feed a bookmark titled with its text or title. With Site address the bookmark opens htmlUrl, falling back to xmlUrl when there is no site; with Feed address it is the other way round. A file that is not well-formed XML is refused with the parser's reason, such as a closing tag that does not match its opening tag.

The output is the import format browsers expect, not a styled blogroll for a web page. No feed is fetched, so a feed that has moved or closed converts like any other. CSV to OPML, the reverse direction for feed readers, is not on FindUtils yet.

How it compares

OPML to CSV flattens the outline into spreadsheet rows, so getting it into a browser means rebuilding the folders and running CSV to Bookmarks HTML. XSLT scripts can do it on the command line. Blogroll generators turn OPML into a web page, not an importable file. This page goes straight from OPML to the bookmarks format, keeps the folders, lets you pick site or feed addresses, and works on the file in the tab.

Tips for Converting OPML

  • Site address is the default because a feed URL opens as raw XML in most browsers. Choose Feed address only if you want a list of feed URLs.
  • A feed with no website in the OPML falls back to its feed address, and the notes say how many did.
  • Turn on Wrap in one folder to put the whole list in one folder named after the OPML's title, so the import does not spread across the bookmarks bar.
  • Empty folders are left out by default because most browsers show them as clutter; turn on Keep empty folders to write them.
  • For a spreadsheet of your feeds instead, use OPML to CSV.

Frequently Asked Questions

How do I import an OPML file into Chrome or Firefox?

Convert it to a bookmarks.html file first, because browsers import bookmarks HTML, not OPML. Drop the .opml on this page, download bookmarks.html, then in Chrome choose Bookmarks and lists > Import bookmarks and settings > Bookmarks HTML File, or in Firefox choose Import and Backup > Import Bookmarks from HTML in the Library.

Which OPML exports does it read?

OPML 1.0 and 2.0 subscription and outline exports, such as those from Feedly, Inoreader, NetNewsWire and podcast apps. Feeds are outlines with xmlUrl, OPML 2.0 links are outlines with url, and folders are outlines that contain others.

Does a bookmark open the website or the feed?

The website by default: each bookmark uses the outline's htmlUrl, and falls back to the feed's xmlUrl when there is no website. Choose Feed address to use the xmlUrl first instead.

Are my OPML folders kept?

Yes. Each folder outline becomes a bookmark folder, nested the same way. Folders with no feeds are left out unless you turn on Keep empty folders, and Wrap in one folder puts everything inside one folder named after the OPML's title.

Why was my file refused?

Either it is not well-formed XML, and the message gives the parser's reason, or it has no outline with an address. A broken export usually has an unescaped & in a title, a missing closing tag or a cut-off end; fix it, or export the OPML again.

Does it fetch or check my feeds?

No. The addresses are copied from the OPML as text and never requested, so a feed that has moved or shut down is still written as it was.

Can I turn the bookmarks back into OPML?

Not on FindUtils yet; there is no CSV or bookmarks to OPML tool. To keep the feed addresses in a reusable form, choose Feed address here, or export a spreadsheet with OPML to CSV.

Is my OPML file uploaded?

Not on this page. The OPML is parsed and the bookmarks file is written by JavaScript in your browser tab. A subscription list says a lot about what you read and listen to, which is why it stays in the tab. The REST API and MCP tool are a separate path: a call sends the input you include to FindUtils over HTTPS, where it is processed and the result returned. FindUtils does not store that input, and logs the request without its content.

Is the output a blogroll I can put on my website?

No. It is the Netscape bookmark format browsers import, a list of <DT> and <A> tags without styling. It opens in a browser, but it is meant for importing as bookmarks.

Rate This Tool

0/1000

Get Weekly Tools

Suggest a Tool