diff --git a/gajim/common/setting_values.py b/gajim/common/setting_values.py
index 678e0f3ad3432efaaa7e09891a9c38f568a28141..27c667690100792007ddc93f9d57ffb0ebf96de7 100644
--- a/gajim/common/setting_values.py
+++ b/gajim/common/setting_values.py
@@ -53,7 +53,9 @@ class _ACCOUNT_DEFAULT:
     'dev_force_bookmark_2',
     'dev_use_message_label',
     'developer_modus',
+    'enable_emoji_shortcodes',
     'enable_negative_priority',
+    'enable_file_preview',
     'escape_key_closes',
     'gc_notify_on_all_messages_private_default',
     'gc_notify_on_all_messages_public_default',
@@ -107,7 +109,6 @@ class _ACCOUNT_DEFAULT:
     'use_stun_server',
     'use_urgency_hint',
     'video_see_self',
-    'enable_emoji_shortcodes',
 ]
 
 IntSettings = Literal[
@@ -203,7 +204,9 @@ class _ACCOUNT_DEFAULT:
     'developer_modus': False,
     'dictionary_url': 'WIKTIONARY',
     'emoticons_theme': 'noto-emoticons',
+    'enable_emoji_shortcodes': True,
     'enable_negative_priority': False,
+    'enable_file_preview': True,
     'escape_key_closes': False,
     'file_transfers_port': 28011,
     'ft_add_hosts_to_send': '',
@@ -295,7 +298,6 @@ class _ACCOUNT_DEFAULT:
     'video_see_self': True,
     'video_size': '',
     'workspace_order': [],
-    'enable_emoji_shortcodes': True,
 }
 
 BoolAccountSettings = Literal[
diff --git a/gajim/gtk/conversation/rows/message.py b/gajim/gtk/conversation/rows/message.py
index f2bbb03fc5456b9c6fcb6eceaab78cb5406667a2..095f455c6799845233d23c1a686eeee870a08c84 100644
--- a/gajim/gtk/conversation/rows/message.py
+++ b/gajim/gtk/conversation/rows/message.py
@@ -123,9 +123,11 @@ def __init__(self,
             from_us = kind == 'outgoing'
 
         is_previewable = False
-        if additional_data is not None:
+        preview_enabled = app.settings.get('enable_file_preview')
+        if additional_data is not None and preview_enabled:
             is_previewable = app.preview_manager.is_previewable(
                 text, additional_data)
+
         if is_previewable:
             context = None
             if self._is_groupchat:
diff --git a/gajim/gtk/preferences.py b/gajim/gtk/preferences.py
index 97af68be83ea460b20cb5e6838c35bd63a2f0272..e436128000b951fceadbe0894589d5b6a37924e7 100644
--- a/gajim/gtk/preferences.py
+++ b/gajim/gtk/preferences.py
@@ -445,11 +445,17 @@ def __init__(self, *args: Any) -> None:
         }
 
         settings = [
+            Setting(SettingKind.SWITCH,
+                    _('File Preview'),
+                    SettingType.CONFIG,
+                    'enable_file_preview',
+                    desc=_('Show previews for files')),
             Setting(SettingKind.SPIN,
                     _('Preview Size'),
                     SettingType.CONFIG,
                     'preview_size',
                     desc=_('Size of preview image'),
+                    bind='enable_file_preview',
                     props={'range_': (100, 1000)}),
 
             Setting(SettingKind.POPOVER,
@@ -457,6 +463,7 @@ def __init__(self, *args: Any) -> None:
                     SettingType.CONFIG,
                     'preview_max_file_size',
                     desc=_('Maximum file size for preview generation'),
+                    bind='enable_file_preview',
                     props={'entries': sizes}),
 
             Setting(SettingKind.SWITCH,
@@ -464,27 +471,31 @@ def __init__(self, *args: Any) -> None:
                     SettingType.CONFIG,
                     'preview_anonymous_muc',
                     desc=_('Generate preview automatically in public '
-                           'group chats (may disclose your data)')),
+                           'group chats (may disclose your data)'),
+                    bind='enable_file_preview'),
 
             Setting(SettingKind.SWITCH,
                     _('Preview all Image URLs'),
                     SettingType.CONFIG,
                     'preview_allow_all_images',
                     desc=_('Generate preview for any URLs containing images '
-                           '(may be unsafe)')),
+                           '(may be unsafe)'),
+                    bind='enable_file_preview'),
 
             Setting(SettingKind.POPOVER,
                     _('Left Click Action'),
                     SettingType.CONFIG,
                     'preview_leftclick_action',
                     desc=_('Action when left-clicking a preview'),
+                    bind='enable_file_preview',
                     props={'entries': actions}),
 
             Setting(SettingKind.SWITCH,
                     _('HTTPS Verification'),
                     SettingType.CONFIG,
                     'preview_verify_https',
-                    desc=_('Whether to check for a valid certificate')),
+                    desc=_('Whether to check for a valid certificate'),
+                    bind='enable_file_preview'),
         ]
 
         PreferenceBox.__init__(self, settings)