diff --git a/index.html b/index.html
index 501fda6..461cf18 100644
--- a/index.html
+++ b/index.html
@@ -4,6 +4,7 @@
     <meta charset="UTF-8" />
     <link rel="icon" type="image/png" href="/favicon.png" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <link rel="manifest" href="/app.webmanifest" />
     <title>SIGit</title>
   </head>
   <body>
diff --git a/public/app.webmanifest b/public/app.webmanifest
new file mode 100644
index 0000000..c0b073f
--- /dev/null
+++ b/public/app.webmanifest
@@ -0,0 +1,58 @@
+{
+  "short_name": "SIGit",
+  "name": "SIGit",
+  "description": "A decentralised document signing tool",
+  "icons": [
+    {
+      "src": "favicon-512x512.png",
+      "sizes": "512x512",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-384x384.png",
+      "sizes": "384x384",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-256x256.png",
+      "sizes": "256x256",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-192x192.png",
+      "sizes": "192x192",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-144x144.png",
+      "sizes": "144x144",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-128x128.png",
+      "sizes": "128x128",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-96x96.png",
+      "sizes": "96x96",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-72x72.png",
+      "sizes": "72x72",
+      "type": "image/png"
+    },
+    {
+      "src": "favicon-64x64.png",
+      "sizes": "64x64",
+      "type": "image/png"
+    }
+  ],
+  "start_url": "/",
+  "display_override": ["minimal-ui", "standalone"],
+  "display": "minimal-ui",
+  "orientation": "any",
+  "theme_color": "#7d54a3",
+  "background_color": "#ffffff"
+}
diff --git a/public/favicon-128x128.png b/public/favicon-128x128.png
new file mode 100644
index 0000000..ada1e35
Binary files /dev/null and b/public/favicon-128x128.png differ
diff --git a/public/favicon-144x144.png b/public/favicon-144x144.png
new file mode 100644
index 0000000..d226bc3
Binary files /dev/null and b/public/favicon-144x144.png differ
diff --git a/public/favicon-192x192.png b/public/favicon-192x192.png
new file mode 100644
index 0000000..d5ce791
Binary files /dev/null and b/public/favicon-192x192.png differ
diff --git a/public/favicon-256x256.png b/public/favicon-256x256.png
new file mode 100644
index 0000000..b6a340f
Binary files /dev/null and b/public/favicon-256x256.png differ
diff --git a/public/favicon-384x384.png b/public/favicon-384x384.png
new file mode 100644
index 0000000..cc9872e
Binary files /dev/null and b/public/favicon-384x384.png differ
diff --git a/public/favicon-512x512.png b/public/favicon-512x512.png
new file mode 100644
index 0000000..fe48fe3
Binary files /dev/null and b/public/favicon-512x512.png differ
diff --git a/public/favicon-64x64.png b/public/favicon-64x64.png
new file mode 100644
index 0000000..d59e016
Binary files /dev/null and b/public/favicon-64x64.png differ
diff --git a/public/favicon-72x72.png b/public/favicon-72x72.png
new file mode 100644
index 0000000..168bb20
Binary files /dev/null and b/public/favicon-72x72.png differ
diff --git a/public/favicon-96x96.png b/public/favicon-96x96.png
new file mode 100644
index 0000000..5267e60
Binary files /dev/null and b/public/favicon-96x96.png differ
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000..144306d
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 282.61 282.61">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #47b17d;
+      }
+
+      .cls-2 {
+        fill: #4c82a3;
+      }
+
+      .cls-3 {
+        fill: #7d54a3;
+      }
+    </style>
+  </defs>
+  <g id="Layer_1-2" data-name="Layer 1" transform="translate(0, 13.775)">
+    <g>
+      <path class="cls-2" d="M181.53,115.06h0c-9.4-36.67-56.77-24.79-121.09-12.57C-3.54,114.64-25.35,19.85,37.72,3.62,46.91,1.26,56.55,0,66.47,0c63.55,0,115.06,51.51,115.06,115.06Z"/>
+      <path class="cls-1" d="M100,140h0c9.4,36.67,56.77,24.79,121.09,12.57,63.98-12.16,85.79,82.64,22.72,98.86-9.19,2.36-18.83,3.62-28.76,3.62-63.55,0-115.06-51.51-115.06-115.06Z"/>
+      <circle class="cls-3" cx="140.77" cy="127.53" r="24.88"/>
+    </g>
+  </g>
+</svg>
\ No newline at end of file