diff --git a/daemon_post_profile.py b/daemon_post_profile.py
index 3b55f9e5d..0a4c5c2ff 100644
--- a/daemon_post_profile.py
+++ b/daemon_post_profile.py
@@ -868,6 +868,36 @@ def _profile_post_no_seen_posts(base_dir: str, nickname: str, domain: str,
                       no_seen_posts_filename)
 
 
+def _profile_post_watermark_enabled(base_dir: str,
+                                    nickname: str, domain: str,
+                                    fields: {}) -> bool:
+    """ HTTP POST apply watermark to image attachments
+    """
+    watermark_enabled_filename = \
+        acct_dir(base_dir, nickname, domain) + '/.watermarkEnabled'
+    watermark_enabled = False
+    if fields.get('watermarkEnabled'):
+        if fields['watermarkEnabled'] == 'on':
+            watermark_enabled = True
+    if watermark_enabled:
+        if not os.path.isfile(watermark_enabled_filename):
+            try:
+                with open(watermark_enabled_filename, 'w+',
+                          encoding='utf-8') as fp_wm:
+                    fp_wm.write('\n')
+            except OSError:
+                print('EX: unable to write watermarkEnabled ' +
+                      watermark_enabled_filename)
+    if not watermark_enabled:
+        if os.path.isfile(watermark_enabled_filename):
+            try:
+                os.remove(watermark_enabled_filename)
+            except OSError:
+                print('EX: _profile_edit ' +
+                      'unable to delete ' +
+                      watermark_enabled_filename)
+
+
 def _profile_post_hide_follows(base_dir: str, nickname: str, domain: str,
                                actor_json: {}, fields: {}, self,
                                actor_changed: bool,
@@ -3023,6 +3053,8 @@ def profile_edit(self, calling_domain: str, cookie: str,
                                               fields)
                 _profile_post_no_seen_posts(base_dir, nickname, domain,
                                             fields)
+                _profile_post_watermark_enabled(base_dir, nickname, domain,
+                                                fields)
 
                 notify_likes_filename = \
                     acct_dir(base_dir, nickname, domain) + '/.notifyLikes'
diff --git a/media.py b/media.py
index 7cca39321..2a456427e 100644
--- a/media.py
+++ b/media.py
@@ -774,7 +774,16 @@ def apply_watermark_to_image(base_dir: str, nickname: str, domain: str,
         return False
     if not os.path.isfile('/usr/bin/composite'):
         return False
+    watermark_enabled_filename = \
+        acct_dir(base_dir, nickname, domain) + '/.watermarkEnabled'
+    if not os.path.isfile(watermark_enabled_filename):
+        return False
     _, watermark_filename = get_watermark_file(base_dir, nickname, domain)
+    if not watermark_filename:
+        # does a default watermark filename exist?
+        default_watermark_file = base_dir + '/manual/manual-watermark-ai.png'
+        if os.path.isfile(default_watermark_file):
+            watermark_filename = default_watermark_file
     if not watermark_filename:
         return False
     if not os.path.isfile(watermark_filename):
diff --git a/translations/ar.json b/translations/ar.json
index 355266c1f..3e58dcf0f 100644
--- a/translations/ar.json
+++ b/translations/ar.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "إضغط مفتاح الدخول للاستمرار",
     "PGP Public Key": "مفتاح PGP العام",
     "Don't show already seen posts": "لا تظهر المشاركات التي تمت مشاهدتها بالفعل",
-    "Watermark image": "صورة العلامة المائية"
+    "Watermark image": "صورة العلامة المائية",
+    "Apply a watermark to uploaded images": "إضافة علامة مائية على الصور التي تم تحميلها"
 }
diff --git a/translations/bn.json b/translations/bn.json
index 08c61dbd1..2a9467ca7 100644
--- a/translations/bn.json
+++ b/translations/bn.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "চালিয়ে যেতে এন্টার টিপুন",
     "PGP Public Key": "PGP পাবলিক কী",
     "Don't show already seen posts": "ইতিমধ্যে দেখা পোস্ট দেখাবেন না",
-    "Watermark image": "ওয়াটারমার্ক ইমেজ"
+    "Watermark image": "ওয়াটারমার্ক ইমেজ",
+    "Apply a watermark to uploaded images": "আপলোড করা ছবিগুলিতে একটি জলছাপ প্রয়োগ করুন"
 }
diff --git a/translations/ca.json b/translations/ca.json
index 4000a9e1d..8d578c341 100644
--- a/translations/ca.json
+++ b/translations/ca.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Premeu Intro per continuar",
     "PGP Public Key": "Clau pública PGP",
     "Don't show already seen posts": "No mostris les publicacions ja vistes",
-    "Watermark image": "Imatge de filigrana"
+    "Watermark image": "Imatge de filigrana",
+    "Apply a watermark to uploaded images": "Apliqueu una marca d'aigua a les imatges penjades"
 }
diff --git a/translations/cy.json b/translations/cy.json
index d8e41ab45..9eafd4657 100644
--- a/translations/cy.json
+++ b/translations/cy.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Pwyswch Enter i barhau",
     "PGP Public Key": "Allwedd Gyhoeddus PGP",
     "Don't show already seen posts": "Peidiwch â dangos postiadau a welwyd eisoes",
-    "Watermark image": "Delwedd dyfrnod"
+    "Watermark image": "Delwedd dyfrnod",
+    "Apply a watermark to uploaded images": "Cymhwyso dyfrnod i ddelweddau sydd wedi'u llwytho i fyny"
 }
diff --git a/translations/de.json b/translations/de.json
index b80d2d821..6bda2e6f3 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Drücken Sie die Eingabetaste, um fortzufahren",
     "PGP Public Key": "Öffentlicher PGP-Schlüssel",
     "Don't show already seen posts": "Bereits gesehene Beiträge nicht anzeigen",
-    "Watermark image": "Wasserzeichenbild"
+    "Watermark image": "Wasserzeichenbild",
+    "Apply a watermark to uploaded images": "Hochgeladenen Bildern ein Wasserzeichen hinzufügen"
 }
diff --git a/translations/el.json b/translations/el.json
index c676d7bf9..b27dfb2a8 100644
--- a/translations/el.json
+++ b/translations/el.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Πατήστε Enter για να συνεχίσετε",
     "PGP Public Key": "Δημόσιο κλειδί PGP",
     "Don't show already seen posts": "Να μην εμφανίζονται οι αναρτήσεις που έχετε ήδη δει",
-    "Watermark image": "Εικόνα υδατογραφήματος"
+    "Watermark image": "Εικόνα υδατογραφήματος",
+    "Apply a watermark to uploaded images": "Εφαρμόστε ένα υδατογράφημα στις μεταφορτωμένες εικόνες"
 }
diff --git a/translations/en.json b/translations/en.json
index 324b3ed46..27ae0d56f 100644
--- a/translations/en.json
+++ b/translations/en.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Press Enter to continue",
     "PGP Public Key": "PGP Public Key",
     "Don't show already seen posts": "Don't show already seen posts",
-    "Watermark image": "Watermark image"
+    "Watermark image": "Watermark image",
+    "Apply a watermark to uploaded images": "Apply a watermark to uploaded images"
 }
diff --git a/translations/es.json b/translations/es.json
index 140cb2431..a1ee62495 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Presione Entrar para continuar",
     "PGP Public Key": "Clave pública PGP",
     "Don't show already seen posts": "No mostrar publicaciones ya vistas",
-    "Watermark image": "Imagen de marca de agua"
+    "Watermark image": "Imagen de marca de agua",
+    "Apply a watermark to uploaded images": "Aplicar una marca de agua a las imágenes cargadas"
 }
diff --git a/translations/fa.json b/translations/fa.json
index 73e83cb76..e50aacfd3 100644
--- a/translations/fa.json
+++ b/translations/fa.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "برای ادامه Enter را فشار دهید",
     "PGP Public Key": "کلید عمومی PGP",
     "Don't show already seen posts": "پست های قبلا دیده شده را نشان ندهید",
-    "Watermark image": "تصویر واترمارک"
+    "Watermark image": "تصویر واترمارک",
+    "Apply a watermark to uploaded images": "اعمال واترمارک روی تصاویر آپلود شده"
 }
diff --git a/translations/fi.json b/translations/fi.json
index 66563a6e2..b275ffa37 100644
--- a/translations/fi.json
+++ b/translations/fi.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Jatka painamalla Enter",
     "PGP Public Key": "PGP julkinen avain",
     "Don't show already seen posts": "Älä näytä jo nähtyjä viestejä",
-    "Watermark image": "Vesileiman kuva"
+    "Watermark image": "Vesileiman kuva",
+    "Apply a watermark to uploaded images": "Lisää ladattuihin kuviin vesileima"
 }
diff --git a/translations/fr.json b/translations/fr.json
index 5a13218da..e151a3ea6 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Appuyez sur Entrée pour continuer",
     "PGP Public Key": "Clé publique PGP",
     "Don't show already seen posts": "Ne pas afficher les messages déjà vus",
-    "Watermark image": "Image en filigrane"
+    "Watermark image": "Image en filigrane",
+    "Apply a watermark to uploaded images": "Appliquer un filigrane aux images téléchargées"
 }
diff --git a/translations/ga.json b/translations/ga.json
index 04a81480b..8afe817d0 100644
--- a/translations/ga.json
+++ b/translations/ga.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Brúigh Enter chun leanúint ar aghaidh",
     "PGP Public Key": "Eochair Phoiblí PGP",
     "Don't show already seen posts": "Ná taispeáin postálacha atá feicthe cheana féin",
-    "Watermark image": "Íomhá comhartha uisce"
+    "Watermark image": "Íomhá comhartha uisce",
+    "Apply a watermark to uploaded images": "Cuir comhartha uisce i bhfeidhm ar íomhánna uaslódáilte"
 }
diff --git a/translations/he.json b/translations/he.json
index 7eb5f6f0b..957676ca3 100644
--- a/translations/he.json
+++ b/translations/he.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "לחץ על Enter כדי להמשיך",
     "PGP Public Key": "מפתח PGP ציבורי",
     "Don't show already seen posts": "אל תראה פוסטים שכבר נראו",
-    "Watermark image": "תמונת סימן מים"
+    "Watermark image": "תמונת סימן מים",
+    "Apply a watermark to uploaded images": "החל סימן מים על תמונות שהועלו"
 }
diff --git a/translations/hi.json b/translations/hi.json
index 96e6ac122..165dd963a 100644
--- a/translations/hi.json
+++ b/translations/hi.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "जारी रखने के लिए Enter दबाएँ",
     "PGP Public Key": "पीजीपी सार्वजनिक कुंजी",
     "Don't show already seen posts": "पहले से देखी गई पोस्ट न दिखाएं",
-    "Watermark image": "वॉटरमार्क छवि"
+    "Watermark image": "वॉटरमार्क छवि",
+    "Apply a watermark to uploaded images": "अपलोड की गई छवियों पर वॉटरमार्क लागू करें"
 }
diff --git a/translations/it.json b/translations/it.json
index 10fea3207..8d662c087 100644
--- a/translations/it.json
+++ b/translations/it.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Premere Invio per continuare",
     "PGP Public Key": "Chiave pubblica PGP",
     "Don't show already seen posts": "Non mostrare i post già visti",
-    "Watermark image": "Immagine filigrana"
+    "Watermark image": "Immagine filigrana",
+    "Apply a watermark to uploaded images": "Applicare una filigrana alle immagini caricate"
 }
diff --git a/translations/ja.json b/translations/ja.json
index 460233e8d..a02b001c4 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "続行するには Enter キーを押してください",
     "PGP Public Key": "PGP公開鍵",
     "Don't show already seen posts": "すでに閲覧した投稿を表示しない",
-    "Watermark image": "透かし画像"
+    "Watermark image": "透かし画像",
+    "Apply a watermark to uploaded images": "アップロードした画像に透かしを適用する"
 }
diff --git a/translations/ko.json b/translations/ko.json
index 2fe3adc0f..687760ce9 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "계속하려면 Enter를 누르세요.",
     "PGP Public Key": "PGP 공개 키",
     "Don't show already seen posts": "이미 본 게시물을 표시하지 않음",
-    "Watermark image": "워터마크 이미지"
+    "Watermark image": "워터마크 이미지",
+    "Apply a watermark to uploaded images": "업로드한 이미지에 워터마크를 적용합니다"
 }
diff --git a/translations/ku.json b/translations/ku.json
index d920cc72e..85e7884ca 100644
--- a/translations/ku.json
+++ b/translations/ku.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Ji bo berdewamkirinê Enter bikirtînin",
     "PGP Public Key": "Mifteya Giştî ya PGP",
     "Don't show already seen posts": "Mesajên ku berê hatine dîtin nîşan nedin",
-    "Watermark image": "Wêneyê Watermark"
+    "Watermark image": "Wêneyê Watermark",
+    "Apply a watermark to uploaded images": "Li ser wêneyên barkirî ava nîşanek bicîh bikin"
 }
diff --git a/translations/nl.json b/translations/nl.json
index e7f0ce22d..4d1074443 100644
--- a/translations/nl.json
+++ b/translations/nl.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Druk op Enter om door te gaan",
     "PGP Public Key": "PGP publieke sleutel",
     "Don't show already seen posts": "Toon geen reeds bekeken berichten",
-    "Watermark image": "Watermerk afbeelding"
+    "Watermark image": "Watermerk afbeelding",
+    "Apply a watermark to uploaded images": "Een watermerk toepassen op geüploade afbeeldingen"
 }
diff --git a/translations/oc.json b/translations/oc.json
index fa5add357..ec316b374 100644
--- a/translations/oc.json
+++ b/translations/oc.json
@@ -691,5 +691,6 @@
     "Press Enter to continue": "Press Enter to continue",
     "PGP Public Key": "PGP Public Key",
     "Don't show already seen posts": "Don't show already seen posts",
-    "Watermark image": "Watermark image"
+    "Watermark image": "Watermark image",
+    "Apply a watermark to uploaded images": "Apply a watermark to uploaded images"
 }
diff --git a/translations/pl.json b/translations/pl.json
index 9d6e7c17f..60d93eb35 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Naciśnij Enter, aby kontynuować",
     "PGP Public Key": "Klucz publiczny PGP",
     "Don't show already seen posts": "Nie pokazuj już wyświetlonych postów",
-    "Watermark image": "Obraz znaku wodnego"
+    "Watermark image": "Obraz znaku wodnego",
+    "Apply a watermark to uploaded images": "Zastosuj znak wodny do przesłanych obrazów"
 }
diff --git a/translations/pt.json b/translations/pt.json
index f84bbe1f3..1ae6b3e58 100644
--- a/translations/pt.json
+++ b/translations/pt.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Pressione Enter para continuar",
     "PGP Public Key": "Chave pública PGP",
     "Don't show already seen posts": "Não mostrar posts já vistos",
-    "Watermark image": "Imagem de marca de água"
+    "Watermark image": "Imagem de marca de água",
+    "Apply a watermark to uploaded images": "Aplicar uma marca de água nas imagens enviadas"
 }
diff --git a/translations/ru.json b/translations/ru.json
index f700e5850..439fc7d35 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Нажмите Enter, чтобы продолжить",
     "PGP Public Key": "Открытый ключ PGP",
     "Don't show already seen posts": "Не показывать уже просмотренные публикации",
-    "Watermark image": "Изображение водяного знака"
+    "Watermark image": "Изображение водяного знака",
+    "Apply a watermark to uploaded images": "Накладывать водяной знак на загружаемые изображения"
 }
diff --git a/translations/sw.json b/translations/sw.json
index b3a6584de..c8a035948 100644
--- a/translations/sw.json
+++ b/translations/sw.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Bonyeza Enter ili kuendelea",
     "PGP Public Key": "Ufunguo wa Umma wa PGP",
     "Don't show already seen posts": "Usionyeshe machapisho ambayo tayari yameonekana",
-    "Watermark image": "Picha ya watermark"
+    "Watermark image": "Picha ya watermark",
+    "Apply a watermark to uploaded images": "Tumia watermark kwa picha zilizopakiwa"
 }
diff --git a/translations/tr.json b/translations/tr.json
index 27fd768fe..45978536c 100644
--- a/translations/tr.json
+++ b/translations/tr.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Devam etmek için Enter'a basın",
     "PGP Public Key": "PGP Genel Anahtarı",
     "Don't show already seen posts": "Daha önce görülen gönderileri gösterme",
-    "Watermark image": "Filigran resmi"
+    "Watermark image": "Filigran resmi",
+    "Apply a watermark to uploaded images": "Yüklenen görsellere filigran uygulayın"
 }
diff --git a/translations/uk.json b/translations/uk.json
index d48e8b3e6..c1d332991 100644
--- a/translations/uk.json
+++ b/translations/uk.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "Натисніть Enter, щоб продовжити",
     "PGP Public Key": "Відкритий ключ PGP",
     "Don't show already seen posts": "Не показувати вже переглянуті публікації",
-    "Watermark image": "Зображення водяного знака"
+    "Watermark image": "Зображення водяного знака",
+    "Apply a watermark to uploaded images": "Застосування водяного знака до завантажених зображень"
 }
diff --git a/translations/yi.json b/translations/yi.json
index 6bd6fff0a..0aeabfe40 100644
--- a/translations/yi.json
+++ b/translations/yi.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "דרוק אַרייַן צו פאָרזעצן",
     "PGP Public Key": "PGP ציבור שליסל",
     "Don't show already seen posts": "צי ניט ווייַזן שוין געזען אַרטיקלען",
-    "Watermark image": "וואָטערמאַרק בילד"
+    "Watermark image": "וואָטערמאַרק בילד",
+    "Apply a watermark to uploaded images": "צולייגן אַ וואָטערמאַרק צו ופּלאָאַדעד בילדער"
 }
diff --git a/translations/zh.json b/translations/zh.json
index 154eccebf..55d38b51d 100644
--- a/translations/zh.json
+++ b/translations/zh.json
@@ -695,5 +695,6 @@
     "Press Enter to continue": "按 Enter 继续",
     "PGP Public Key": "PGP 公钥",
     "Don't show already seen posts": "不显示已经看过的帖子",
-    "Watermark image": "水印图像"
+    "Watermark image": "水印图像",
+    "Apply a watermark to uploaded images": "将水印应用于上传的图像"
 }
diff --git a/webapp_profile.py b/webapp_profile.py
index 10ce2c1db..bb9b4469e 100644
--- a/webapp_profile.py
+++ b/webapp_profile.py
@@ -2821,7 +2821,8 @@ def _html_edit_profile_options(is_admin: bool,
                                hide_follows: bool,
                                premium: bool,
                                no_reply_boosts: bool,
-                               no_seen_posts: bool) -> str:
+                               no_seen_posts: bool,
+                               watermark_enabled: bool) -> str:
     """option checkboxes section of edit profile screen
     """
     edit_profile_form = '    <div class="container">\n'
@@ -2915,6 +2916,10 @@ def _html_edit_profile_options(is_admin: bool,
     edit_profile_form += \
         edit_check_box(no_seen_posts_str, 'noSeenPosts', no_seen_posts)
 
+    watermark_str = translate["Apply a watermark to uploaded images"]
+    edit_profile_form += \
+        edit_check_box(watermark_str, 'watermarkEnabled', watermark_enabled)
+
     edit_profile_form += '    </div>\n'
     return edit_profile_form
 
@@ -3342,6 +3347,12 @@ def html_edit_profile(server, translate: {},
     if os.path.isfile(no_seen_posts_filename):
         no_seen_posts = True
 
+    # is watermarking enabled?
+    watermark_enabled_filename = account_dir + '/.watermarkEnabled'
+    watermark_enabled = False
+    if os.path.isfile(watermark_enabled_filename):
+        watermark_enabled = True
+
     # Option checkboxes
     edit_profile_form += \
         _html_edit_profile_options(is_admin, manually_approves_followers,
@@ -3356,7 +3367,7 @@ def html_edit_profile(server, translate: {},
                                    show_vote_posts, show_replies_followers,
                                    show_replies_mutuals, hide_follows,
                                    premium, no_reply_boosts,
-                                   no_seen_posts)
+                                   no_seen_posts, watermark_enabled)
 
     # Contact information
     edit_profile_form += \