diff --git a/client/package-lock.json b/client/package-lock.json
index 7a93cbc1..ee179159 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -3260,6 +3260,38 @@
       "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
       "dev": true
     },
+    "copy-webpack-plugin": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
+      "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==",
+      "dev": true,
+      "requires": {
+        "cacache": "^10.0.4",
+        "find-cache-dir": "^1.0.0",
+        "globby": "^7.1.1",
+        "is-glob": "^4.0.0",
+        "loader-utils": "^1.1.0",
+        "minimatch": "^3.0.4",
+        "p-limit": "^1.0.0",
+        "serialize-javascript": "^1.4.0"
+      },
+      "dependencies": {
+        "globby": {
+          "version": "7.1.1",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+          "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+          "dev": true,
+          "requires": {
+            "array-union": "^1.0.1",
+            "dir-glob": "^2.0.0",
+            "glob": "^7.1.2",
+            "ignore": "^3.3.5",
+            "pify": "^3.0.0",
+            "slash": "^1.0.0"
+          }
+        }
+      }
+    },
     "core-js": {
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
diff --git a/client/package.json b/client/package.json
index 9b000c61..ce60dba2 100644
--- a/client/package.json
+++ b/client/package.json
@@ -47,6 +47,7 @@
     "babel-runtime": "6.26.0",
     "clean-webpack-plugin": "^0.1.19",
     "compression-webpack-plugin": "^1.1.11",
+    "copy-webpack-plugin": "^4.6.0",
     "css-loader": "^0.28.11",
     "eslint": "^4.19.1",
     "eslint-config-airbnb-base": "^12.1.0",
diff --git a/client/public/favicon.ico b/client/public/favicon.ico
new file mode 100644
index 00000000..07cb5eea
Binary files /dev/null and b/client/public/favicon.ico differ
diff --git a/client/public/index.html b/client/public/index.html
index 6b003a23..0ac4e315 100644
--- a/client/public/index.html
+++ b/client/public/index.html
@@ -4,7 +4,7 @@
         <meta charset="utf-8">
         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
         <meta name="theme-color" content="#000000">
-        <link rel="shortcut icon" href="https://adguard.com/img/favicons/favicon.ico">
+        <link rel="shortcut icon" href="favicon.ico">
         <title>AdGuard Home</title>
     </head>
     <body>
diff --git a/client/public/install.html b/client/public/install.html
index 45065fe3..7f251c62 100644
--- a/client/public/install.html
+++ b/client/public/install.html
@@ -4,7 +4,7 @@
         <meta charset="utf-8">
         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
         <meta name="theme-color" content="#000000">
-        <link rel="shortcut icon" href="https://adguard.com/img/favicons/favicon.ico">
+        <link rel="shortcut icon" href="favicon.ico">
         <title>Setup AdGuard Home</title>
     </head>
     <body>
diff --git a/client/webpack.common.js b/client/webpack.common.js
index aa1b2383..bee1b975 100644
--- a/client/webpack.common.js
+++ b/client/webpack.common.js
@@ -5,12 +5,14 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin');
 const webpack = require('webpack');
 const flexBugsFixes = require('postcss-flexbugs-fixes');
 const CleanWebpackPlugin = require('clean-webpack-plugin');
+const CopyPlugin = require('copy-webpack-plugin');
 
 const RESOURCES_PATH = path.resolve(__dirname);
 const ENTRY_REACT = path.resolve(RESOURCES_PATH, 'src/index.js');
 const ENTRY_INSTALL = path.resolve(RESOURCES_PATH, 'src/install/index.js');
 const HTML_PATH = path.resolve(RESOURCES_PATH, 'public/index.html');
 const HTML_INSTALL_PATH = path.resolve(RESOURCES_PATH, 'public/install.html');
+const FAVICON_PATH = path.resolve(RESOURCES_PATH, 'public/favicon.ico');
 
 const PUBLIC_PATH = path.resolve(__dirname, '../build/static');
 
@@ -117,6 +119,9 @@ const config = {
         new ExtractTextPlugin({
             filename: '[name].[contenthash].css',
         }),
+        new CopyPlugin([
+            { from: FAVICON_PATH, to: PUBLIC_PATH },
+        ]),
     ],
 };