Possible Duplicate:
Are “print” links needed on a website?

On a well-developed website with a print stylesheet, simply using a browser's Print… command will send an appropriately-formatted page to the printer—regardless of a user's awareness, prior to printing, of that behavior.

This makes me think that we should abandon Print buttons in architecting websites that we know will be developed to include print stylesheets. Even setting aside client-side resistance to such a change, though, some users may still look for those links. Do we give the people what they (or some of them) want? Or make the change and just let them adjust their expectations over time?


5 Answers 5


Using CSS to format your content for print is a great technical solution, and as such should virtually always be what you use (with a few possible exceptions as pointed out by Charles).

However it's not the most usable on its own! To non-technical users it is a mystery feature — to them, the reality is a page that has all kinds of things they don't want to print, such as menus, tabs, ads, whatever. They will not know about the magic that CSS can perform and how they can easily just hit CTRL+P and all of that will disappear.

For this reason you should still include a print button when print is going to be a commonly requested action, such as invoices, order confirmation pages, coupons, vouchers, travel details, etc. It should just say "Print" or something like "Printable version" in order to inform the user that you will, in fact, clean up the page for them to print.

This will help the user realize that you've got their needs covered.* Technically, all the button does is window.print();.

* Using CSS is great because at any time if a user decides to print, you've got them covered too. However, even as a technical user knowing the power of CSS, I'm still trained to look for a print button to ensure that the version I print is correctly formatted.


For the very specific task of having the web page come out of the printer, no, there is no need to build anything into the web page to handle that.

However, 'print version' type templates serve many purposes and some of those may warrant consideration:

  • a print friendly layout is often more readable on content-rich web sites. Some users may like to read your site on screen using the print friendly template (one large page, fewer side bars, etc)

  • some users may want to see what the page looks like prior to printing. Certainly the browser/OSes print preview can handle that, but it's nice to see it on screen as well as a lot of folks (usually your client) can't seem to figure that feature out.

  • older browser cough--IE have wonky support of CSS print styles. I've run into bizarre problems with divs only printing half on the second page and things like that.


I think a different print page can be useful, especially in the cases where the amount of information is very different for the page or print. Content may be split over several pages, yet printed as one document. You could use css for this, certainly. However, that doesn't mean that it is the optimal choice. Especially when the content is pulled together automatically (and this is generally the case) duplication is no problem: the information is still in one source, not multiple (so it doesn't violate the DRY principle).

Also, in several cases the print-button generates a pdf, which allows for more consistent prints, but also for easier off-site filing or mailing (saving a webpage requires you to also store accompanying css and image files, in a pdf, it is contained.)

I think separate print options, and therefor the buttons, may still add value. Wether it is the best case in every individual case, I don't know.

  • I have never seen the print button generate a PDF. Do you have an example of that? Commented Mar 11, 2011 at 19:30
  • I think I have seen it most with order confirmations and the like, however, I can't link those. If I come across others, I'll add them.
    – Inca
    Commented Mar 11, 2011 at 19:38

I work for a large fortune 500. I ran a click map on our site. Hardly anyone clicked on the Print icon at the top of the screen.

  • Thanks! That's kind of you. Any way you could post your results somewhere or otherwise verify them? Commented Jul 20, 2011 at 19:53
  • Well, that doesn't mean anything if your site has nothing to do with what @DevanGoldstein is making. The user may not need to print anything on your site, but that doesn't mean the same holds true for ALL sites.
    – invot
    Commented Apr 21, 2017 at 21:18

Personally, I offer both:

  • if the user already knows what print stylesheets are: he will print by himself (CTRL + P or File > Print or Context-menu > Print) and the print stylesheet handles the formatting.

  • if the user doesn't know about print stylesheets:

    • when he clicks the print button and javascript is enabled, it triggers the dialog and the print stylesheet handles the formatting.

    • when he clicks the print button and javascript is disabled: it sends him to the "print page" which is actually the same page except the CMS edits the <link> tags on the fly to remove all media=screen stylesheets and replaces media=print stylesheets by media=screen,print, that way the user sees the effect of the print stylesheet, making it intuitively obvious that this page can be safely printed, without having to educate users about print stylesheets.

Very easy to setup, progressive-enhanced and works even if javascript is disabled :-)

Not the answer you're looking for? Browse other questions tagged or ask your own question.