logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·28.10.26
← Back to news

Websites Should Be Printable

Original article
brennenputh.me|207 points|148 comments|by bagatelle|Oct 26, 2026

The Case for Printable Websites

By Brennen Puth | Published: 2026-10-24


👋 About the Author

I am currently seeking new professional opportunities! I will soon be completing my undergraduate studies, earning a BS in both Computer Science and Cyber Operations.

My technical toolkit includes:

  • Primary Expertise: Web Application Development & Java.
  • Additional Languages: Rust, C++, Python, and several others.

If you are interested in my previous work, please check out my [projects list] or reach out to me directly so I can provide my resume. I welcome any and all professional leads!


The Philosophy of Paper

While digital reading on a laptop is convenient, I find that digital annotations marking up a physical, printed document allows for much deeper engagement. There is a specific psychological shift that happens when you pair a printed page with a whiteboard; it creates an atmosphere where the work feels genuinely significant.

Consequently, I wanted to ensure that the people reading my content could enjoy it in this tactile medium.

The "Default" Experience

Most of us assume that hitting CTRL-P is enough. However, when I tested this on my own site, the results were underwhelming:

  1. The typography was far too large (roughly 2 levels too big).
  2. The header looked cluttered and unprofessional.
  3. Hyperlinks, which look great in color, appeared as a muddy gray in grayscale.

Implementing Print-Friendly Design

Fortunately, the web community previously placed a high value on printability. By utilizing specific CSS selectors, we can target the print medium specifically.

Technical Implementation

Below is the logic I used to refine the output:

@media print {
  .onlyPrint { display: inline; } 
  p, ol { font-size: 12pt; } 
  h3, h4 { font-size: 13pt; } 
  h2 { font-size: 14pt; } 
  h1 { font-size: 16pt; } 
  .giallo-l { font-size: 11pt; } 
  a { color: black !important; } 
}

The logic follows a simple scaling formula where the printed size SpS_pSp​ is significantly smaller than the screen size SsS_sSs​: Scale Factor≈SpSs<1\text{Scale Factor} \approx \frac{S_p}{S_s} < 1Scale Factor≈Ss​Sp​​<1

Feature Breakdown

Class/ElementPurposeEffect
.onlyPrintAdditionAdds elements (like author attribution) only to the paper version.
.noPrintSubtractionRemoves unsightly elements (like the site header) from the print job.
a tagsColor ShiftForces links to black to ensure readability in B&W.
h1 →\rightarrow→ pResizingAdjusts variable-scale text to fixed point sizes.

The Optimization Workflow


The Remaining Hurdles

Despite these improvements, the process isn't perfect. I still struggle with codeblocks. They tend to resist breaking across page boundaries, appearing as monolithic chunks that disrupt the flow.

Current To-Do List:

  • Fix header visibility
  • Adjust font hierarchy
  • Correct link contrast
  • Solve codeblock page-break issues ←\leftarrow← Open for suggestions!

Why Bother?

I'll admit: spending a whole morning hiding and showing elements for a print view is a tedious task. Many developers wouldn't prioritize this. However, if your site is primarily text-based, giving users the freedom to consume that text in their preferred format is a gesture of goodwill.

"The road to good software is paved with kindnesses from software engineers to their users."

Even if it only brings a fleeting smile to one person, it is worth the effort.

Visual Comparison:


Update (2026-10-26): A friend mentioned that this post gained traction on lobste.rs and the front page of Hacker News. While I've been alerted to some flaws in my CSS, I'm glad the article encourages others to consider the printed medium.