{"id":13941,"date":"2024-03-15T08:10:19","date_gmt":"2024-03-15T08:10:19","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/"},"modified":"2025-08-06T01:24:33","modified_gmt":"2025-08-06T01:24:33","slug":"how-can-python-be-used-to-add-a-watermark-to-an-image","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/","title":{"rendered":"Python Watermark Image: Step-by-Step Guide"},"content":{"rendered":"<p>Python can utilize the Pillow library to add watermarks to images. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">from<\/span> PIL <span class=\"hljs-keyword\">import<\/span> Image, ImageDraw, ImageFont\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">add_watermark<\/span>(<span class=\"hljs-params\">image_path, watermark_text, output_path<\/span>):\r\n    <span class=\"hljs-comment\"># \u6253\u5f00\u56fe\u7247<\/span>\r\n    image = Image.<span class=\"hljs-built_in\">open<\/span>(image_path)\r\n\r\n    <span class=\"hljs-comment\"># \u521b\u5efa\u7ed8\u56fe\u5bf9\u8c61<\/span>\r\n    draw = ImageDraw.Draw(image)\r\n\r\n    <span class=\"hljs-comment\"># \u8bbe\u7f6e\u6c34\u5370\u6587\u672c\u7684\u5b57\u4f53\u548c\u5927\u5c0f<\/span>\r\n    font = ImageFont.truetype(<span class=\"hljs-string\">'arial.ttf'<\/span>, <span class=\"hljs-number\">36<\/span>)\r\n\r\n    <span class=\"hljs-comment\"># \u8ba1\u7b97\u6c34\u5370\u6587\u672c\u7684\u4f4d\u7f6e<\/span>\r\n    text_width, text_height = draw.textsize(watermark_text, font)\r\n    x = image.width - text_width - <span class=\"hljs-number\">10<\/span>\r\n    y = image.height - text_height - <span class=\"hljs-number\">10<\/span>\r\n\r\n    <span class=\"hljs-comment\"># \u6dfb\u52a0\u6c34\u5370\u6587\u672c<\/span>\r\n    draw.text((x, y), watermark_text, font=font, fill=(<span class=\"hljs-number\">255<\/span>, <span class=\"hljs-number\">255<\/span>, <span class=\"hljs-number\">255<\/span>, <span class=\"hljs-number\">128<\/span>))\r\n\r\n    <span class=\"hljs-comment\"># \u4fdd\u5b58\u56fe\u7247<\/span>\r\n    image.save(output_path)\r\n\r\n<span class=\"hljs-comment\"># \u793a\u4f8b\u7528\u6cd5<\/span>\r\nadd_watermark(<span class=\"hljs-string\">'input.jpg'<\/span>, <span class=\"hljs-string\">'Watermark'<\/span>, <span class=\"hljs-string\">'output.jpg'<\/span>)\r\n<\/code><\/pre>\n<p>In the above code, first open the image to which the watermark will be added using the Image.open() method, then create a drawing object draw. Next, use the textsize() method from the ImageDraw library to calculate the size of the watermark text, and calculate the position of the watermark text based on the image size and watermark text size. Finally, use the draw.text() method to add the watermark text and save the image with the watermark using image.save().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python can utilize the Pillow library to add watermarks to images. Here is an example code: from PIL import Image, ImageDraw, ImageFont def add_watermark(image_path, watermark_text, output_path): # \u6253\u5f00\u56fe\u7247 image = Image.open(image_path) # \u521b\u5efa\u7ed8\u56fe\u5bf9\u8c61 draw = ImageDraw.Draw(image) # \u8bbe\u7f6e\u6c34\u5370\u6587\u672c\u7684\u5b57\u4f53\u548c\u5927\u5c0f font = ImageFont.truetype(&#8216;arial.ttf&#8217;, 36) # \u8ba1\u7b97\u6c34\u5370\u6587\u672c\u7684\u4f4d\u7f6e text_width, text_height = draw.textsize(watermark_text, font) x = image.width &#8211; text_width &#8211; [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[2369,9130,72,1403,3834],"class_list":["post-13941","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-image-processing","tag-pillow","tag-python","tag-tutorial","tag-watermark"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python Watermark Image: Step-by-Step Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to add watermarks to images using Python &amp; Pillow. Simple code tutorial with implementation steps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Watermark Image: Step-by-Step Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to add watermarks to images using Python &amp; Pillow. Simple code tutorial with implementation steps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:10:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T01:24:33+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"Python Watermark Image: Step-by-Step Guide\",\"datePublished\":\"2024-03-15T08:10:19+00:00\",\"dateModified\":\"2025-08-06T01:24:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\"},\"wordCount\":102,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Image Processing\",\"Pillow\",\"Python\",\"tutorial\",\"Watermark\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\",\"name\":\"Python Watermark Image: Step-by-Step Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:10:19+00:00\",\"dateModified\":\"2025-08-06T01:24:33+00:00\",\"description\":\"Learn how to add watermarks to images using Python & Pillow. Simple code tutorial with implementation steps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python Watermark Image: Step-by-Step Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python Watermark Image: Step-by-Step Guide - Blog - Silicon Cloud","description":"Learn how to add watermarks to images using Python & Pillow. Simple code tutorial with implementation steps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/","og_locale":"en_US","og_type":"article","og_title":"Python Watermark Image: Step-by-Step Guide","og_description":"Learn how to add watermarks to images using Python & Pillow. Simple code tutorial with implementation steps.","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:10:19+00:00","article_modified_time":"2025-08-06T01:24:33+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"Python Watermark Image: Step-by-Step Guide","datePublished":"2024-03-15T08:10:19+00:00","dateModified":"2025-08-06T01:24:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/"},"wordCount":102,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Image Processing","Pillow","Python","tutorial","Watermark"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/","name":"Python Watermark Image: Step-by-Step Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:10:19+00:00","dateModified":"2025-08-06T01:24:33+00:00","description":"Learn how to add watermarks to images using Python & Pillow. Simple code tutorial with implementation steps.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-python-be-used-to-add-a-watermark-to-an-image\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python Watermark Image: Step-by-Step Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13941"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13941\/revisions"}],"predecessor-version":[{"id":157950,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13941\/revisions\/157950"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}