Crop an image to 9:16
Full-screen vertical: the frame is filled edge to edge, so nothing is letterboxed and no black bars appear above or below the photo.
🔒 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
Why do vertical videos have black bars?
Because a landscape clip shown on a portrait screen cannot fill it without cropping; the app pads it instead. Cropping a still photo here avoids that: the frame is cut to 9:16 so it genuinely fills the screen.
Will text near the edges survive?
Probably not — a 9:16 crop from a landscape photo keeps only the middle 31 % of the width. Put the important subject in the centre when you shoot, or use the anchor control to keep a different band.
Can I add my shop name to a Story image?
Yes: type it into the watermark box, choose a corner and keep the size around 5 % of the short edge. It is drawn after the crop, so it cannot be sliced, and the batch still downloads as one ZIP.