diff --git a/searx/settings.yml b/searx/settings.yml
index a331b576a..896472ea4 100644
--- a/searx/settings.yml
+++ b/searx/settings.yml
@@ -63,6 +63,7 @@ redis:
 ui:
   # Custom static path - leave it blank if you didn't change
   static_path: ""
+  static_use_hash: false
   # Custom templates path - leave it blank if you didn't change
   templates_path: ""
   # query_in_title: When true, the result page's titles contains the query
diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py
index bb0f2eb29..e3efb8544 100644
--- a/searx/settings_defaults.py
+++ b/searx/settings_defaults.py
@@ -176,6 +176,7 @@ SCHEMA = {
     },
     'ui': {
         'static_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'static')),
+        'static_use_hash': SettingsValue(bool, False),
         'templates_path': SettingsDirectoryValue(str, os.path.join(searx_dir, 'templates')),
         'default_theme': SettingsValue(str, 'simple'),
         'default_locale': SettingsValue(str, ''),
diff --git a/searx/webapp.py b/searx/webapp.py
index 5aa0a382c..2f27d0f64 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -350,10 +350,11 @@ def custom_url_for(endpoint: str, override_theme: Optional[str] = None, **values
     if endpoint == 'static' and values.get('filename'):
         theme_name = get_current_theme_name(override=override_theme)
         filename_with_theme = "themes/{}/{}".format(theme_name, values['filename'])
-        file_hash = static_files.get(filename_with_theme)
-        if file_hash:
-            values['filename'] = filename_with_theme
-            suffix = "?" + file_hash
+        values['filename'] = filename_with_theme
+        if get_setting('ui.static_use_hash', False):
+            file_hash = static_files.get(filename_with_theme)
+            if file_hash:
+                suffix = "?" + file_hash
     if endpoint == 'info' and 'locale' not in values:
         locale = request.preferences.get_value('locale')
         if _INFO_PAGES.get_page(values['pagename'], locale) is None: