diff --git a/src/webui/www/package.json b/src/webui/www/package.json
index 818d487385ff..2fd69b2ae853 100644
--- a/src/webui/www/package.json
+++ b/src/webui/www/package.json
@@ -6,7 +6,7 @@
"url": "https://github.com/qbittorrent/qBittorrent.git"
},
"scripts": {
- "format": "js-beautify -r *.mjs private/*.html private/scripts/*.js private/views/*.html public/*.html public/scripts/*.js && prettier --write **.css",
+ "format": "js-beautify -r *.mjs private/*.html private/scripts/*.js private/views/*.html public/*.html public/*.json public/scripts/*.js && prettier --write **.css",
"lint": "eslint *.mjs private/*.html private/scripts/*.js private/views/*.html public/*.html public/scripts/*.js && stylelint **/*.css && html-validate private public"
},
"devDependencies": {
diff --git a/src/webui/www/public/index.html b/src/webui/www/public/index.html
index a4dbc540a7ca..3733cdc2a11f 100644
--- a/src/webui/www/public/index.html
+++ b/src/webui/www/public/index.html
@@ -15,6 +15,7 @@
+
diff --git a/src/webui/www/public/manifest.json b/src/webui/www/public/manifest.json
new file mode 100644
index 000000000000..c4b97cf9a9a2
--- /dev/null
+++ b/src/webui/www/public/manifest.json
@@ -0,0 +1,13 @@
+{
+ "name": "QBT_TR(qBittorrent WebUI)QBT_TR[CONTEXT=Login]",
+ "icons": [{
+ "src": "images/qbittorrent32.png",
+ "sizes": "32x32",
+ "type": "image/png"
+ }, {
+ "src": "images/qbittorrent-tray.svg",
+ "sizes": "any",
+ "type": "image/svg+xml"
+ }],
+ "display": "standalone"
+}
diff --git a/src/webui/www/tstool.py b/src/webui/www/tstool.py
index 2166815dcfd2..364694f688b2 100755
--- a/src/webui/www/tstool.py
+++ b/src/webui/www/tstool.py
@@ -35,7 +35,7 @@
import sys
import xml.etree.ElementTree as ET
-accepted_exts = [".js", ".html", ".css"]
+accepted_exts = [".js", ".html", ".css", ".json"]
no_obsolete = False
www_folder = "."
diff --git a/src/webui/www/webui.qrc b/src/webui/www/webui.qrc
index 15f55ca02074..9508167d5718 100644
--- a/src/webui/www/webui.qrc
+++ b/src/webui/www/webui.qrc
@@ -447,6 +447,7 @@
public/images/qbittorrent-tray.svg
public/images/qbittorrent32.png
public/index.html
+ public/manifest.json
public/scripts/login.js