Text-Based Web Browsers

https://news.ycombinator.com/rss Hits: 13
Summary

Before I start, let me get two things out of the way: In this article I’m not going to include the admittedly cool browsh, because it only works by utilizing Firefox under the hood. When I say text-based, I’m talking about old-school browsers like ELinks, Lynx or w3m. These are also the three browsers I’ve used to test everything described below. The whole article ended up being a rant about how text-based browsers deal with features that got added to HTML. Or more like, how they neglect dealing with said features. Do text-based web browsers still matter? Well, I won’t be the judge of that. I like them, I have them installed, and I test every project I create in them. But they are not what I use to surf the web. Speaking of testing your creations, here’s the good news: If your project has a solid HTML foundation that you then progressively enhance with CSS and JS, you are off to a great start. How did HTML evolve in recent years? While CSS is the star of the show when it comes to new features, HTML ain’t stale either. If we put the long-awaited styleable selects and Apple’s take on toggle switches aside, there’s a lot readily available cross-browser. But here’s the thing: Whenever we say cross-browser, we usually look at the big ones, never at text-based browsers. So in this article I wanna shed some light on how they handle the following recent additions. How do text-based web browsers handle modern HTML? Added features When viewing a web page in a text-based browser, you essentially get plain HTML, no CSS, no JS. There is some “styling”, a result of the elements’ semantics, but don’t expect anything fancy, we are down to colors, indentation, and centered text. It reminds me of what the browsers we are used to give us when they show unstyled HTML—well, HTML with the browser default styles, to be exact. That in turn reminds me of CSS Naked Day. Text-based browsers work well with good old HTML. Said recent additions however are a bit more nuanced (e.g. interactive), ...

First seen: 2026-01-13 06:04

Last seen: 2026-01-13 18:06