Join several images into a single picture in your browser — stack screenshots into one long image, or place photos side by side. Images are scaled to a common width or height so the join has no ragged edges, and nothing is uploaded. Up to 20 files at a time.
No upload — runs in your browser
Free, no sign-up
No watermark
Every image is scaled to the narrowest image's width, then joined top to bottom. Images are only scaled down, so no detail is invented.
Drop images here to join them top to bottom
JPG · PNG · WebP · AVIF — up to 20 files, 50.00 MB each. Nothing is uploaded.
Where a joined image is useful
Combining images is mostly a screenshot job: a long chat, a receipt, a set of settings pages, or an article that a phone rendered across six screens. Stacked top to bottom they become one picture you can send in a single message, and because every screen is scaled to a shared width the seams disappear instead of stepping in and out.
The same operation sideways answers a different question — two versions of a photo side by side, a before and after, a pair of charts that only make sense next to each other. Either direction uses one layout algorithm; only the axis changes.
The tool never crops or stretches unless you ask it to. Every image keeps its own aspect ratio, and the default “Match the narrowest” only scales images down, so the result has no invented detail and no missing edges — which is exactly what goes wrong when the job is done by hand in an editor.
Which direction, and how the sizes line up
If you have…
What to pick
Screenshots of one page
Vertical, with “Match the narrowest”. Screens are usually the same width already, so nothing is scaled at all and the seams line up exactly.
Two versions side by side
Horizontal. The tallest image sets the row height; if one is much shorter, “Crop to match” gives a flush edge instead of a stepped one.
Photos from different cameras
Vertical with “Keep original sizes” — nothing is resampled, and each photo is centred in the widest column.
Why the size ceiling is not negotiable
A joined image lives on one canvas, and 8000 px on the longest side plus 16 megapixels is where browsers start refusing to allocate rather than merely performing badly. The limit is checked against the real pixel count before any image is decoded, which is why the answer arrives instantly even for twenty large files.
When a selection does go over, the tool reports the size it would have produced and never shortens the output to fit. That refusal is deliberate: a truncated image looks successful until somebody notices the bottom half is gone, and by then it has usually been sent to someone.
Frequently asked questions
How do I combine images into one picture?
Add up to 20 images, choose Vertical or Horizontal, and pick how the sizes should line up — “Match the narrowest” is the default and only ever scales images down. Set a gap if you want visible separation, then download the result. The join is drawn on your own device, so there is no upload step and no waiting in a queue.
Will my images be cropped or stretched?
Not by default. “Match the narrowest” scales each image down proportionally to a shared width, so nothing is cropped and nothing is enlarged. Stretching never happens at all — every image keeps its own aspect ratio. Cropping only occurs if you pick “Crop to match” yourself, and then the tool says so in the result summary.
Why is there a size limit on the result?
A joined image is drawn on a single canvas, and browsers cap how large a canvas may be. This tool stops at 8000 px on the longest side and 16 megapixels — roughly 64 MB of pixels, the same budget it uses when decoding your originals. Ten 800×1000 screenshots stack to 800×10000, which is over that limit; two or three at a time fit comfortably.
What happens if my images go over the limit?
The tool tells you before doing any work, and gives you the exact size it would have produced — for example “800×10000, and the longest side is capped at 8000 px”. It never trims the result to fit, because a silently shortened image is only noticed later. Two ways out are offered: remove a few images, or switch direction so the length grows along the other axis.
What happens to the gaps and transparent areas?
With PNG or WebP output the gap between images stays transparent, and so does any empty space left by “Keep original sizes”. With JPG there is no alpha channel, so gaps and transparent areas are filled with white instead — the same rule the other converters on this site follow.
Can I combine images that are in different formats?
Yes. The output format defaults to “Same as first image”. If your browser cannot write that format — AVIF is the usual case — the tool asks you to choose PNG, JPG or WebP rather than quietly saving the file with a misleading extension. Mixing formats on the input side is always fine.
Are my images uploaded anywhere?
No. Decoding, composing and encoding all happen inside your browser with the Canvas API and a Web Worker. Your files never leave your device, and no copy of the result is stored anywhere.
This site sets no advertising or tracking cookies. Your files are processed in your browser and never uploaded — the only thing stored is this choice, on your own device. Privacy policy