fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/image-tools/photo-collage

Several photos, one post. Pick a grid and fill it.

Choose a layout, drop in photos and drag each one to set what shows in its cell. Set the shape for where it's going, add a border, and save a single sharp image. Your photos stay on your device.

layout · 4 photos
shape · 1:1 · 1080 × 1080
1:1Instagram post4:5Instagram portrait9:16Story, Reels16:9banner, slides3:4profile grid post9:83 × 2 puzzle8:52-slide carousel12:53-slide carousel
each cell in the saved image508 px wide
drag a photo to reposition it · click to select
spacing12 px
cell corners8 px
outer corners0 px
background
select a cell
zoom_inZoom inzoom_outZoom outdeleteRemove
downloadSave collage1080 × 1080 JPEG · 4 of 4 cells filled
~/each-cell-is-smaller

Nine photos share one image's pixels.

Social sites resize everything to a fixed width. On a 1080-pixel Instagram post, each cell of a 3 × 3 grid gets under 360 pixels across, about the size of a thumbnail. These are the pixels each cell of your current layout will actually get.

1
508 × 508sharp
2
508 × 508sharp
3
508 × 508sharp
4
508 × 508sharp
The smallest cell is 508 pixels wide. Plenty for faces and scenery; very small text may still blur.
~/making-it-work

Four habits of collages that look intentional.

A grid of random photos reads as clutter. These small choices make it read as one picture.

One hero, the rest supportGive your best photo the big cell and let smaller ones add context.
Keep one colour familyPhotos from the same light or edit read as a set, even across different subjects.
Mix near and farAlternate a wide scene with close-ups so the grid has a rhythm.
Leave some breathing roomA little spacing and a quiet background separate cells without adding noise.
~/what-the-grid-cuts-off

A fixed grid crops every photo that isn’t its shape.

Each cell is filled edge to edge, so a 4:3 photo in a tall cell loses its sides. The left panel measures exactly how much of each of your photos the current layout throws away. The right panel uses the other approach, from photo sites like Flickr: keep every photo whole and choose row breaks so the rows come out close to one target height.

Your grid · 2 × 2 · 1:1shown of each photo
photo → cellkept
11.29:1 → 1:178%
21.29:1 → 1:178%
31.29:1 → 1:178%
41.29:1 → 1:178%
22% of your photos’ pixels cut off0.6 of 2.5 megapixels fall outside their cells (including any zoom). Drag inside a cell to choose which part stays.
Justified rows · nothing cropped
Target row height320 px
row 1 · 3 photos · 257 pxrow 2 · 1 photo · 320 px (last, not stretched)
Every photo is shown whole at its own shape. For each possible run of photos the row height is (width − gaps) ÷ the sum of their aspect ratios; dynamic programming tries every place to break rows and keeps the set whose heights stray least (squared) from 320 px: total deviation 63 px. Output 1080 × 643.
~/split-for-the-feed

Cut the collage into posts, and see what the profile grid hides.

A swipe-through panorama splits the collage into carousel slides; a “puzzle” profile splits it into posts that line up on your profile. The collage is re-rendered large enough for each tile to be 1080 pixels wide, then cut. The dashed frame shows the 3:4 thumbnail a profile grid displays, so you can see what falls outside it.

…
…
…
hourglass_top
Rendering tiles…
The ZIP is built in your browser (stored, uncompressed, with CRC-32 per file). Grid files are numbered in upload order: a profile shows the newest post first, so the bottom-right tile goes up first. Platform behaviour is from general knowledge of current apps and changes often.
~/reference

Where collages end up, and how they get cut.

Common upload sizes and what each feed does to them. The “cell at 2 × 2” column is computed from your current spacing. Platform sizes come from general knowledge of their help pages and change often: check before a campaign.

PlacementUpload sizeCell at 2 × 2What the feed does
Instagram feed, square1080 × 1080508 × 508Shown at 1:1 in the feed. Profile grid shows a 3:4 centre crop (since 2025), cutting the sides.
Instagram feed, portrait1080 × 1350508 × 6434:5 is the tallest the feed shows; the 3:4 grid thumbnail trims a little from the top and bottom.
Instagram carousel1080 × 1350 each508 × 643Up to 20 slides; all slides use the first slide’s ratio, between 1.91:1 and 4:5.
Stories and Reels1080 × 1920508 × 928Full-screen 9:16; the app overlays the top and bottom ~250 px with controls.
X / Twitter, single image1600 × 900752 × 402Timeline previews are cropped towards 16:9; tap to see the whole image.
Facebook feed1080 × 1350508 × 643Portrait up to 4:5 is shown full; taller images are cropped in the feed.
LinkedIn post1200 × 1200564 × 564Square and 1.91:1 are both shown uncropped on desktop and mobile.
Pinterest pin1000 × 1500470 × 7202:3 is recommended; much taller pins are truncated in the grid.
Timeline
1912Braque and Picasso glue paper and printed matter into paintings: papier collé, the start of collage as an art form.
1919Hannah Höch and the Berlin Dada artists cut and assemble photographs into photomontage.
1981Knuth and Plass publish optimal line breaking, the row-break method justified photo layouts adapt.
1982David Hockney makes his Polaroid “joiners”, building one scene from a grid of photos.
2010Instagram launches with square-only posts.
2015Instagram allows portrait and landscape posts.
2016Flickr open-sources its justified-layout library.
2017Instagram adds multi-photo carousel posts; CSS Grid ships in all major browsers.
2020CSS gap for flexbox reaches all major browsers.
2024Instagram raises the carousel limit to 20 slides.
2025Instagram switches profile grids from square to 3:4 thumbnails.
Art-history and platform dates are from general knowledge; check primary sources before citing.