Combine several images into one

This free online tool combines two or more images into a single file - side by side in a row, stacked in a column, or laid out in a grid. Everything happens in your browser, so the images are never uploaded.

No upload No file size limit No sign-up Free

Drop 2 or more images here

or click to choose — JPG, PNG, WebP, GIF, BMP

Layout

Three layouts, three different use cases

LayoutGood for
RowBefore/after comparisons, a horizontal filmstrip, product variants side by side
ColumnA vertical sequence for a story-format post, step-by-step screenshots stacked
GridA contact sheet, a set of thumbnails, a square-ish arrangement for a moodboard

Why nothing gets upscaled

When images of different sizes are combined, something has to give — either the smaller ones get stretched up to match the largest, or everything scales down to match the smallest. This tool always does the latter. A row matches every image to the shortest one's height; a column matches every image to the narrowest one's width; a grid sizes every cell to the smallest image's dimensions. The result is that nothing in the output ever looks blurrier than its own original resolution — the trade-off is that a single very small image in the batch will bring the whole result down to its size.

If that trade-off doesn't work for a particular batch, the fix is usually to resize the smaller images up first with a dedicated resizer, accepting the softness that comes with enlarging, before combining them here.

How the grid decides its shape

The column count is calculated from the square root of how many images you have, rounded up — so 2 or 3 images become a single row, 4 become a 2×2 grid, 5 to 9 become 3 columns, and so on. Images that don't perfectly match their cell's aspect ratio are centred within it rather than stretched, with the background colour filling any remaining space — the same way a contact sheet or a photo grid app would handle mixed orientations.

Spacing and background colour

Spacing adds a gap of the pixel width you choose between every image, filled with the background colour. Set spacing to 0 for images that touch edge to edge with no border at all — useful when you want the combined image to read as one continuous scene rather than a set of separate photos. A visible background colour (white is the default) works well when you want each photo to read clearly as its own frame.

Choosing an output format

PNG is the default because it's lossless — the combined result doesn't lose any quality from the images you started with, at the cost of a larger file. JPEG gives a smaller file if the result doesn't need transparency and some compression is acceptable. WebP is a good middle ground if you control where the image is going.

Nothing is uploaded to do this

Every image is decoded and drawn onto a single canvas entirely inside your browser, using the Canvas API. Open your network tab, or disconnect from the internet after the page loads — the tool keeps working, because none of the images ever leave your device.

Frequently asked questions

How does the tool decide how big each image should be in the combined result?

For a row, every image is scaled to match the height of the shortest one, keeping each image's own aspect ratio - this is what makes a row of different-sized photos line up cleanly. A column does the same thing based on the narrowest width. A grid scales every image to fit the same cell size.

Can I control the order the images appear in?

They're placed in the order you dropped or selected them. If you need a different order, remove all the files and re-add them in the sequence you want, or drop them in one at a time in that order.

What's the grid layout's column count based on?

It's calculated automatically from how many images you have, aiming for a roughly square arrangement - 4 images become a 2x2 grid, 9 become 3x3, and so on. There's no manual override for the column count in this version.

Can I add spacing or a border colour between images?

Yes - the spacing field adds a gap between every image, filled with whatever background colour you choose. Set spacing to 0 for images that touch edge to edge with no gap.

Is this the same as the grid-splitting tool on this site?

It's the reverse. Split Image Into a Grid takes one photo and cuts it into tiles - useful for an Instagram carousel grid. This tool takes multiple separate photos and combines them into one file.

Are my images uploaded anywhere to combine them?

No. The layout is drawn using the Canvas API entirely in your browser. Open your network tab, or disconnect from the internet after the page loads - the tool keeps working, because the images never leave your device.