diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+- 0.8.1.0
+    * Add `<main>` element to HTML5
+
 - 0.8.0.2
     * Relax blaze-builder dependency to include 0.3 again
 
diff --git a/blaze-html.cabal b/blaze-html.cabal
--- a/blaze-html.cabal
+++ b/blaze-html.cabal
@@ -1,5 +1,5 @@
 Name:         blaze-html
-Version:      0.8.0.2
+Version:      0.8.1.0
 Homepage:     http://jaspervdj.be/blaze
 Bug-Reports:  http://github.com/jaspervdj/blaze-html/issues
 License:      BSD3
diff --git a/src/Text/Blaze/Html5.hs b/src/Text/Blaze/Html5.hs
--- a/src/Text/Blaze/Html5.hs
+++ b/src/Text/Blaze/Html5.hs
@@ -66,6 +66,7 @@
     , legend
     , li
     , link
+    , main
     , map
     , mark
     , menu
@@ -1196,6 +1197,24 @@
 link :: Html  -- ^ Resulting HTML.
 link = Leaf "link" "<link" ">"
 {-# INLINE link #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:199
+--
+-- | Combinator for the @\<main>@ element.
+--
+-- Example:
+--
+-- > main $ span $ toHtml "foo"
+--
+-- Result:
+--
+-- > <main><span>foo</span></main>
+--
+main :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+main = Parent "main" "<main" "</main>"
+{-# INLINE main #-}
 
 -- WARNING: The next block of code was automatically generated by
 -- src/Util/GenerateHtmlCombinators.hs:199
diff --git a/src/Text/Blaze/XHtml5.hs b/src/Text/Blaze/XHtml5.hs
--- a/src/Text/Blaze/XHtml5.hs
+++ b/src/Text/Blaze/XHtml5.hs
@@ -66,6 +66,7 @@
     , legend
     , li
     , link
+    , main
     , map
     , mark
     , menu
@@ -1196,6 +1197,24 @@
 link :: Html  -- ^ Resulting HTML.
 link = Leaf "link" "<link" " />"
 {-# INLINE link #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:199
+--
+-- | Combinator for the @\<main>@ element.
+--
+-- Example:
+--
+-- > main $ span $ toHtml "foo"
+--
+-- Result:
+--
+-- > <main><span>foo</span></main>
+--
+main :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+main = Parent "main" "<main" "</main>"
+{-# INLINE main #-}
 
 -- WARNING: The next block of code was automatically generated by
 -- src/Util/GenerateHtmlCombinators.hs:199
diff --git a/src/Util/GenerateHtmlCombinators.hs b/src/Util/GenerateHtmlCombinators.hs
--- a/src/Util/GenerateHtmlCombinators.hs
+++ b/src/Util/GenerateHtmlCombinators.hs
@@ -407,12 +407,12 @@
         , "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure"
         , "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header"
         , "hgroup", "html", "i", "iframe", "ins", "kbd", "label"
-        , "legend", "li", "map", "mark", "menu", "meter", "nav", "noscript"
-        , "object", "ol", "optgroup", "option", "output", "p", "pre", "progress"
-        , "q", "rp", "rt", "ruby", "samp", "script", "section", "select"
-        , "small", "span", "strong", "style", "sub", "summary", "sup"
-        , "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time"
-        , "title", "tr", "ul", "var", "video"
+        , "legend", "li", "main", "map", "mark", "menu", "meter", "nav"
+        , "noscript", "object", "ol", "optgroup", "option", "output", "p"
+        , "pre", "progress", "q", "rp", "rt", "ruby", "samp", "script"
+        , "section", "select", "small", "span", "strong", "style", "sub"
+        , "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th"
+        , "thead", "time", "title", "tr", "ul", "var", "video"
         ]
     , leafs =
         -- http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#void-elements
