Image Collage

Three screenshots in a message thread are three attachments that arrive in whatever order the app feels like. One image is one image, in the order you put it in — which is most of the reason anyone stitches pictures together at all.

0 to 200
10 to 100. Ignored for PNG, which is lossless.
Image Collage — Join Two or Three Pictures Side by Side or StackedBuildFigure

The three size-matching rules

Placing two images side by side raises an immediate question: they are not the same height, so what gives?

Match the smallest scales the taller one down to the shorter one's height. Nothing is enlarged, so nothing softens, and the file comes out smaller. This is the right answer most of the time. Match the largest stretches the small one up, which preserves the resolution of the big one at the cost of blurring the other — worth it when the large image is the point and the small one is context. Leave every image at its own size touches nothing, aligns everything to the top (or left when stacking) and fills the leftover space with the background colour. Use it when pixels must not change, which usually means screenshots.

Stacking applies the same logic to width instead of height.

Settings by job

JobDirectionFitGap
Before and afterSide by sideMatch the smallest10-20 px, white
Long chat or page screenshotsStackedLeave as-is0
Three views of one objectSide by sideMatch the smallest0
Comparison with room for labelsSide by sideMatch the smallest30-40 px

The gap takes the background colour, so a black background with white gaps is not something this can produce. If you need that, make the gap zero and add the separators in an editor.

Size arithmetic and the canvas ceiling

Joining horizontally, the output width is the sum of the placed widths plus the gaps. Three 4000 px photos at their original size come to over 12,000 px, which exceeds the 8192 px limit that browser canvases can be relied on to allocate, and the whole composition gets scaled down to fit. If the result is destined for a message, a document or a web page, resize each source to 1000-1500 px first: the output is smaller, the processing is faster, and you lose nothing anyone would see.

Picking the format

Photographs joined to photographs want JPEG or WebP. Screenshots and anything with text want PNG, where letterforms keep their hard edges instead of growing the ringing artefacts that lossy compression puts around high-contrast lines. Mixed inputs are a judgement call — if there is any text in the composition, PNG is the safer default even when most of the area is photographic.

Getting past three

Three at a time is the limit here, but the output is an image like any other, so a four-image grid is two horizontal pairs fed back in and stacked. Do the pairs first at matching sizes and the grid comes out even; do them in the wrong order and you will be fighting a mismatched middle seam.

Questions people ask

Can I do more than three images at once?

Not in one pass. Combine the first three, save the result, and feed it back in as image 1 with the next ones. Because each round is a re-encode, use PNG for the intermediate steps if the content is a screenshot — repeated JPEG passes accumulate compression artefacts that will not come out again.

How do I make a 2x2 grid?

Two rounds. Join images 1 and 2 side by side, join images 3 and 4 side by side, then stack the two results vertically. Use the same size matching for both pairs so the two rows come out the same width, otherwise the stack will letterbox one of them.

How do I change the order?

The slots are the order: image 1, 2 and 3 go left to right, or top to bottom when stacking. To rearrange, pick the files into different slots. There is no drag handle because the form has three fixed inputs rather than a list.

The gap colour is wrong.

The gap and the background are one setting, deliberately, because they are the same painted area — the gap is just background showing between images. If you want a coloured frame around a white gap, or gaps in a different colour from the outer margin, that is a two-step job in an image editor.

Related