Notes › Life Essays › Many photos into one image: grid and heart-shaped collages

Many photos into one image: grid and heart-shaped collages

For my mother's sixtieth birthday last year, the family group chat had piled up more than two hundred photos over two months. I wanted one image I could post straight to Moments and also print for the album. My first plan was to lay it out in presentation software, which took two hours and exported at 720 px wide, a blurry mess once enlarged. My second plan was an automatic collage app on my phone, which cut half of my little nephew's face out of the frame and left its own logo in the bottom-right corner of the result. Then my aunt said one sentence that woke me up: "How come your cousin's photo isn't in there?" That was the moment I admitted the time was never going into assembling the collage; it went into deciding which photos get in and how many stories the image is actually telling.

1. The number of photos decides the layout, not the other way round

First decide whether this image tells one story or nine sides of one story, then go and pick a template. Get the order backwards and you will keep swapping layouts. The table below is what I put together from the actual counts I used this time:

LayoutPhotos I usedGood forWatch out for
2×2 four-grid4Four moments from one eventSafest option; landscape and portrait both fit
3×3 nine-grid9A group shot of nine people, nine months of a yearMoments allows at most nine photos per post, so thumbnails fill it exactly
Horizontal strip3–5Timelines, growing-up comparisonsMore than 5 turns into a thin band on a phone
Vertical strip3Before-and-after, vertical scenesGood for the family group, not for a cover image
Heart10–16Birthday banquets, anniversary recapsThe centre cell is the largest and draws the eye, so put the main subject there; use the small corner cells for still lifes
Circle / diamond4–8Avatar walls, event displaysThe corners get cropped, so the subject has to sit in the middle of the frame

Two definitions first. One is the naming: the four-cell 2×2 layout should be called a four-grid, while "nine-grid" means the 3×3 nine-cell layout; mixing up the template names makes it easy to pick the wrong one. Two is the "at most nine photos" figure: that is my own long-running observation in the WeChat Moments phone client up to 2025. There is no official public documentation of that limit, and I have to recheck it whenever the client version changes, so do not cite it as a rule.

For my mother's version I ended up with the heart layout and sixteen photos: the middle cell of the heart template is the largest and draws the eye first, so it holds the photo of her and my dad; the small corner cells hold dishes, the cake and the balloon setup, detail shots where nobody's face is cropped.

2. My three hard rules for culling photos

  • Keep landscape and portrait apart as much as you can. This time 4032×3024 landscape shots sat in the same batch as 1080×1920 portrait shots. Square cells crop to the short edge: the 1080×1920 shot can only keep 1080×1080, which is 1080÷1920=56.25% of its height, so the frame loses a bit more than half, and that is exactly where the risk of cutting off a face comes from. The 4032×3024 landscape shot in the same batch crops to 3024÷4032=75%, losing far less. I limited the candidates to landscape and kept just two portrait shots for the larger centre cells.
  • Do not mix resolutions an order of magnitude apart. Piece together a 200 KB compressed image that has been forwarded three or four times in the group with a 5 MB original and the blurry one stands out instantly. This time I used only camera originals; versions circulating in the group chat were kept as fallbacks.
  • Drop any shot where someone has their eyes closed. In family photos, who got included matters far more than composition. I chose to send each candidate to the person in it for a look first, and that step is no less work than retouching.

3. From 217 photos to 16: my culling funnel

I went through the group album once, and 217 photos were usable. This time I did not pick the prettiest ones directly; I cut down in five layers:

  1. Split by occasion: keep representatives from the three batches - the first-month celebration, Chinese New Year and the previous birthday - 217 → 64.
  2. Cut by hard criteria: eyes closed, blurry, face blocked, duplicate burst shots (one per action), 64 → 31.
  3. Sort by orientation: 22 landscape, 9 portrait. The heart needs 16, so I took 14 from the landscape pile first.
  4. Backfill for people coverage: every family member has to appear at least once, so whoever was missing got a slot. Of the last 2 portrait shots, one went to the largest centre cell and one to the next largest.
  5. Let the people involved approve: my cousin's photo was sent back for making him look too thin, and replaced with another from the same event.

Culling took forty minutes and the actual collage took six. I had not expected that ratio at all, and it is the order I will follow directly next time.

4. What putting one together actually involves

  1. Put the culled photos into a local folder in the order I want, numbered. The template lays images out automatically by count and cell, so order is something I settle before uploading; if I want to change it, I re-upload in the new order.
  2. Pick a template in Photo Collage; sixteen photos go with the heart.
  3. I set spacing around 10px: zero spacing squeezes a dozen faces into one block, and over 20px looks as loose as table borders.
  4. Corner rounding stays at the smallest setting. Square corners look harsh on a phone, and too much rounding looks like something from a template site.
  5. I tried pure white and pale beige for the background; dark grey against warm indoor photos looks grubby, so pale beige won.
  6. In the preview I shrank the whole thing to the size it will display at in Moments, made sure every face was still recognisable, then exported a PNG. The result came to about 2.3 MB.
  7. Compress once before posting to the group; the platform's second round of compression blurs detail first. To be precise: a photographic PNG is lossless, and no amount of compression reliably halves it. I converted to WebP or applied lossy compression in Image Compressor to get down to about half, which is at least more controlled than letting the platform crush it blindly.

5. Three things to check once the collage is done

If you plan to print, the cell count is a hard constraint. How sharp a collage looks depends on how large the exported image is; the more cells, the fewer pixels each one gets. The arithmetic is direct: a ten-inch print is 8×10 inches, and at 300 DPI that needs 8×300=2400 by 10×300=3000 px. I exported this one at 3024 px wide, and cut into sixteen cells (4×4) each cell only gets 3024÷4=756 px; blow that single cell up to fill 8 inches of width and you have 756÷8=94.5 DPI. Switch to 3×3 and each cell is 3024÷3=1008 px, which at the same print size is still only 1008÷8=126 DPI. That is why, after cutting the heart into sixteen cells, faces looked noticeably soft when enlarged on their own, and I decided to make a separate 3×3 version of the middle nine for printing, posting the memory-wall version online only.

Confirm privacy one by one. The grandson's full face, a licence plate caught by the door, a name with a year on the cake, photos where the background reveals the housing compound - I asked about each one before sending anything out. For my mother's version I deliberately removed the plate from the car by the door, because a relative had raised that concern.

Wanting motion is a different request. The same batch can become a few-second slideshow GIF, using Images to GIF. But GIF only has 256 colours, so photo colours go grey and gradients band; for a group photo I am actually sending out, I still use a PNG collage.

6. Common questions

Q: What happens if the photos are different sizes?

The template fits each one to its cell automatically, but visually some fill the cell and some leave blank space, especially when the orientations differ. That is why I unify landscape and portrait at the culling stage rather than fixing it after the collage is built.

Q: The nine-grid or the heart, which is safer?

The nine-grid. All cells are equal, so swapping any photo you are unhappy with does not disturb the overall look; odd-shaped templates waste a lot of space at the corners, and a good photo easily loses half a face.

Q: Can I put more than twenty photos in one image?

Technically yes, but 16 is already the limit at which I can still recognise faces on a phone. Beyond that, split it into two images or just make an album.

Q: How do I swap a photo out of a finished collage?

There is no way to swap one out of a finished collage, so I rebuild it. That is why culling deserves extra time: this time I went from over two hundred photos down to sixteen in forty minutes.

Q: Are the photos uploaded?

No. The collage is assembled locally in the browser, so family photos never leave my own device, which matters more to me than saving a few steps.

My mother's version never got printed. She posted it to Moments herself with the caption "the kids worked hard", and it collected over sixty likes in two hours. What I really learned this time had nothing to do with software: the time in a collage goes into culling and deciding how many stories to tell, and choosing a layout is just the last move.

📎 Related articles

A photo rotated 90° lies flat again on another device: how the EXIF flag and a real rotation split the work 2026-10-22 Same Day Every Month Versus Every 28 Days, 29 Days Apart Within a Year 2026-10-22 Shuffling with a random sort comparator is already unfair 2026-10-21 Two gallons, two horsepower ratings, two byte prefixes: ask which one first 2026-10-21 Born on 29 February: which day you turn 18 in a common year 2026-10-21