Add a watermark to your images
Type your shop name or load a transparent PNG logo, place it in a corner, and let the batch run — the mark is drawn on the finished image, not eaten by the crop.
🔒 100% client-side · zero server upload
Results
Everything runs in this browser tab. Nothing is uploaded.
Malaysian rules & edge cases
What "crop" means here. The frame you pick is filled by cutting pixels away from the longer side — a cover crop. Nothing is letterboxed, nothing is stretched and no background is invented. A 1600×900 banner cropped to 1:1 loses 350 px from each side; the same banner cropped to 4:5 loses more. If you wanted the whole photo inside a square with a coloured border, that is padding, which is a different tool.
| Frame | Typical use | Pixels — longest-side preset in brackets |
|---|---|---|
| 1:1 | Shopee and Lazada listings, Instagram grid, profile pictures | 1080×1080 (1080) |
| 4:5 | Instagram and Facebook feed, the tallest portrait a feed allows | 1080×1350 (1350) |
| 3:4 | Portrait photo prints and some marketplace categories | 1080×1440 (1440) |
| 16:9 | Website banners, YouTube thumbnails, slide decks | 1920×1080 (1920) |
| 9:16 | Reels, TikTok, WhatsApp Status — full-screen vertical | 1080×1920 (1920) |
The order that matters. The EXIF orientation is read first and the photo is rotated upright, then the crop is taken. Doing it the other way round cuts the wrong axis: a phone photo stored 3200×2400 with orientation 6 is really a 2400×3200 portrait, so a square must come out of the upright frame — 2400×2400 starting 400 px down — not out of the stored one. The demo file on this page is exactly that photo, and its row names the crop it took.
Size. The longest side is scaled to the preset you choose, and the tool never upscales: a 600 px product shot asked for 1080 px stays 600 px and the row says so. Anything above 16.7 megapixels is scaled into the canvas ceiling, because a bigger canvas is what kills a mobile tab.
Watermark. Text or a logo image (PNG with transparency), at any of nine positions, sized 2–20 % of the short edge and drawn 10–100 % opaque. It is painted after the crop, so it can never be sliced by the frame. A logo, when one is loaded, takes the place of the text.
What is lost on purpose. The image is redrawn on a canvas and encoded again, so the camera model, the GPS fix, the timestamp and the software tag are gone — which is usually the point of posting a product photo. A wide-gamut profile (Display P3, Adobe RGB) comes back as sRGB. PNG output is lossless and keeps transparency; JPEG has no alpha, so transparent pixels take the background colour you choose.
Honest limits. WebP output needs a browser that can really encode it — Safari cannot, and asking for image/webp there silently returns a PNG, so this tool checks the type of the bytes it received and saves an honest JPEG named .jpg when it has to. AVIF is not offered at all. And a batch is one download: two or more files arrive as a single ZIP built inside the tab, because iOS blocks the second automatic download.
Before and after
Before
produk-kopi-01.jpg — stored 3200×2400, EXIF orientation 6 (upright 2400×3200) — iPhone 15 Pro — GPS 3.1390, 101.6869
banner-raya-2026.png — 2400×1350 — the wide banner a square crop has to lose pixels from
logo-kedai-kopi.png — 600×600 with a transparent background After
produk-kopi-01-1x1-1080.jpg — 1080×1080 upright, cropped from 2400×2400 — camera, GPS and date removed
banner-raya-2026-1x1-1080.png — 1080×1080 — 525 px cut from each side, nothing stretched
logo-kedai-kopi-1x1-600.png — 600×600 — 1:1 already, so only the transparency survives untouched How it works
- Drop your images, or press "Load sample data" for a portrait photo that really carries EXIF orientation 6 plus a camera and GPS block, a wide 2400×1350 banner, and a transparent logo.
- Choose the frame (1:1 for a Shopee listing, 4:5 for a feed, 9:16 for a Story), the longest side, and where the crop should start. Add a watermark text or a logo if you need one.
- Press Run, check each row — real output size, real pixels, what was removed — then download one image or the whole batch as a single ZIP.
FAQ
Text or logo — which should I use?
Text is instant and needs no file, and it stays readable at any size. A logo survives resizing better and looks more like a brand, but a busy logo at 5 % of the image is mud; use a simple mark with strong contrast.
How do I stop the watermark ruining the product shot?
Keep it in a corner at 5–6 % of the short edge and drop the opacity to about 70 %. The size and opacity sliders are live, so you can try a setting, look at the thumbnail on the row, and change it before downloading.
Is the watermark baked into the file?
Yes — it is painted on the pixels before encoding, so it is part of the image and cannot be removed by a viewer. Keep the original file: this tool never overwrites it, and every output name carries a -wm tag.