diff --git a/Web/Cookie.hs b/Web/Cookie.hs
--- a/Web/Cookie.hs
+++ b/Web/Cookie.hs
@@ -32,6 +32,7 @@
 import Data.Text.Encoding (encodeUtf8, decodeUtf8With)
 import Data.Text.Encoding.Error (lenientDecode)
 import Control.Arrow ((***))
+import Data.Maybe (isJust)
 
 -- | Textual cookies. Functions assume UTF8 encoding.
 type CookiesText = [(Text, Text)]
@@ -84,6 +85,7 @@
     , setCookiePath :: Maybe S.ByteString
     , setCookieExpires :: Maybe UTCTime
     , setCookieDomain :: Maybe S.ByteString
+    , setCookieHttpOnly :: Bool
     }
     deriving (Eq, Show, Read)
 
@@ -104,6 +106,9 @@
         Nothing -> mempty
         Just d -> copyByteString "; domain=" `mappend`
                   fromByteString d
+    , if setCookieHttpOnly sc
+        then copyByteString "; HttpOnly"
+        else mempty
     ]
 
 parseSetCookie :: S.ByteString -> SetCookie
@@ -114,6 +119,7 @@
     , setCookieExpires =
         lookup "expires" pairs >>= parseCookieExpires
     , setCookieDomain = lookup "domain" pairs
+    , setCookieHttpOnly = isJust $ lookup "HttpOnly" pairs
     }
   where
     (key, value, b) = parsePair a
diff --git a/cookie.cabal b/cookie.cabal
--- a/cookie.cabal
+++ b/cookie.cabal
@@ -1,5 +1,5 @@
 name:            cookie
-version:         0.2.1
+version:         0.3.0
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
