Originally published on DEV.to — tested with SquareImage.
I build SquareImage, a small set of in-browser square-image tools. This week I ran its make-an-image-square-without-cropping page against a marketplace question sellers keep hitting: the phone photo is neither square nor on pure white, Amazon MAIN wants both, Shopify collections look jagged when aspect ratios drift, and a centered 1:1 crop quietly deletes a third of a 3:2 product shot.
I used four large CC0 product photos (camera, running shoe, watch, leather duffel), exported real 2048×2048 JPEGs from the live tool, and checked every file in Python — including corner RGB samples for the Amazon white rule and a product-bounding-box fill % for the 85% rule.
Short version: "Square with color" set to #FFFFFF really does give corner pixels of RGB 255,255,255, keeps the whole photo, and lands at Shopify's usual 2048 square. A centered Square Crop on the same 3:2 sources keeps only 66.7% of the width. Blur pad looks nicer for social, but its corners are warm brown — it fails Amazon MAIN. And white-pad alone on a full-bleed 3:2 photo only fills about 67% of the square frame, so the Amazon 85% fill rule is a separate problem from the white-background rule.
Marketplace rules I actually checked (2026-11-05)
I only used each platform's own help pages (or, for Amazon, a Seller Central manager restatement, because the Seller Central help article itself is login-walled).
| Marketplace | What matters for this job | Source |
|---|---|---|
| Shopify | Best types PNG then JPEG; max 5000×5000 or 25 MP; file under 20 MB; square product images 2048×2048 usually display best; keep a consistent aspect ratio on featured/main images so collection grids align. White background is recommended in the photography guide (setup tip), not a hard RGB lock like Amazon. | Product media types, Product photography |
| Amazon MAIN | Pure white background RGB 255,255,255; product fills 85–100% of the frame; show only the product (no props/text/logos/watermarks on MAIN); ≥1000 px on the longest side for zoom; JPEG preferred. | Seller Central community post by Dougal_Amazon restating the standards (discussion) — honest note: I could not quote a public G1881 help URL because it redirects behind login |
| Etsy | Listing photos recommended ≥2000×2000; first photo ≥635×635 to avoid lower search placement; types .jpg .gif .png .svg .heic; animated GIF and transparent PNG not supported (transparency becomes black). At least one unedited photo of the actual item against a real background is required — white-pad is for other slots / other marketplaces, not a replacement for that required real photo. |
Image requirements, Listing image requirements / authenticity |
The four samples
All CC0 from Wikimedia Commons. Non-white, busy backgrounds on purpose so the white pad is obvious:
| Photo | Size | Bytes | Aspect | Author |
|---|---|---|---|---|
| Polaroid Land Camera Pronto flat-lay | 6000×4000 | 6,942,650 | 3:2 landscape | WI-Photos |
| Hoka running shoe (on foot, patio) | 3024×4032 | 1,493,123 | 3:4 portrait | Mimimccraney |
| Festina chronograph on wood | 5616×3744 | 10,543,643 | 3:2 landscape | www.Pixel.la Free Stock Photos |
| Leather duffel on forest floor | 5472×3648 | 1,813,326 | 3:2 landscape | Harsh Jadav |
Total source weight: 20,792,742 bytes. These are lifestyle product photos, not Amazon-ready MAIN shots (props, outdoor ground, a foot in the shoe). I am measuring the padding math, not claiming the content rules are already satisfied.
Step 1: open the tool
The converter runs in the browser. Modes are radio buttons: Square with blur, Square with color, Square by resizing, Square Crop. The color picker is input#background-color (default #ff0000). Size menu: 512 / 1080 / 1200 / 3000 / Original / Custom — I set Custom to 2048 to match Shopify's usual square.
Step 2: what a centered Square Crop deletes
For any landscape W×H with W>H, a centered 1:1 crop keeps a H×H window and throws away (W−H)/W of the width. On every 3:2 sample here that is exactly 33.33% of the width gone, 66.67% kept. The portrait Hoka (3024×4032) keeps 75% of the height and loses the top and bottom 12.5% each.
On the Polaroid file that means the film canister on the left and the modern lens on the right are at risk. On the watch, the strap ends go. On the duffel, the handles or the side pocket.
Exported Square Crop → Custom 2048 → JPEG:
| Photo | Crop 2048 JPEG | What the crop kept |
|---|---|---|
| Polaroid | 697,723 B | 66.67% of width |
| Hoka | 838,339 B | 75.00% of height |
| Watch | 688,727 B | 66.67% of width |
| Duffel | 615,860 B | 66.67% of width |
Step 3: Square with color #FFFFFF
Switch to Square with color, set the picker to #ffffff, keep Custom 2048 JPEG, download.
Corner pixels sampled at (5,5), (W−6,5), (5,H−6), (W−6,H−6) on every white export:
| Photo | White-pad 2048 JPEG | Corner RGB (4 corners) | Non-white bbox fill of frame |
|---|---|---|---|
| Polaroid | 545,560 B (7.9% of the 6.94 MB source, −92.1%) | (255,255,255) ×4 | 67.19% |
| Hoka | 715,871 B (47.9% of source, −52.1%) | (255,255,255) ×4 | 75.10% |
| Watch | 402,352 B (3.8% of the 10.54 MB source, −96.2%) | (255,255,255) ×4 | 66.89% |
| Duffel | 409,071 B (22.6% of source, −77.4%) | (255,255,255) ×4 | 67.09% |
All four white exports are 2048×2048 JPEGs. All four have pure-white corners. The whole source photo is visible inside the square — nothing was cut.
The 85% fill catch (measured, not guessed)
Amazon MAIN wants the product to fill 85–100% of the frame. After a no-crop pad, the source photo occupies min(W,H)/max(W,H) of the square. For 3:2 that is 66.7%; for the Hoka 3:4 portrait it is 75%. None of these four lifestyle shots cleared 85% after white-pad alone.
So white-pad fixes the RGB 255 rule and the square rule, but it does not automatically fix the 85% fill rule. If your product is already small inside a loose phone frame, pad first then tighten with a square crop (or reshoot tighter). If the product already fills the short edge edge-to-edge, you still only get ~67% of a square from a 3:2 original — you need a nearer-to-square source or a deliberate zoom.
Portrait crop vs pad on the Hoka shoe:
Crop fills the square but cuts the toe/heel region (25% of height gone). White pad keeps the whole shoe and ankle, with white bars left and right, at 75% fill.
Step 4: one brand solid (Shopify / Etsy catalog)
Same Polaroid file, Square with color #f5f0e8 (warm paper), Custom 2048 JPEG: 545,466 B. Corner samples after JPEG encode: (245,241,232) — within a couple of levels of #f5f0e8 = (245,240,232) because JPEG is lossy. On the watch I also tried #111111 for a dark catalog card: 399,654 B, corners (17,17,17) after JPEG.
Useful for Shopify/Etsy lifestyle grids where you want a consistent brand matte instead of pure white. Do not use a brand color for Amazon MAIN.
Step 5: why blur pad fails Amazon MAIN
Same Polaroid, Square with blur, 2048 JPEG: 593,054 B. Corner samples: (172,125,35), (7,3,0), (39,13,0), (52,19,0) — warm fairy-light brown and near-black wood, not RGB 255. Fill of non-white content is essentially 100% of the frame (the blur covers everything), which is the opposite of a white MAIN plate.
Pretty for Instagram. Automatic reject material for Amazon MAIN.
Step 6: crop vs white vs brand vs blur, side by side
| Mode | Bytes | Keeps full photo? | Corner RGB | Amazon MAIN white? |
|---|---|---|---|---|
| Square Crop | 697,723 | No (66.7% of width) | scene colors | No (and product is cropped) |
Square with color #FFFFFF
|
545,560 | Yes | 255,255,255 | Yes (white rule) |
Square with color #f5f0e8
|
545,466 | Yes | ~245,241,232 | No |
| Square with blur | 593,054 | Yes | warm brown / black | No |
Step 7: simulated Shopify strip and Amazon card
Four white-padded 2048 thumbs in a simulated collection row — same 1:1 ratio, so the grid lines up the way Shopify's media docs describe when featured images share an aspect ratio:
And a mock Amazon search card built from the real Polaroid white export, with the four corner swatches sampled from the file (all white):
Blur version of the same card — the swatches are brown/black, which is the whole point:
Checklist I would actually use
-
Amazon MAIN: white pad
#FFFFFF+ corners really read 255,255,255 + product bbox ≥85% of the square + no props/text/logos on MAIN + ≥1000 px longest side (2048 is safely above that). White-pad a loose 3:2 lifestyle shot alone is not enough for the 85% rule. - Shopify: consistent 1:1 (2048×2048 is the size their media docs call out as usually best), PNG or JPEG, under 20 MB / 5000 px. Brand solid pads are fine when you want a catalog color instead of white.
- Etsy: keep one unedited real-background photo of the actual item for the authenticity rule; use padded squares for other listing slots or for channels that want white/square. First photo ≥635×635; prefer ≥2000×2000.
- Prefer Square with color over Square Crop when the product touches the short edge and you cannot afford to lose the sides. Use blurred frame only when Amazon MAIN is not the destination.
If you also need the JPEG/PNG under a shop's upload cap after padding, a related browser compressor is PixSip.
Credits
- Polaroid-Camera.jpg — WI-Photos, CC0
- Hoka Running Shoe.jpg — Mimimccraney, CC0
- Fashion-wristwatch-time-watch (24217032812).jpg — www.Pixel.la Free Stock Photos, CC0
- Leather duffel bag on the ground.jpg — Harsh Jadav, CC0
Related SquareImage writes on other platforms: Hashnode — Instagram carousel, mixed shapes to square 1080 · Medium — keep the whole subject when you force a photo to square · Blogger — a 1:1 crop deletes 44% of this wide photo.
Also useful on the product: the square image size guide and the homepage square image converter.













Top comments (0)