Updated: 10 October 2026 · Applies to: DuckDuckGo on Linux desktops and servers; ddgr 2.2 tested on Debian 13 (also packaged for Ubuntu 24.04 and 26.04, Fedora 44 and EPEL 9 and 10)
DuckDuckGo does not make its own browser for Linux. Its download page lists the DuckDuckGo browser for Windows, Mac, iOS and Android only. On Linux you get the same private search in three ways: make DuckDuckGo the default search engine in Firefox or Chrome, add DuckDuckGo's own browser extension, or search from the terminal with ddgr, which also works on a server without a desktop.
Because there is no official Linux version, be careful with any download offered elsewhere as a "DuckDuckGo browser for Linux": it is not from DuckDuckGo.
1. Use DuckDuckGo as the default search engine in Firefox
Firefox is available on all major distributions (Debian 13 ships Firefox ESR, version 153 at the time of writing), and DuckDuckGo is one of its built-in search engines. According to Mozilla:
- Click the menu button and select Settings.
- Select Search in the left pane.
- Use the drop-down menu under Default Search Engine and choose DuckDuckGo.
Searches from the address bar now go to DuckDuckGo. Mozilla notes that some built-in engines are only offered in certain regions; if DuckDuckGo is missing, see add or remove a search engine in Firefox.
2. Add the DuckDuckGo extension
For tracker blocking on top of private search, install DuckDuckGo Search & Tracker Protection. It is DuckDuckGo's own extension, published for Firefox (version 102 or later, so any current Firefox on Linux), Chrome, Edge and Opera. Install it from the browser's add-on store (in Firefox: menu button, Add-ons and themes, Extensions, then search for DuckDuckGo) and check that the publisher shown is DuckDuckGo. The extension also makes DuckDuckGo your default search engine.
3. Use DuckDuckGo in Google Chrome on Linux
According to Google:
- Open Chrome, and at the top right select More, then Settings.
- Select Search engine.
- Under "Search engine", select Change and choose DuckDuckGo.
4. Search DuckDuckGo from the terminal with ddgr
ddgr is a command-line client for DuckDuckGo. It is useful over SSH on a server, where there is no graphical browser. Install it:
sudo apt install ddgr # Debian, Ubuntu sudo dnf install epel-release && sudo dnf install ddgr # AlmaLinux, Rocky Linux (EPEL) sudo dnf install ddgr # Fedora
All of these install ddgr 2.2. Search by typing your words after the command. -n sets the number of results, -w limits the search to one website, --np prints the results and exits, and -C turns off colours. Output from our test on Debian 13 (shortened):
$ ddgr --np -n 3 -C -w docs.nginx.com reverse proxy 1. NGINX Reverse Proxy - NGINX Documentation [docs.nginx.com] NGINX Reverse Proxy This article describes the basic configuration of a proxy server. You will learn how to pass a request from NGINX to proxied servers over different protocols, modify client request headers that are sent to the proxied server, and configure buffering of responses coming from the proxied servers. 2. docs.nginx.com [docs.nginx.com] ...
Without --np, ddgr shows a prompt (ddgr (? for help):) after the results. There you can type:
- a result number to open it in a browser, or
o 1 3to open several; n,porffor the next, previous or first page;dfollowed by new keywords for a new search with the same options;c 2to copy a result URL,xto show full URLs, andq(or Ctrl+D) to quit.
To read pages inside the terminal, install a text browser and point ddgr at it, for example sudo apt install w3m and export BROWSER=w3m (add the export line to ~/.bashrc to keep it). ddgr recognises elinks, links, lynx and w3m as text browsers.
Useful ddgr options
-t d,-t w,-t m,-t y: only results from the past day, week, month or year.-r in-en: results for a region (here India, English; the default isus-en).-j: open the first result straight away ("I'm Feeling Ducky").--unsafe: turn off safe search.--noua: send no user agent.-p: use an HTTPS proxy.- DuckDuckGo bangs work too:
ddgr '!w fping'openshttps://duckduckgo.com/?q=!w fpingin your browser, which DuckDuckGo forwards to Wikipedia. Quote the bang so the shell does not expand the!. --json: print the results as JSON for scripts. Shortened output:$ ddgr --json -n 2 nginx reverse proxy [ { "abstract": "Learn how to use NGINX as a reverse proxy to distribute load, ...", "title": "NGINX Reverse Proxy", "url": "https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/" }, ... ]
5. Search DuckDuckGo with a text browser
Without ddgr, any text browser can use DuckDuckGo's lightweight page. Open it interactively with w3m https://lite.duckduckgo.com/lite/, or print results directly (shortened output):
$ w3m -dump "https://lite.duckduckgo.com/lite/?q=fping+command"
...
1. fping man-page
FPING is a tool to send ICMP ECHO_REQUEST packets to network hosts and
check their availability. ...
fping.org/fping.8.html
Common problems
- "[ERROR] HTTP Error 202: Accepted" and "No results.": DuckDuckGo is throttling you after many searches in a short time. In our test it started after four searches within about a minute from one server and had cleared a few minutes later. Wait, then search again.
- Typing a result number does nothing: there is no browser ddgr can start, which is normal on a server. Set
BROWSER=w3m(or lynx) as shown above. - DuckDuckGo is not in the Firefox list: add it as described on Mozilla's page linked above, or install the DuckDuckGo extension, which sets it as the default.
ddgr sends your searches to DuckDuckGo just as the website does and sets Do Not Track by default. For more terminal tools see command-line HTTP clients for Linux and command-line translators for Linux.
Official documentation: ddgr on GitHub.