Rightmove watermark rules: white, 30% opacity, quarter size

Rightmove allows only white, translucent watermarks, at most a quarter of the image and 30% opacity or lower. Check the rule before you brand property photos.

4 min readSume
All posts

On Rightmove only white, translucent watermarks are allowed, they may be no larger than one quarter of the overall image, and their opacity should be 30% or lower. A watermark is only for preventing image copyright and should carry no further messaging, so no phone numbers or taglines. Anything else is the quickest way to get a listing image rejected, so build the watermark into your export step, not your generation prompt.

The rules are in Rightmove's technical guidelines (January 2026), read on 2026-10-02.

What are the image numbers?

Rightmove's help page gives sizes and ratio along with the guideline watermark rule.

Rightmove watermark and image sizes, from Rightmove's guidelines and help page, read 2026-10-02.
ItemValue
Watermark colourWhite, translucent only
Watermark sizeNo larger than one quarter of the overall image
Watermark opacity30% or lower
Watermark contentCopyright protection only; no further messaging
Upload ratio3:2
Summary results display224 x 149 px
Property details gallery656 x 437 px
Largest enlarged view1024 px wide or high (1024 x 683 for landscape)

Should a generated image carry the watermark?

A watermark identifies the photographer, so put it on your real photos. Do not ask an image model to draw a watermark: it will not respect 30% opacity or a quarter size reliably, and Sume's Image API does not take explicit pixel sizes. Apply it afterwards with a script.

A script that applies a compliant mark

This Pillow script pastes a white logo at 25% of the image width (a narrower logo than the quarter-area cap) with 30% opacity.

from PIL import Image

img = Image.open("photo.jpg").convert("RGBA")
mark = Image.open("logo-white.png").convert("RGBA")
w = img.width // 4
mark = mark.resize((w, int(mark.height * w / mark.width)))
alpha = mark.getchannel("A").point(lambda a: int(a * 0.3))
mark.putalpha(alpha)
x = img.width - mark.width - 24
y = img.height - mark.height - 24
img.alpha_composite(mark, (x, y))
img.convert("RGB").save("photo-marked.jpg", quality=92)
print("saved", img.size)

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume