diff --git a/web/assets/favicon/android-chrome-192x192.png b/web/assets/favicon/android-chrome-192x192.png
new file mode 100644
index 00000000..a185cf9e
Binary files /dev/null and b/web/assets/favicon/android-chrome-192x192.png differ
diff --git a/web/assets/favicon/android-chrome-512x512.png b/web/assets/favicon/android-chrome-512x512.png
new file mode 100644
index 00000000..69208c74
Binary files /dev/null and b/web/assets/favicon/android-chrome-512x512.png differ
diff --git a/web/assets/favicon/site.webmanifest b/web/assets/favicon/site.webmanifest
new file mode 100644
index 00000000..bc1ad65b
--- /dev/null
+++ b/web/assets/favicon/site.webmanifest
@@ -0,0 +1,12 @@
+{
+ "name": "3X-UI — An Advanced Web Panel for Xray Core",
+ "short_name": "3X-UI",
+ "description": "Xray panel supporting multi-protocol multi-user expire day & traffic & ip limit (Vmess & Vless & Trojan & ShadowSocks & Wireguard)",
+ "icons": [
+ { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
+ { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
+ ],
+ "theme_color": "#008771",
+ "background_color": "#ff0000",
+ "display": "standalone"
+}
diff --git a/web/html/common/head.html b/web/html/common/head.html
index 19798c83..665fd37f 100644
--- a/web/html/common/head.html
+++ b/web/html/common/head.html
@@ -8,6 +8,7 @@
+