diff --git a/app/assets/images/touch-icon-ipad-retina.png b/app/assets/images/touch-icon-ipad-retina.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb8a3f09f37b5ec3f776d45d803998b351f6111e
Binary files /dev/null and b/app/assets/images/touch-icon-ipad-retina.png differ
diff --git a/app/assets/images/touch-icon-ipad.png b/app/assets/images/touch-icon-ipad.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0e191ea75dbb6cb324e05d4e5930120b099c3b0
Binary files /dev/null and b/app/assets/images/touch-icon-ipad.png differ
diff --git a/app/assets/images/touch-icon-iphone-retina.png b/app/assets/images/touch-icon-iphone-retina.png
new file mode 100644
index 0000000000000000000000000000000000000000..482763186df12bb1af4d71617fe30bd91e5769cb
Binary files /dev/null and b/app/assets/images/touch-icon-iphone-retina.png differ
diff --git a/app/assets/images/touch-icon-iphone.png b/app/assets/images/touch-icon-iphone.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf4cc5830221111063f5b96a24b68df7aca2ad91
Binary files /dev/null and b/app/assets/images/touch-icon-iphone.png differ
diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml
index dbc68c39bf185f0e30de6a811b9bede7327057ee..64ae33619e652b85a8f5d7ea9e7214f537195d15 100644
--- a/app/views/layouts/_head.html.haml
+++ b/app/views/layouts/_head.html.haml
@@ -7,14 +7,25 @@
   %title= page_title
 
   = favicon_link_tag 'favicon.ico'
-  = stylesheet_link_tag    "application", :media => "all"
-  = stylesheet_link_tag    "print", :media => "print"
+
+  = stylesheet_link_tag "application", media: "all"
+  = stylesheet_link_tag "print",       media: "print"
+
   = javascript_include_tag "application"
+
   = csrf_meta_tags
+
   = include_gon
+
   %meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'}
   %meta{name: 'theme-color', content: '#474D57'}
 
+  -# Apple Safari/iOS home screen icons
+  = favicon_link_tag 'touch-icon-iphone.png',        rel: 'apple-touch-icon'
+  = favicon_link_tag 'touch-icon-ipad.png',          rel: 'apple-touch-icon', sizes: '76x76'
+  = favicon_link_tag 'touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '120x120'
+  = favicon_link_tag 'touch-icon-ipad-retina.png',   rel: 'apple-touch-icon', sizes: '152x152'
+
   = yield :meta_tags
 
   = render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')