Emacs Is My Browser: Comments news update
Developer Josh Blais configured GNU Emacs as his primary browser, using built-in EWW to handle 85 to 90 percent of web tasks while routing videos to MPV.
By Dillip Chowdary • Nov 15, 2026 • Source: joshblais.com
In this post
Independent developer Josh Blais documented a complete configuration converting GNU Emacs into his primary web browser via the built-in Emacs Web Wowser package, according to joshblais.com's report. The setup handles roughly 85 to 90 percent of regular internet tasks without modern browser bloat.
This guide details the specific browser.el settings, external media dispatchers, and keyboard navigation rules that make terminal-grade browsing practical. Technical readers will learn how custom Elisp handlers delegate video streaming and complex documents to external tools while maintaining lightweight text browsing.
01Modern browser distractions and signal recovery
Mainstream browsers like Chromium and Firefox expose engineers to endless algorithmic recommendations and visual clutter that disrupt deep programming focus. Shifting research into a text-centric environment strips away promotional rabbit holes that siphon productive working hours. The setup delivers focus improvements similar to dedicated terminal tools like Lynx or Browsh.
The underlying philosophy rejects locked social networks like Discord that restrict technical discourse behind heavy proprietary client interfaces. Viewing the internet as a simple delivery pipe revives a direct document-reading model reminiscent of 1999 web usage. Eliminating JavaScript-heavy layers increases signal and concentrates daily attention on substantive programming references.
This lightweight browsing paradigm also runs on mobile devices by executing Emacs inside Termux on Android hardware. Mobile EWW handles documentation lookups and text reading, keeping the Fennec browser reserved for just 5 to 10 percent of tasks. The workflow sharply reduces mobile distractions while preserving full access to essential web information.
02Built-in EWW navigation and media dispatchers
Emacs includes the EWW package by default, allowing engineers to view web pages with inline images and animated GIF support directly inside editing buffers. Standard single-key bindings accelerate navigation without requiring complex menu interactions. Users press lowercase b to return to previous pages and uppercase U to copy the URL at point.

Pressing uppercase R activates the readable function, which removes headers, footers, and surrounding chrome to isolate the core article text like Firefox reader mode. Keybinding lowercase a saves pages to an internal bookmark repository for future reference. A custom command bound to uppercase D extracts and downloads images at point directly into a local Downloads directory.
When uncooperative styling or broken elements impede reading, pressing the ampersand key instantly forwards the active page to an external browser. This fallback ensures that malformed web markup never traps the user inside an unreadable buffer. The shortcut preserves momentum during research by delegating broken pages without manual copy-pasting.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
03Custom browser configuration and Shr rendering
The configuration in browser.el routes complex links through custom handlers in the browse-url-handlers variable. URL patterns matching YouTube, Vimeo, Twitch, and direct MP4 files launch an external MPV process via my-browse-url-mpv. Remote PDF files download to temporary local storage through url-copy-file and open automatically in side windows using pdf-tools and pdf-view-mode.
Alternative protocols route directly to Elpher for browsing Gopher and Gemini capsule networks across the smolweb. The default web query engine sets eww-search-prefix to a personal Searx instance at searx.labrynth.org, aggregating external search indexes without tracking user queries. The secondary browser variable sets Chromium as the general external program when requested.
HTML rendering relies on the Shr library, configured with a standard width of 100 characters, a maximum width of 120, and 4 spaces of indentation. Setting shr-use-fonts to nil enforces monospace formatting, while images are capped at 800 by 600 pixels with animation enabled. Keybindings for equal, minus, and zero manage buffer text scaling.
04Interactive web limitations and secondary browser fallbacks
While EWW handles documentation lookups and articles cleanly, dynamic web platforms remain unsupported due to the absence of a JavaScript execution engine. Users cannot play YouTube videos in-buffer, view client dashboards, or read tweets on X, which rejects non-JavaScript clients. Social media interactions and authenticated platform sessions require standard modern browsers.
Critical administrative workflows also fail inside text buffers. Developers cannot conduct online banking, complete official government paperwork, or sign in to complex corporate customer portals. The intended operational scope stays limited to fast web queries, software manual lookups, and technical blog reading.
Pressing the ampersand key hands the current session off to Chromium or Firefox when interactive barriers appear. This split model preserves workflow velocity by confining heavy browser usage to necessary operational exceptions. The fallback ensures engineers never waste time troubleshooting broken web scripts.
05Default URL routing and computing routine
Routing all web requests to EWW by default introduces deliberate friction before opening external pages. Every link interaction requires an active decision about whether a query deserves attention or warrants escalation to a secondary browser. This friction curbs passive internet consumption and reinforces disciplined attention during programming sessions.
Consolidating documentation searches alongside source code buffers transforms Emacs into a unified, permanent computing platform. Eliminating constant desktop window switching keeps mental context intact while navigating large codebases. The arrangement demonstrates that text-driven tools remain capable of sustaining professional development without dependence on commercial platform silos.
Restricting web interaction to text-first rendering reclaims engineering focus from algorithmic distractions and cluttered interfaces. By handling up to 90 percent of regular queries directly inside editor buffers, EWW establishes a sustainable alternative to conventional browser bloat. The setup provides a practical roadmap for developers pursuing minimal computing workflows.
Emacs Is My Browser FAQ
What percentage of web browsing can EWW handle?
EWW successfully covers 85 to 90 percent of regular use cases, particularly reading blogs, searching for information, and reviewing documentation. For complex tasks or incompatible pages, users fall back to a graphical browser like Chromium or Firefox.
How does the configuration handle video links and PDF files?
Custom browse-url handlers route YouTube, Vimeo, Twitch, and MP4 links directly to MPV for video playback. Remote PDF documents download to temporary files and open in Emacs buffers using pdf-tools and pdf-view-mode.
Which search engine is configured for default queries?
Queries use a personal Searx instance at searx.labrynth.org set via the eww-search-prefix variable. This privacy-respecting frontend amalgamates results across multiple search engines without commercial tracking.
What websites and tasks fail inside EWW?
EWW cannot run client-side JavaScript, which blocks social networks like X, online banking portals, client dashboards, and government web forms. Tasks requiring interactive logins or form submissions must be forwarded to a secondary browser using the ampersand key.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement