{"id":21134,"date":"2020-03-29T10:35:00","date_gmt":"2020-03-29T10:35:00","guid":{"rendered":"http:\/\/adding_watermarks_credits_badges_and_text_overlays_to_images"},"modified":"2025-10-22T13:33:12","modified_gmt":"2025-10-22T20:33:12","slug":"adding_watermarks_credits_badges_and_text_overlays_to_images","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images","title":{"rendered":"Adding Watermarks, Credits, Badges, and Text Overlays to Images"},"content":{"rendered":"<div>\n<p><span style=\"font-weight: 400;\">Media owners face a common problem with digital media: it\u2019s easy to share anyone\u2019s content, and the source is quickly lost. A common practice at major news outlets and blogs is to mark their work with an indelible mark to show ownership, with tactics such as:<\/span><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add watermark to image.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add text to image.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add credit to image.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add badge to image.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">These tactics can also be applied to videos as well. The goal is to ensure that no one can circulate those media without owner authorization and that no one takes undue credit for their creation. Watermarks are also a must for stock-photo sites that offer previews of images and videos for purchase. Embedding the photographer\u2019s name to or crediting a source in photos is a standard routine. Simple in theory, but to manage this process at scale can be a challenge.<\/span><\/p>\n<\/div>\n<div><\/div>\n<div>This post describes how to apply overlays to images with Cloudinary\u2019s <a href=\"https:\/\/cloudinary.com\/blog\/image_editing_basics_and_a_tutorial_for_automation_with_ai\" target=\"_blank\" rel=\"noopener\">image <\/a><a href=\"https:\/\/cloudinary.com\/blog\/image_editing_basics_and_a_tutorial_for_automation_with_ai\" target=\"_blank\" rel=\"noopener\">transformation<\/a>\u00a0techniques, which are effective text-overlay tools. Besides adding watermarks, you can also edit them by, say, adjusting their opacity or brightness. Additionally, you can embed custom badges and medals to your users\u2019 profile pictures, merge arbitrary text to images on your site, and input other enhancement tweaks.<\/div>\n<div><\/div>\n<div><span style=\"font-weight: 400;\">Before we go too far, if you\u2019re not already using Cloudinary, take two minutes to<\/span> <a href=\"https:\/\/cloudinary.com\/users\/register_free\"><span style=\"font-weight: 400;\">register, and you\u2019ll get free use of Cloudinary for life<\/span><\/a><span style=\"font-weight: 400;\">! <\/span><span style=\"font-weight: 400;\">Once you\u2019re set up, you\u2019ll be able to do everything we talk about in this article.<\/span><\/div>\n<div><\/div>\n<h2>How to Add Watermark to Image<\/h2>\n<div>\n<div>To add a watermark to an image in a snap:<\/div>\n<div><\/div>\n<div>1. Upload a semitransparent PNG to your Cloudinary account and assign it an easy-to-remember public ID. This image contains a watermark overlay\u2014the\u00a0 Cloudinary logo, whose public ID is \u2018sample_watermark\u2019:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/sample_watermark.png\" target=\"_blank\" rel=\"noopener\">https:\/\/res.cloudinary.com\/demo\/image\/upload\/sample_watermark.png<\/a><\/div>\n<\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.3,f_auto,q_auto\/sample_watermark.png\" alt=\"Image showing the Cloudinary logo to be used to add watermark to image example\" width=\"135\" height=\"96\" \/><\/div>\n<div><\/div>\n<div>2. Add Cloudinary&#8217;s <span style=\"color: #c01b00;\"><strong>overlay<\/strong><\/span> transformation parameter (&#8216;<span style=\"color: #c01b00;\"><strong>l<\/strong><\/span>&#8216; in dynamic URLs). For example, this URL generates a watermarked version of the uploaded image &#8216;brown_sheep.jpg&#8217;:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/l_sample_watermark\/brown_sheep.jpg\" target=\"_blank\" rel=\"noopener\">https:\/\/res.cloudinary.com\/demo\/image\/upload\/<span style=\"color: #c01b00;\"><strong>l_sample_watermark<\/strong><\/span>\/brown_sheep.jpg<\/a><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/l_sample_watermark\/w_0.3,q_auto\/brown_sheep.jpg\" alt=\"Image showing sample image of sheep in a pasture to be used for the add watermark to image project\" width=\"307\" height=\"204\" \/><\/div>\n<div><\/div>\n<div>When retrieving images, consider lazily resizing both the image and its watermark for a perfect fit. Take this JPEG, which has been resized to a 300-px. width with the Cloudinary watermark resized to be 280 px. wide:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300\/w_280,l_sample_watermark\/white_chicken.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/<span style=\"color: #c01b00;\"><strong>w_300\/w_280,l_sample_watermark<\/strong><\/span>\/white_chicken.jpg<\/a><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,q_auto\/w_280,l_sample_watermark\/white_chicken.jpg\" alt=\"Image showing sample image of chicken on a farm with Cloudinary watermark overlay\" width=\"300\" height=\"200\" \/><\/div>\n<div><\/div>\n<div>To downsize the watermark and position it arbitrarily, add the &#8216;<strong>gravity<\/strong>&#8216;, &#8216;<strong>x<\/strong>&#8216;, and &#8216;<strong>y<\/strong>&#8216; transformation parameters. For example, the following URL adds an 80-px. wide watermark 5 px. from the bottom-right corner of an uploaded image that is resized to fill a 300&#215;200-rectangle based on the face-detection capability:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,g_face,c_fill\/w_80,g_south_east,x_5,y_5,l_sample_watermark\/face_center.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_300,h_200,g_face,c_fill\/<br \/>\n<span style=\"color: #c01b00;\"><strong>w_80,g_south_east,x_5,y_5,l_sample_watermark<\/strong><\/span>\/face_center.jpg<\/a><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,g_face,c_fill,q_auto\/w_80,g_south_east,x_5,y_5,l_sample_watermark\/face_center.jpg\" alt=\"Image showing sample image of a smiling woman with Cloudinary watermark overlay\" width=\"300\" height=\"200\" \/><\/div>\n<div><\/div>\n<div>\n<div>Here\u2019s the same example in Ruby on Rails:<\/div>\n<pre>&lt;%= cl_image_tag(\"face_center.jpg\", \n                 :transformation =&gt; {\n                   :width =&gt; 300, :height =&gt; 200, \n                   :gravity =&gt; :face, :crop =&gt; :fill\n                 }, \n                 :overlay =&gt; \"sample_watermark\", \n                 :width =&gt; 80, :crop =&gt; :scale, \n                 :gravity =&gt; :south_east, :x =&gt; 5, :y =&gt; 5, \n                 :html_width =&gt; 300, :html_height =&gt; 200) %&gt;<\/pre>\n<div>\n<div>In the examples above, Cloudinary adds the watermark to the transformed versions of the uploaded image only; the original, watermarkless image remains accessible through the original URL. To circumvent that, add the watermark to the original image <strong>on upload<\/strong> with the \u2018transformation\u2019 parameter of Cloudinary\u2019s upload API. Here\u2019s a Ruby example:<\/div>\n<\/div>\n<div><\/div>\n<pre>Cloudinary::Uploader.upload(\"sample_upload.jpg\", \n                            :transformation =&gt; {\n                              :overlay =&gt; \"sample_watermark\"\n                            })\n<\/pre>\n<\/div>\n<h2>Badges and Medals<\/h2>\n<div><span style=\"font-weight: 400;\">Many social sites, such as Foursquare and Friendize.me (a cool service that offers advice on social-based purchases), award badges and medals to users for ongoing in-app achievements by overlaying those trophies to the users\u2019 profile pictures with CSS on the HTML page. Users get excited by badges, trophies, et cetera, making it worthwhile to know how to provide perks like this. The drawback\u2014at a certain level\u2014is that such a technique does not work in emails, because of lack of support from modern web-based email clients.<\/span><\/div>\n<div><\/div>\n<div>The solution? Dynamically create profile images with embedded badges, again with Cloudinary\u2019s overlay-transformation parameter.<\/div>\n<div><\/div>\n<div>For example, the dynamic URL below generates an image from the Facebook profile-picture of Friendize.me&#8217;s Mark Shteiman with a badge that depicts him as a member of the founding team.<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/facebook\/c_fill,h_100,w_100,c_thumb,g_face,r_20\/l_friendizeme_badge,g_south_east,x_-6,y_-6\/700144026.png\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/facebook\/c_fill,h_100,w_100,c_thumb,g_face,r_20\/<br \/>\n<span style=\"color: #c01b00;\"><strong>l_friendizeme_badge,g_south_east,x_-6,y_-6<\/strong><\/span>\/<strong>700144026<\/strong>.png<\/a><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: auto; margin-right: auto;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/facebook\/c_fill,h_100,w_100,c_thumb,g_face,r_20\/l_friendizeme_badge,g_south_east,x_-6,y_-6\/700144026.png\" alt=\"Image showing sample image of a blank profile icon with badge overlay\" width=\"106\" height=\"106\" \/><\/div>\n<div><\/div>\n<div>Here\u2019s the process: The URL request directs Cloudinary to access Facebook\u2019s API, download the latest profile-picture that matches the dimensions as specified, create a face-thumbnail crop with the face-detection technique, round the corners for a nicer look, add a badge icon, and deliver the final version through a fast content delivery network (CDN) with smart caching. Isn&#8217;t that just amazing?<\/div>\n<div><\/div>\n<div>\n<h2>How to Add Text Overlays<\/h2>\n<div>To overlay text on an image, add the related parameters to the dynamic URL. The uploaded image below is labeled with Sea Shell as a text overlay in 60-px. Arial font <span style=\"color: #800000;\">and<\/span> positioned 20 px. from the top.<\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_auto,f_auto,q_auto\/Web_Assets\/blog\/sea_shell.jpg\" alt=\"Image showing sample image of a seashell on the beach with text saying \u201cSea Shell\u201d demonstrating how to add text to image\" width=\"400\" height=\"267\" \/><\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_400\/l_text:arial_60:Sea%20Shell,g_north,y_20\/sea_shell.jpg\" target=\"_blank\" rel=\"noopener\"><span id=\"docs-internal-guid-f40823f5-7d47-fa8f-79fc-ce323a09d571\"><span style=\"font-size: 11.5pt; font-family: 'Courier New'; color: #888888; background-color: transparent; font-weight: bold; vertical-align: baseline;\">https:\/\/res.cloudinary.com\/demo\/<\/span><span style=\"font-size: 11.5pt; font-family: 'Courier New'; color: #002a52; background-color: transparent; font-weight: bold; vertical-align: baseline;\">image\/upload\/<\/span><span style=\"font-size: 11.5pt; font-family: 'Courier New'; color: #761a04; background-color: transparent; font-weight: bold; vertical-align: baseline;\">w_400\/l_text:arial_60:Sea Shell,g_north,y_20\/<\/span><span style=\"font-size: 11.5pt; font-family: 'Courier New'; color: #0074bc; background-color: transparent; font-weight: bold; vertical-align: baseline;\">sea_shell.jpg<\/span><\/span><\/a><\/div>\n<div><\/div>\n<div>For details, see this <a href=\"https:\/\/cloudinary.com\/blog\/how_to_overlay_text_on_image_easily_pixel_perfect_and_with_no_css_html\" target=\"_blank\" rel=\"noopener\">Cloudinary post<\/a>.<\/div>\n<div><\/div>\n<div><span style=\"font-weight: 400;\">Alternatively, overlay text with our API. (By the way, you can get a<\/span> <a href=\"https:\/\/cloudinary.com\/users\/register_free\"><span style=\"font-weight: 400;\">free Cloudinary account<\/span><\/a> <span style=\"font-weight: 400;\">right now for free for life!) The following Ruby code generates an image labeled Sample Name:<\/span><\/div>\n<pre>Cloudinary::Uploader.text(\"Sample Name\",\n                          :public_id =&gt; \"dark_name\",\n                          :font_family =&gt; \"Arial\", :font_size =&gt; 12,\n                          :font_color =&gt; 'black', :opacity =&gt; 90)\n<\/pre>\n<div><\/div>\n<div>You can specify font, color, and style parameters to customize the text. For details, see the [<a href=\"https:\/\/cloudinary.com\/documentation\/managing_assets\" target=\"_blank\" rel=\"noopener\">related documentation<\/a>].<\/div>\n<div><\/div>\n<div>The generated image then becomes available through this CDN URL:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/text\/dark_name.png\" target=\"_blank\" rel=\"noopener\">https:\/\/res.cloudinary.com\/demo\/image\/text\/dark_name.png<\/a><\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: auto; margin-right: auto;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/text\/dark_name.png\" alt=\"Image of text stating \u201cSample Name\u201d as part of how to add text to image project\" width=\"78\" height=\"11\" \/><\/div>\n<div><\/div>\n<div><strong>Note:<\/strong> If you do not specify a public ID for an image, Cloudinary assigns the latter a unique identifier, persistently mapping the ID to the text and style settings. That way, Cloudinary generates only one version of an image for the same text and style.<\/div>\n<div><\/div>\n<div><\/div>\n<div>Recall that the `<strong><span style=\"color: #800000;\">I<\/span><\/strong>` parameter in URLs overlays\u00a0 text overlays on images. The following example embeds the text \u2018dark_name\u2019 5 px. from the bottom-right corner of the image:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/l_text:dark_name,g_south_east,x_5,y_5\/face_center.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/<span style=\"color: #c01b00;\"><strong>l_text:dark_name,g_south_east,x_5,y_5<\/strong><\/span>\/face_center.jpg<\/a><\/div>\n<\/div>\n<div><\/div>\n<div>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.6,q_auto\/l_text:dark_name,g_south_east,x_5,y_5\/face_center.jpg\" alt=\"Image showing sample image of a woman pointing up with text \u201csample name\u201d demonstrating how to add text to image\" width=\"169\" height=\"254\" \/><\/div>\n<div><\/div>\n<div>\n<div>Here\u2019s the code in Rails:<\/div>\n<pre>cl_image_tag(\"face_center.jpg\", :overlay =&gt; \"text:dark_name\", \n             :gravity =&gt; :south_east, :x =&gt; 5, :y =&gt; 5)<\/pre>\n<div>Furthermore, you can apply multiple transformations and add overlays by editing the same URL. For example:<\/div>\n<div><\/div>\n<div><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_170,c_fill,g_face\/l_text:dark_name,g_south_east,x_5,y_5\/w_50,g_north_west,x_23,y_5,l_sample_watermark\/face_center.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_200,h_170,c_fill,g_face\/<br \/>\nl_text:dark_name,g_south_east,x_5,y_5\/<br \/>\nw_50,g_north_west,x_23,y_5,l_sample_watermark\/face_center.jpg<\/a><\/div>\n<\/div>\n<div><\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"margin-left: NaNpx; margin-right: NaNpx;\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_170,c_fill,g_face,q_auto\/l_text:dark_name,g_south_east,x_5,y_5\/w_50,g_north_west,x_23,y_5,l_sample_watermark\/face_center.jpg\" alt=\"Image showing sample image of a woman pointing up to  Cloudinary watermark and text of \u201csample name\u201d demonstrating how to add text to image\" width=\"200\" height=\"170\" \/><\/div>\n<div><\/div>\n<div><\/div>\n<div>\n<p><span style=\"font-weight: 400;\">With Cloudinary, adding watermarks, credits, badges, and text overlays becomes effortless and scalable\u2014no matter how many images you manage. These tools don\u2019t just protect your visual assets; they also help reinforce your brand identity across every channel. From simple watermarks to dynamic, data-driven overlays, Cloudinary\u2019s transformation capabilities put total creative control in your hands. Start experimenting today and see how easy it is to protect, personalize, and elevate your media.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Below, find additional links to content to help you dig deeper with how to add watermark to image and more:<\/span><\/p>\n<\/div>\n<div>\n<div>\n<ul>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/image_editing_basics_and_a_tutorial_for_automation_with_ai\" target=\"_blank\" rel=\"noopener\">Image-Editing Basics and a Tutorial for Automation With AI<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/how_to_automatically_and_professionally_remove_photo_backgrounds\" target=\"_blank\" rel=\"noopener\">How to Automatically Remove Photo Backgrounds in Seconds With AI<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/10_great_jquery_sliders_and_5_ways_to_build_one_yourself\" target=\"_blank\" rel=\"noopener\">Top 7 jQuery Sliders and Three Ways in Which to Create Your Own<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/add_the_360_product_viewer_to_your_commerce_site_with_cloudinary\" target=\"_blank\" rel=\"noopener\">Add the 360 Product Viewer to Your Commerce Site with Cloudinary<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/new_ai_based_image_auto_crop_algorithm_sticks_to_the_subject\">New AI-Based Image Auto-Crop Algorithm Sticks to the Subject<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/how_to_improve_your_shopify_s_store_loading_times_using_cloudinary\" target=\"_blank\" rel=\"noopener\">Integrating Cloudinary Into Your Shopify Store<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/how_to_overlay_text_on_image_easily_pixel_perfect_and_with_no_css_html\" target=\"_blank\" rel=\"noopener\">How to Overlay Text on Image Easily, Pixel Perfect and With No CSS\/HTML<\/a><\/li>\n<li><a href=\"https:\/\/cloudinary.com\/blog\/taking_cloudinary_s_magento_extension_to_the_next_level\" target=\"_blank\" rel=\"noopener\">Taking Cloudinary\u2019s Magento Extension to the Next Level<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Media owners face a common problem with digital media: it\u2019s easy to share anyone\u2019s content, and the source is quickly lost. A common practice at major news outlets and blogs is to mark their work with an indelible mark to show ownership, with tactics such as:\u00a0 Add watermark to image. Add text to image. Add [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":21135,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[165],"class_list":["post-21134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-image-transformation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Image Enhancement: Add Watermark to Image, Add Text Overlay to Image, and More<\/title>\n<meta name=\"description\" content=\"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adding Watermarks, Credits, Badges, and Text Overlays to Images\" \/>\n<meta property=\"og:description\" content=\"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-29T10:35:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-22T20:33:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Adding Watermarks, Credits, Badges, and Text Overlays to Images\",\"datePublished\":\"2020-03-29T10:35:00+00:00\",\"dateModified\":\"2025-10-22T20:33:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\"},\"wordCount\":1201,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA\",\"keywords\":[\"Image Transformation\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\",\"url\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\",\"name\":\"Image Enhancement: Add Watermark to Image, Add Text Overlay to Image, and More\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA\",\"datePublished\":\"2020-03-29T10:35:00+00:00\",\"dateModified\":\"2025-10-22T20:33:12+00:00\",\"description\":\"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA\",\"width\":1540,\"height\":847,\"caption\":\"Image showing a girl putting on headphones with add watermark to image of Cloudinary logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adding Watermarks, Credits, Badges, and Text Overlays to Images\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Image Enhancement: Add Watermark to Image, Add Text Overlay to Image, and More","description":"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.","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:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images","og_locale":"en_US","og_type":"article","og_title":"Adding Watermarks, Credits, Badges, and Text Overlays to Images","og_description":"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.","og_url":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images","og_site_name":"Cloudinary Blog","article_published_time":"2020-03-29T10:35:00+00:00","article_modified_time":"2025-10-22T20:33:12+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images"},"author":{"name":"","@id":""},"headline":"Adding Watermarks, Credits, Badges, and Text Overlays to Images","datePublished":"2020-03-29T10:35:00+00:00","dateModified":"2025-10-22T20:33:12+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images"},"wordCount":1201,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","keywords":["Image Transformation"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images","url":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images","name":"Image Enhancement: Add Watermark to Image, Add Text Overlay to Image, and More","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","datePublished":"2020-03-29T10:35:00+00:00","dateModified":"2025-10-22T20:33:12+00:00","description":"Learn how to add watermark to image, add text to image, as well as credit and badge overlay using Cloudinary for free.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","width":1540,"height":847,"caption":"Image showing a girl putting on headphones with add watermark to image of Cloudinary logo"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Adding Watermarks, Credits, Badges, and Text Overlays to Images"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718792\/Web_Assets\/blog\/08_add_watermark\/08_add_watermark.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21134"}],"version-history":[{"count":6,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21134\/revisions"}],"predecessor-version":[{"id":38974,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21134\/revisions\/38974"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/21135"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}