Home - Zines

Why I’m Writing Pure HTML & CSS in 2025

Imagine a web page that loads instantly, deploys effortlessly, and never needs a security update.

I’m using pure HTML and CSS to accomplish all that and to build things in a fraction of the time.

Building HTML pages is easy

As software engineers, I think we have a tendency to over-engineer things. If you’ve built web pages recently, you probably used HTML and CSS, but you probably also used a complex framework, over-engineered JavaScript, crazy deployment routines, and more.

By contrast, for me, building pure HTML and CSS pages is a breeze and a joy.

Pure HTML is evergreen

HTML was invented by Tim Berners-Lee in 1991 as he worked on the World Wide Web at CERN. Some of the earliest examples of web pages are contained in the documentation on the WWW project.

These pages still render in modern web browsers.

1991 browser and 2025 browser side-by-side

You might argue that that is simple documentation. I agree, but so is most of what we consume on the Internet. And just because it’s documentation doesn’t mean it has to be plain and boring. Though those often get the job done better than a complex layout.

Bloated web pages are too slow

In 2024 a study looked at over eight million websites and found the normal page size to be 2.65MB and growing at a rate of 8% per year.

That’s more energy, more carbon, more bandwidth, and more time.

Some of our services are keeping pace. Internet speeds have increased about 20 times over the last decade. That far outpaces page size increases, but not everyone has access to these faster services. Users in rural areas are especially impacted. Plus, all of us have felt these problems with the limited data available in some areas on our mobile devices.

In addition to page size, we’re seeing slow-downs caused by latency and render times.

Small pages feel fast on any network and pure HTML and CSS renders fast.

I can host it anywhere, often for free

I can host pure HTML pages almost anywhere. Many of my pages are hosted on GitHub. In additional, most of the cloud providers have free tiers that I’d be hard pressed to exceed with a lightweight HTML site.

It’s also still possible to put a web page on a Raspberry Pi and serve it from my home office.

Accessibility and SEO benefits are automatic

Regular (semantic) HTML tags work better for accessibility and they rank better for SEO.

I see a lot of modern work that implements custom components from scratch. If you’ve got the time and budget, great, but it’s really hard to get all the accessibility right.

Using standard HTML tags is easy and I get all that free. Browser vendors have implemented and tested them for years.

Typically, I can think of unique ways to use standard components to accomplish the majority of my goals.

It won’t need security patches

If my page is static (just links, text, and basic tags) I’ll probably never need to edit it for security reasons.

HTML injection attacks have existed for almost as long as the Internet but they usually involve JavaScript or server-side processing. Pure HTML has a minimal attack surface and is mostly immune to the security problems that plague complex projects.

That means no dependency updates and no security vulnerabilities to chase.

There are no build steps

I’ve worked on a lot of different web projects. For most modern projects there’s a long list of build steps. In most cases I’d be hard pressed to get something up and running without at least a README file covering all the necessary steps.

Some of my favorite projects are ones where I used git push as my method to deploy.

Build your next site in pure HTML and CSS

Want to build your next site in pure HTML and CSS? Join the free Five-Day Neat Starter Email Course and build a lean, production-ready page before Friday. Sign up for the starter here.

Written by Joel Dare on July 14, 2025.


Want to see my personal updates, tech projects, and business ideas? Join the mailing list.

Follow Along

JoelDare.com © Dare Companies Dotcom LLC

Terms - Privacy