Announcing Casual EWW
22 Jan 2026 Charles Choi
I confess to taking a perverse delight in browsing the web from within Emacs. The EWW package that comes with the standard distribution of Emacs makes this possible. On paper, Emacs really has no business trying to support web browsing with its laughably threadbare support for layout and typography, much less its lack of support for multi-threaded operation. In practice though, I’ve found browsing the web from Emacs to be surprisingly useful. To enhance my usage of EWW, I wanted easy discovery of its features via Transient menus. With that motivation, I set out to build Casual EWW, now available on MELPA in the Casual v2.13.0 update.
EWW is a minimal browser in that no CSS nor JavaScript is supported. As such, EWW is best suited for websites that treat HTML as a document specification and not as a sub-system to a web application.
Features of Casual EWW include:
-
Support for in-page paragraph and link navigation.
-
Key bindings that match Safari and Chrome on macOS.
In particular
M-[andM-]for historical navigation andM-lfor entering a URL to open are supported. -
Menus for toggling and configuring the display of a web page (font, colors, images).
-
Support for document navigation.
This feature distinguishes EWW from other conventional web browsers for navigating websites that support the rel attribute. For example, Texinfo uses the
relattribute in generating HTML output.
Observations and Closing Thoughts
Some observations in using EWW:
-
The implementation of bookmarks in EWW is… underwhelming.
Note that EWW bookmarks are a different implementation from a regular Emacs bookmark. The EWW bookmark list does not provide a means for ordering a bookmark, much less for sorting and editing them.
-
The
eww-readablecommand (bound toR) is your friend (when it works).EWW provides a “reader” mode via the command
eww-readablewhich attempts to display only the main content of a web page. If successful, I’ve found it to vastly improve EWW’s utility.Setting the variable
eww-readable-urlsto include documentation from https://developer.mozilla.org will break the commandcss-lookup-symbol(accessible via Casual CSS) as that command expects the web page to not be in reader mode.
For Emacs users, the utility of EWW is very much a YMMV thing as it can overlap the features of other packages like the Info reader and Elfeed. Regardless of what is preferred, it is assuring to know that web browsing (however limited) is supported within Emacs.
Casual EWW is now available on MELPA in the Casual v2.13.0 update.