Create a Letterpress Effect with CSS Text-Shadow

Create a Letterpress Effect with CSS Text-Shadow
Home » Tutorials » Create a Letterpress Effect with CSS Text-Shadow

Line25 is reader supported. At no cost to you a commission from sponsors may be earned when a purchase is made via links on the site. Learn more

The letterpress effect is becoming hugely popular in web design, and with a couple of modern browsers now showing support for the text-shadow CSS3 property, it’s now simple and easy to create the effect with pure CSS. No Photoshop trickery here!

Letterpress – Isn’t that a type of industrial print method? That’s right! But the effect has also made its way into web design. Check out the previous feature showcasing examples of how designers are using this cool ‘de-bossed’ look on designs across the web.

With the recent support of text-transform in Safari and Firefox (3.1+) the effect can easily be created without needing to use any image replacement techniques. This means your text is much easier to edit and has the benefit of being rendered directly in the browser.

View demo

Create a simple backgroundPin

Start out by creating a simple background. In Photoshop create a 100x100px and fill with a dark grey. Add some texture using the Noise filter.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
<html xmlns="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pure CSS Letterpress Effect</title>

<h2>Pure CSS Letterpress Effect</h2>


Set up a plain HTML document, then add a few lines of text to test the effect on.

body {
	background: #474747 url(bg.png);

h2 {
	font: 70px Tahoma, Helvetica, Arial, Sans-Serif;
	text-align: center;

Style up the text using the usual CSS properties to edit the size and basic appearance.

Text-Shadow CSS3 Property letterpress effect with CSSPin

Now we’re ready to apply the text-shadow property. This works by specifying an x-offset, a y-offset, the shadow blurriness and the actual colour of the shadow.

color: #222;
text-shadow: 0px 2px 3px #555;

To create the letterpress effect, we need to add a shadow that’s lighter than the colour of the text to ensure the effect works correctly. Here we’re using #555555 against the darker #222222 text colour. A 2px vertical offset and very subtle blurriness help give the exact appearance we’re after.

View the CSS letterpress effect demoPin

Simple! Check out the example to see it for yourself. Don’t forget, users with rubbish unsupporting browsers will only see the plain text, without the cool shadow awesomeness, so use it wisely.

View demo

Written by Iggy

Iggy is a designer who loves experimenting with new web design techniques, collating creative website designs, and writing about the latest design trends, inspiration, design freebies, and more. You can follow him on Twitter


Would you like to say something?

  1. SEO Edinburgh says:

    Another excellent tutorial. Thanks

  2. ferizaenal says:

    thanks ^_^

  3. Crystal says:

    I was looking for something just like this the other day. Thanks so much for the detailed explanation/tutorial. I’ve been seeing this technique around and definitely see it as a growing trend!

  4. Badger says:

    Thanks Chris, nice and simple and easy to follow. I know i’ll be using this in my designs from now on.

    Give us more like this.

    Thanks again.

  5. BInE says:

    It’s nice, but didn’t work in IE.

  6. wptidbits says:

    Oh my god. I never knew of this can happen only using simple CSS codes! Maybe now is the time to focus more on CSS codes rather than using plain images and combined it with CSS. Page load might reduce a lot!

  7. BigM75 says:

    thats the right way, more please, nice article

  8. Sendsider says:

    You can add this to the CSS but if it’s overdone, or added to smallish type it tends to lose it’s effect. Headlines are best use.

  9. Medspa MD says:

    Great tutorial. Nothing extraneous which is nice to see amidst a blizzard of content.

  10. aimee says:

    In the example you are placing the h1 and h2 tags in the head and do not have a body.

  11. Will says:

    Really fine post.

    Thanks for sharing.

    Get more here.


  12. Web Design Cambridgeshire says:

    Thanks for another great tutorial. Shame it isn’t supporting properly yet though…

  13. Marius M. says:

    Thats a nice.
    Can I use the background of the example on my own page for free or under a creativecommons licenses?

  14. SmashDesign says:

    Useful toturial

    Thanks for this post

  15. Gary says:

    just a note: the effect illustrated is known as relief or emboss printing. Letterpress (which I worked with for a few years in the 70’s is indistinguishable from any other printing unless magnified at least 5X. All magazines prior to the lithography boom around the early 70’s were printed letterpress. Get a magazine like Life or Time from the 60’s or before and compare the type under magnification to anything from the mid 70’s onward.

  16. Victor Tiago says:

    Thank you very very much!!!!

    nice tutorial!!!!

  17. as says:

    not work internet explorer

  18. hasfa says:

    nice tutorial and trick. Thanks Guys.

  19. XTubes says:

    Change the rgba to .33 in the .blackbox and make the background color the same on both it looks exactly the same.

    Free porn tubes

  20. hercival says:

    nice trick..
    but this letter press does not work with internet explorer…

  21. Liminal Web Design Cornwall says:

    I was looking at this on a site the other day wondering how they achieved it, awesome as it works with the CMS.

    Amazing how these little touches make such a huge difference.

  22. Mark Luetke says:

    Great I was looking for this!

  23. Aleksejs Gordejevs says:

    Nice info! Thanks!

  24. Bender says:

    Nice Trick. Thank you for sharing. Very useful.

  25. saumya says:

    nice trick,just incorporated in one of my projects.Sudden improvement in UI :)
    thank you so much

  26. jaycee says:

    thank you so much♥ check my blog :)

  27. Graphic, Web, Blog Design | BrandleDesign says:

    Nice trick!

  28. Dhirendra says:

    Good Post.

    But it doesn’t work on IE 6.

  29. sanakan says:

    a, a * {
    color: #1456a5;
    text-decoration: none;
    a:hover, a:hover * {
    color: #39f;
    text-shadow: 0 0 3px #1456a5;

    Another cool shadow at
    just a few number changed.

  30. alex says:

    Is a good tutorial, this work in IE8,

    visit my web

  31. Imran Khan says:

    I this a nice tutorial but this isn’t working in IE 6 ,

    actually i would say ie 6 sucks..

  32. David Latapie says:


    I would like to achieve the same effect but with a ghostwhite (#F8F8FF) background. Could you help me with the code, I tried hours with no luck?

    Thank you.

  33. bharat says:


  34. Yousuf says:

    Neat stuff!!!

  35. Design Informer says:

    Very nice Chris. Will be using this in my next web project.

  36. Kai says:

    damn nice effect. thanks for your post.
    a shame it doesnt work in IE

  37. WebDesignExpert.Me says:

    Great post! Linked to from my web design blog on how to use css text shadow to create letterpress effect.

  38. Jason says:

    awesome, look forward to using that.

  39. WpExplorer says:

    Amazing. Thanks.

  40. legOstaRwArs says:

    cool effect!
    but does’t work on IE

  41. manjeet says:

    cool effect but not work on IE6

  42. TeresaLiu says:

    Thanks for the tut, it’s help, i see it on google chrome, perfect performance.

  43. Sahan says:

    The press effect successfully shown in IE & FF, but not in chrome. (Chrome shows a text with a drop shadow) However recently I updated the FF and now it’s also showing a text with drop shadow ?

  44. le says:

    cool effect!

  45. David Smith says:

    Nice work. I would suggest that the following code produces a bit of a cleaner efffect:

    text-shadow:1px 1px 1px #555555;

  46. Daniel Due says:

    Hmm, cant seem to make this work, whats the browser support? you mention Firefox, but ive tested it in this? even firebugged your demo.. but tried on a white bg?

  47. Daniel Due says:

    Very nice, gonna try it out right away ;)
    BTW.!! I belive that all of us are gonna love when IE6 is left outta here.. :D I to, leave ppl with a message, telling them to upgrade from IE6.

    Anyways, keep em comming :)

  48. Marco says:

    Many thanks, I used it on my e107 site on the titles and even on the navbar.

  49. Dmitry says:

    Cool effect! Very nice!

  50. joel k says:

    web designer depot linked me to this page
    thanks 4 sharing this amazing effect

  51. Module23 Werbeagentur Koblenz says:

    Hey Chris,

    thanks for that innovative article. Bookmarked for letterpress effects!

  52. Michael Thomas says:

    That is a lovely effect. I was wondering what the reason for creating the grey background was, I can see many other uses for this. Cheers!

  53. studdude says:

    splendid effect, but It’s no soon all users will be able to experience this one, unfortunately…

  54. Barrett says:

    I mean this is a great effect, is it really that hard for people to upgrade their browsers? I mean come on! Thanks!

  55. TutsKing says:

    I clicked b/c I’m awesome. ;) It was worth it. :)
    I think a few people have called it Letterpress and it pretty much spread without anyone blinking an eye. . .

  56. D says:

    No idea why we’re calling this the letterpress effect. Good letterpress doesn’t smash the hell out of the paper. What’s wrong with calling it what we’ve always called it: Debossed.

  57. DAI Media says:

    Wooow, verry beatifull feature of css.
    Thx for sharing.

    Regards from Spain

  58. Mike Cravey says:

    Something I played with is using an rgba color so that you don’t have to customize the text-shadow for every style you want to use it on. Also helps if you have varying background colors.

  59. sandman6665 says:

    Another cool css3 feature! Wish most browser vendors support css3..

  60. Pedro Magalhães says:

    Strange… I’m not seeing it on Mozilla 3.0.13
    But i get the idea

  61. Most Interesting Ideas says:

    I understand so that does’t work on IE

  62. Alexander Bickov says:

    Reallu amazing post

  63. BebopDesigner says:

    Wow, it’s brilliant! Reaaly really handy. Thanks for sharing. Cheers.

  64. web2000 says:

    Hey nice easy effect here. I just wanted to share what it could look like in Internet Explorer (and firefox) using 2 absolute position spans – – thanks!

  65. Enk. says:

    Wow, Cool.
    It works well on Firefox but its showing simple text in Flock and Internet Explorer

  66. Web Design Bureau of Mauritius says:

    Hmmm, I’m using the latest version of Firefox. Is it one of the rubbish unsupported browsers? It seems that I can’t really view the example page, at least I can’t see the effect.

  67. Ben says:

    awesome! nice work mate

  68. Cedric Dugas says:

    Love it!

  69. Janportfolio says:

    cool, tnx!!

  70. leandra says:

    This is a great visual effect and I can already think of a spot where a client would love it. Thanks for the post!

  71. Sneh | LBOI Blog says:

    Great tut! Dugg, Tweeted and Bumped!

  72. choen says:

    how about ‘@font-face CSS embedding’

  73. zeemiDesign says:

    I can’t wait for all browsers to implement CSS 3. It will make so many things so much easier for us.

    I personally refuse already IE 6-Support for my portfolio web site, the users get redirected to a page with alternatives to IE 6.

  74. om ipit says:

    great tips chris
    simple but useful

  75. Dzinepress says:

    really nice!

Please Share