Give a product photo a square frame without cutting anything off
The whole product stays in the picture: the photo is fitted inside the frame and the spare space becomes a background you chose, not a crop.
🔒 100% client-side · zero server upload
Results
Everything runs in this browser tab. Nothing is uploaded.
Malaysian rules & edge cases
Padding, not cropping. A crop fills the frame by cutting off whatever does not fit. This tool does the reverse: the photo is fitted inside the frame at its own aspect ratio, and the difference becomes margin. Nothing is cut, nothing is stretched, and the product keeps its real proportions.
| Frame | Canvas | Where it is used |
|---|---|---|
| 1:1 · 1000 | 1000×1000 | Product listings, profile and shop images |
| 4:5 · 1080 | 864×1080 | Portrait feed posts |
| 3:4 · 1200 | 900×1200 | Portrait print, flyers |
| 16:9 · 1600 | 1600×900 | Shop banners and covers |
The number is the long edge. "1080" on a 4:5 frame gives 864×1080, not 1080×1350, so the pixel size on the label is the pixel size you get — the same convention as the crop tool next door.
It never enlarges a photo. A 600 px product shot asked for a 1000 px frame stays 600 px inside a wider frame, and the row says so. Upscaling cannot add detail; it only makes the file bigger and the product softer, so the frame grows and the pixels stay honest.
The margin is a share of the short edge. 6% on a 1000 px frame is 60 px on each side, so the photo has an 880×880 box to sit in. That is the difference between a product that touches the edges of a thumbnail and one that looks deliberate.
JPEG has no alpha channel. If the output is JPEG, the frame is painted with the background colour — white by default, because that is what a listing expects. Transparent padding is available for PNG and WebP, where alpha exists; asking for it in JPEG fills the colour instead of writing a file with black corners.
What it does not do. It does not remove the background behind the product (that is a cut-out job, not a padding job), it does not upscale, and it does not guess a marketplace's current rules: those change per category, and a number frozen into a tool's copy is worse than none. Check Seller Centre for the spec you must meet, then dial the frame to match.
A batch is one download. Two or more photos arrive as a single ZIP built inside the tab, with duplicate names numbered instead of overwritten. Nothing leaves the device: open the Network panel, choose a file, and no request appears.
Before and after
Before
produk-kopi-01.jpg — 3200×2400 stored, EXIF orientation 6 — iPhone 15 Pro
banner-raya-2026.png — 2400×1350 — no camera metadata
logo-kedai-kopi.png — 600×600 — transparent corners After
produk-kopi-01-1x1-1000-pad.jpg — 1000×1000 — 660×880 portrait, upright, on white
banner-raya-2026-1x1-1000-pad.jpg — 1000×1000 — 880×495 banner, white bands above and below
logo-kedai-kopi-1x1-1000-pad.jpg — 1000×1000 — 600×600 logo, not enlarged How it works
- Drop your product photos, or press "Load sample data" for a phone photo that really carries an orientation tag, a wide banner, and a transparent logo.
- Choose the frame, the shape and the margin: 1:1 at 1000 px with 6% margin is what a listing shows. Pick a background colour, or keep the padding transparent in PNG or WebP.
- Choosing the files starts the work. Check each row — real output size, real dimensions, whether the photo was kept at its own size — then download one image or the whole batch as a ZIP. Nothing left this tab.
FAQ
Why pad instead of crop?
Because a crop deletes pixels you cannot get back. A portrait photo of a bottle forced into a square loses the top and the bottom of the bottle, and a wide banner loses its left and right — which is usually where the text is. Padding keeps every pixel and puts the difference into margin, so the listing shows the whole product. The trade-off is honest: the product is smaller inside the frame.
My photo is smaller than the frame. Why did it not fill it?
Because a canvas cannot invent detail. Stretching a 600 px photo to 1000 px makes it soft and the file bigger for nothing; the row says "kept its own 600×600" instead of pretending. If the product must be larger, shoot or export it larger — most phone cameras already give you 3000 px or more.
Does it remove the background behind the product?
No. This tool adds a frame around the photo; it does not cut the product out of it. Removing a background needs a segmentation model, and doing it half-right is worse than not doing it: a cut-out with a chewed edge on a white square looks more artificial than the original table cloth. Use it when the photo already has a plain background.
Which frame size should I pick?
Start with 1:1 at 1000 px: it is the shape a listing grid shows and it is small enough to upload quickly. Pick 1600 or 2000 px when shoppers zoom into fabric, print or fine detail, because zoom needs pixels that 1000 px does not have. The frame is the canvas — the photo inside it is never enlarged to fill it, which is why a bigger frame keeps more of the original detail rather than adding any.
Are the images uploaded anywhere?
No. Each file is read with the browser File API and drawn on a canvas in this tab. Open the Network panel while you add photos and you will see no request. That matters here more than usual: a phone photo carries the GPS coordinates of where it was taken, and a product photo taken at home says where home is.