diff --git a/guacamole/src/main/frontend/src/images/logo-192.png b/guacamole/src/main/frontend/src/images/logo-192.png
new file mode 100644
index 000000000..d5e7f6b92
Binary files /dev/null and b/guacamole/src/main/frontend/src/images/logo-192.png differ
diff --git a/guacamole/src/main/frontend/src/images/logo-512.png b/guacamole/src/main/frontend/src/images/logo-512.png
new file mode 100644
index 000000000..5fcd201c2
Binary files /dev/null and b/guacamole/src/main/frontend/src/images/logo-512.png differ
diff --git a/guacamole/src/main/frontend/src/images/logo-vector.svg b/guacamole/src/main/frontend/src/images/logo-vector.svg
new file mode 100644
index 000000000..2ec0cf1bc
--- /dev/null
+++ b/guacamole/src/main/frontend/src/images/logo-vector.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/guacamole/src/main/frontend/src/index.html b/guacamole/src/main/frontend/src/index.html
index fd6337872..7a26c121f 100644
--- a/guacamole/src/main/frontend/src/index.html
+++ b/guacamole/src/main/frontend/src/index.html
@@ -28,6 +28,7 @@
+
<% for (var index in htmlWebpackPlugin.files.css) { %>
diff --git a/guacamole/src/main/frontend/src/manifest.json b/guacamole/src/main/frontend/src/manifest.json
new file mode 100644
index 000000000..8ec765339
--- /dev/null
+++ b/guacamole/src/main/frontend/src/manifest.json
@@ -0,0 +1,24 @@
+{
+ "name": "Guacamole",
+ "short_name": "Guacamole",
+ "description": "Guacamole",
+ "start_url": ".",
+ "display": "standalone",
+ "icons": [
+ {
+ "src": "./images/logo-vector.svg",
+ "type": "image/svg+xml",
+ "sizes": "512x512"
+ },
+ {
+ "src": "./images/logo-512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ },
+ {
+ "src": "./images/logo-192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ }
+ ]
+}
diff --git a/guacamole/src/main/frontend/webpack.config.js b/guacamole/src/main/frontend/webpack.config.js
index dc6ad08cf..9a9679911 100644
--- a/guacamole/src/main/frontend/webpack.config.js
+++ b/guacamole/src/main/frontend/webpack.config.js
@@ -137,6 +137,7 @@ module.exports = {
{ from: 'fonts/**/*' },
{ from: 'images/**/*' },
{ from: 'layouts/**/*' },
+ { from: 'manifest.json' },
{ from: 'translations/**/*' },
{ from: 'verifyCachedVersion.js' }
], {