Free Tool
    Updated 6 June 2026

    Print Stylesheet Checker

    Check if a page has print-specific CSS. Missing print styles mean broken layouts, wasted ink, and unprofessional output when users print or save as PDF.

    By Deepak Shukla — Founder & CEO, Pearl Lemon

    What This Tool Checks

    • Whether the page has any @media print CSS rules
    • Whether there's a dedicated print stylesheet (<link media="print">)
    • The URLs of any external print stylesheets
    • Whether inline <style> blocks include print rules
    • Overall verdict: has_print_styles (true/false)

    Why This Matters

    Most users never print web pages — until they do. Invoice pages, recipes, articles, documentation, legal terms, conference schedules, and B2B reports all get printed. Without print styles, users get the full navigation, sidebar, ads, dark mode background (eating ink), and broken multi-column layouts on paper. Adding 30 lines of @media print CSS turns a printed page from embarrassing into professional. For B2B/SaaS/legal sites, it's table stakes.

    How to Fix Issues

    1. 1.Add a @media print { } block to your main stylesheet with: hide nav/footer/ads, force black text on white background, expand collapsed sections, page-break rules
    2. 2.Test with Chrome DevTools > More tools > Rendering > "Emulate CSS media type" > print
    3. 3.Force background colors with `print-color-adjust: exact;` if you genuinely need them (logos, charts)
    4. 4.Use `page-break-after: avoid;` on headings to prevent orphan headings at page bottoms
    5. 5.For invoices and reports, consider a dedicated /print/ URL with a print-only template — easier than fighting your responsive CSS

    Printing a webpage in 2026 should produce a clean, readable document. For 90% of websites, it doesn't — because nobody thought about print CSS. This tool checks whether yours did.

    Why print styles matter when "no one prints anymore"

    Except they do. Quietly, constantly. Receipts. Invoices. Recipes. Boarding passes. Legal terms. Insurance policies. PDF-as-print exports. Conference schedules. Documentation. Email-printed-to-PDF. Save-as-PDF in the browser is technically a print operation and uses your print stylesheet.

    Browser "Save as PDF" is the #1 reason print CSS matters in 2026. Users save articles, save invoices, save legal terms, all the time — and the resulting PDF is whatever your print CSS makes it.

    What a missing print stylesheet looks like

    • Navigation bar and footer rendered as full-width sticky blocks taking up a third of every page
    • Sidebar widgets rendering across the print, breaking column flow
    • Dark-mode background printed as solid black, wasting an entire ink cartridge
    • Ads rendered in print
    • "Sticky CTA" rendered on every printed page
    • Collapsible sections still collapsed (so the printed content is incomplete)
    • Text in 11px because the screen size is treated as the print size
    • Multi-column responsive layouts breaking at paper-page boundaries

    What a good print stylesheet does

    @media print {
      nav, footer, .sidebar, .ads, .cookie-banner { display: none; }
      body { background: white; color: black; font-size: 12pt; }
      a::after { content: " (" attr(href) ")"; font-size: 10pt; }
      h1, h2, h3 { page-break-after: avoid; }
      img { max-width: 100%; page-break-inside: avoid; }
      .no-print { display: none; }
      details { display: block; }
      summary { font-weight: bold; }
    }

    30 lines. That's the entire intervention. Most teams have never written it, so most sites print badly.

    What we detect

    We look at the static HTML for three signals:

    1. `<link rel="stylesheet" media="print">` — a dedicated print stylesheet (cleanest pattern, easiest to maintain)
    2. Inline `<style>` blocks containing `@media print {` — print rules embedded in the main stylesheet (most common pattern)
    3. External CSS files that we can't inspect — we report when no inline or linked print rules exist, knowing some sites may have print rules in an external file. False negatives are possible; we err on flagging absence so you can confirm.

    The B2B angle

    If you sell to enterprise — legal, finance, healthcare, government — printable output is part of your product. Invoices that print as one clean page (not three pages of header chrome) signal that you understand enterprise. Reports that PDF cleanly are screenshots in every sales deck. "Save as PDF" being clean is the cheapest enterprise-credibility upgrade in your stack.

    What this tool can't catch

    Print rules that live in external CSS files we haven't fetched. If we report "no print styles found" and you know you have a stylesheet at /assets/print.css, you're probably fine — but check the rendered output in Chrome DevTools to be sure.

    Methodology

    We fetch the page HTML with a 10-second timeout and SiteMonitorBot/1.0 user-agent. We scan for two patterns in the returned HTML: (1) <link> tags with media="print" (or media="only print"), capturing their href attributes; and (2) inline <style> blocks containing @media print rules. The verdict has_print_styles is true if either signal is found. We report counts of each signal type, the list of external print stylesheet URLs, and a boolean for inline @media print blocks. We do not fetch external stylesheets — a site could declare <link rel="stylesheet" href="/main.css"> (no media attribute) and have @media print rules inside that external file; we will report "no print styles" in that case, which is technically a false negative. The check takes under 2 seconds. For definitive verification, use Chrome DevTools > Rendering > Emulate CSS media type > print after running this check.

    Frequently Asked Questions

    Monitor this continuously with LemWatch

    A one-off free print stylesheet checker shows you today. LemWatch re-runs the same checks around the clock and alerts you the moment something breaks — free for up to 10 sites, no card needed.

    HTTP Status Code Reference

    Understanding HTTP status codes helps you diagnose issues found by this tool: