Newsboat: A Snazzy Text-Based RSS Feed Reader

Newsboat is a sleek, open source RSS/Atom feed reader for the text console. It’s a fork of Newsbeuter. RSS and Atom are a number of widely-used XML formats to transmit, publish and syndicate articles, typically news or blog articles.

Newsboat is designed to be used on text terminals on Unix or Unix-like systems. It’s entirely controlled by the keyboard.

The software has an internal commandline to modify configuration variables and to run commands.


The software is included in the standard Ubuntu repositories. So to install the software, I only need to type the following command:

luke@ganges:~$ sudo apt install newsboat

On my fairly vanilla Ubuntu 18.04 distribution, only one additional package had to be installed – STFL, a library which implements a curses-based widget set for text terminals. apt, of course, handled that with aplomb. The software’s other dependencies, such as SQLite3 and libcurl, are already installed on my system.

Newsboat is, of course, available as source package, so you can compile the software if necessary. There’s also a snap package available from

Set up

Before you can start using Newsboat, there’s one configuration step you must perform. You need to add some configured feeds. You either need to add feeds to the configuration file ~/.newsboat/urls file, or import an OPML file with the command:

newsboat -i filename.opml

OPML is an acronym for Outline Processor Markup Language. It’s an XML file format most often used to exchange lists of feed subscriptions between news feed readers.

After importing my RSS feeds with Newsboat -i the urls file is populated with my favorite feeds.

To improve speed and decrease bandwidth, Newsboat stores downloaded articles in a database cache (it’s located at ~/.newsboat/cache.db). The cache uses SQLite format 3. You can configure how many articles are preserved by feed so that the article backlog doesn’t get out of hand. The software also seeks to minimize bandwidth by trying to avoid unnecessary feed downloads through the use of conditional HTTP downloading.

Let’s take a look at a couple of the software’s interesting features.

One of my favorite features is Newsboat’s built-in filter language. It offers a lot of customization, so the software runs exactly how *I* want it.

The filter language can define a query feed, which is a feed that is aggregated from all currently downloaded articles of all feeds. An essential feed is a feed that contains all unread articles. You simply need to add the line “query:Unread Articles:unread = \”yes\”” to the urls file.

You can see from the top line of the feed list below, I have 24 unread articles. This is a list pulled from my feed subscriptions.


Searching is very easy. Just press the “/” key, you can enter a search phrase, and the title and content of all matching articles are displayed.


You can search from the feeds list, article list, as well as the article view.

Article list

Opening a feed presents you with the article list view. It’s pretty self-explanatory. If you forget any of the keybindings, just hit the “?” key.


Article view


The extensive array of keyboard shortcuts helps you navigate and read your feeds. The reading experience is superb.

Other features of the software include:

  • Highly customizable – e.g. configure custom color settings.
  • Tag RSS feeds. Adding, removing, and tagging feeds is done by editing the urls file. By using tags, you can show only RSS feeds that match a certain tag. This lets you categorize feeds very effectively.
  • Plugin-based bookmarking system.
  • Killfiles – helps you ensure you don’t see uninteresting content.
  • Flag articles – this helps custom categorization of articles.
  • Macro support – define macros to execute more than one command at once.
  • Format string system to make it possible for the user to configure the format of various aspects of the application, such as the format of entries in the feed list or in the article list.
  • Highlight specific text in the feed list, the article list, and the article view.
  • Use the software as a client for newsreading services including The Old Reader, NewsBlur, FeedHQ, Tiny Tiny RSS, ownCloud News, nextCloud News, and Inoreader.
  • URLs in feeds can have username/password added.
  • Support for Snownews extensions.
  • Limited support for the XDG Base Directory Specification.
  • Podcast support – download and save podcasts. Support includes Yahoo Media RSS extensions.
  • Hidden feeds – hide a feed from the regular list. The content of a hidden feed is only displayed through a query feed.
  • Automatic feed reloads.
  • Internationalization support – there are translations for: Catalan, Chinese, Chinese (Traditional), Dutch, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese (Brazilian), Russian, Slovak, Spanish, Swedish, Turkish, and Ukrainian.


Newsboat is a wonderful, open source RSS reader. It’s lean, compact, super fast, endowed with a good feature set, and a worthy continuation of the Newsbeuter project. The software is extremely configurable and offers a great feature set without any bloat.

Support: Mailing List, GitHub Code Repository
Developer: Alexander Batischev and contributors
License: MIT License

Newsboat is written in C++. Learn C++ with our recommended free books and free tutorials.

Return to News Aggregators Home Page

Make a Donation
Click the button to make a donation via flattr. Donations help us to maintain and improve the site. You can also donate via PayPal.

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.