Expand many photos to one shape
Give a whole folder of photos the same shape in one go — every photo whole, none cropped.
Drop a folder or several photos at once. Nothing leaves this tab.
- Free
- No sign-up
- Photos stay on your device


A folder at mixed ratios, every file out at the shape you need — each with its own margins, none cropped — with a preflight before it starts and a ZIP and manifest at the end.
Drop a folder, several files, or even one: the folder panel opens with a square target and fills decided per picture. Every file is processed one or two at a time and released before the next.
Four photos from one folder, made square for a marketplace
| Photo | Square canvas | Grew |
|---|---|---|
| Portrait phone photo, 3,024 × 4,032 | 4,032 × 4,032 | +1,008 wide |
| Landscape phone photo, 4,032 × 3,024 | 4,032 × 4,032 | +1,008 tall |
| Screenshot, 1,170 × 2,532 | 2,532 × 2,532 | +1,362 wide |
| Product shot, 2,000 × 1,600 | 2,000 × 2,000 | +400 tall |
Memory, and why it does not fall over
Each file is decoded, painted, encoded and released before the next begins — two at a time on a device with at least four cores and 8 GB of memory, one at a time everywhere else — so a folder of 12-megapixel photos taken to 21:9 does not hold forty oversized canvases at once. The finished files wait as compressed bytes until you save the ZIP.
The awkward questions
Can I expand a whole folder of photos to one shape?
Yes — drop the folder (or choose it) and name the shape: a marketplace square, Instagram 4:5, a 9:16 story, a 4 × 6 print, or any ratio or exact canvas. Each photo gets its own margins on whichever axis is short, so a portrait and a landscape in the same folder both arrive at the shape and neither is cropped.
What does the preflight tell me?
Before anything runs: how many files and how much came in, the target and fill, a rough range for the output size, and any file whose canvas this browser could not draw — read from each file's header, without decoding anything.
Can one photo get a different fill?
Yes. Every row has its own fill and anchor menus; leave them on “as the set” and the run's choice applies. With the fill set to “decide per picture”, each file's own edges choose: a flat edge takes the stretch, a busy one the blurred cover, a see-through one a sampled colour.
What if one file fails?
It costs a line in the list, not the run. Failed files are listed with the reason, and “Retry failed” runs just those again.
Can I hit a KB band for every file?
Yes — tick “Aim every file at a KB band” and pick a form's band (SSC or bank photo, 20–50 KB, for example). Each file is re-encoded quality first; no junk bytes are ever added, and each row says how its size was reached.
Why is the AI fill not offered for a folder?
A folder would meet the model's limits on some files and not others, and every file that passed would cost seconds per 512-pixel square. It is offered one photo at a time instead.
Related
- Square without cuttingA 1:1 frame reached by adding to the short sides instead of trimming the long ones.
- Instagram no cropThe whole photo at 1080 x 1350, 1:1, 3:4 or 9:16, with the profile-grid crop drawn on top.
- Print without cropping4 x 6, 5 x 7, 8 x 10 or A4 reached with a border instead of the lab's crop, with a DPI check for the size.
- Expand JPG sizeMore KB for a form's minimum, reached by raising quality first — or more pixels, by adding canvas.