diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+# 1.4.1
+* add viewport, charset, and async to auto generate API document
+
 # 1.4.0
 * remove Data.Apiary.Compat module
 * remove bytestring-lexing(and alex) dependency
diff --git a/apiary.cabal b/apiary.cabal
--- a/apiary.cabal
+++ b/apiary.cabal
@@ -1,5 +1,5 @@
 name:                apiary
-version:             1.4.0
+version:             1.4.1
 synopsis:            Simple and type safe web framework that generate web API documentation.
 description:
   Simple and type safe web framework that can be automatically generate API documentation.
diff --git a/src/Data/Apiary/Document/Html.hs b/src/Data/Apiary/Document/Html.hs
--- a/src/Data/Apiary/Document/Html.hs
+++ b/src/Data/Apiary/Document/Html.hs
@@ -83,6 +83,8 @@
 defaultDocumentToHtml :: DefaultDocumentConfig -> Documents -> Html
 defaultDocumentToHtml DefaultDocumentConfig{..} docs = H.docTypeHtml $ do
     H.head $ do
+        H.meta ! A.charset "UTF-8"
+        H.meta ! A.name "viewport" ! A.content "width=device-width,initial-scale=1.0"
         H.title (toHtml documentTitle)
         if documentUseCDN then cdns else embeds
         $(TH.runIO (readFile "static/jquery.cookie-1.4.1.min.js") >>= \c -> [|H.script $ preEscapedToHtml (c::String)|])
@@ -107,7 +109,7 @@
 
   where
     css u = H.link ! A.rel "stylesheet" ! A.href u
-    js  u = H.script ! A.src u $ mempty
+    js  u = H.script ! A.src u ! A.async "async" $ mempty
     dataToggle = attribute "data-toggle" " data-toggle=\""
     dataTarget = attribute "data-target" " data-target=\""
 
