Browsing the Web from Your Terminal
Jul 3, 2026Why would anyone want to browse the web from a terminal? Whether you are operating on a low-resource headless server, working over a slow SSH connection, or simply trying to cut out distracting web layouts and ads, terminal browsers are surprisingly capable.
Here are the best terminal-based browsers available today, ranging from 90s classics to modern visual renderers.
1. Lynx: The Classic Pioneer
First released in 1992, Lynx is the oldest web browser still actively maintained.
- Best For: Fast, distraction-free reading of documentation or articles.
- Key Advantage: It is incredibly lightweight and operates entirely on pure text. It doesn’t load images, CSS, or JavaScript, meaning pages load instantaneously even on a dial-up speed connection.
- Navigation: Uses the arrow keys (Up/Down to jump between links, Right to follow a link, Left to go back).
2. w3m: The Image-Capable Option
w3m is a terminal-based pager and browser that feels much more natural to developers who use Vim.
- Best For: Vim users who want basic formatting, tables, and frames.
- Key Advantage: Unlike Lynx,
w3mcan render complex HTML tables and frames. Moreover, if your terminal emulator supports it (such as xterm or Kitty),w3mcan load and display inline images right in your terminal using thew3m-imgextension. - Navigation: Uses Vim-like bindings (
h,j,k,l) for navigation.
3. ELinks: Tabbed Browsing
ELinks is an advanced fork of the earlier Links browser, designed to bring more modern browsing concepts to the command line.
- Best For: Users who need tabs and basic CSS styling.
- Key Advantage: ELinks features tabbed browsing, mouse click support (if your terminal supports mouse reporting), and partial support for CSS and limited JavaScript.
4. Browsh: The Modern Engine
Traditional terminal browsers break completely on modern, single-page JavaScript applications (like React or Vue apps). Browsh solves this.
- Best For: Accessing modern, complex websites without leaving the terminal.
- Key Advantage: Under the hood, Browsh launches a headless instance of real Firefox. It fetches the page, runs the JavaScript, and renders the layout into terminal-compatible text and block-graphics (using ANSI colors). It can even render video streams in the terminal!
- Drawback: It is significantly more resource-heavy than Lynx or w3m.
Summary: Which one should you use?
| Browser | Image Support | JS Support | Best Feature |
|---|---|---|---|
| Lynx | No | No | Ultra-fast, minimal footprint |
| w3m | Yes (via w3m-img) | No | Vim keybindings, renders tables |
| ELinks | No | Basic | Tabs, mouse support, CSS |
| Browsh | Yes (ANSI art) | Yes | Full JS execution via Firefox |