Local browser tool · Join

Join Images Side by Side

To join images side by side, add them here and switch the layout to horizontal: each picture is scaled to a shared height, arranged left to right in the order of the cards, and exported as a single file with an even gap you control. Comparisons read correctly on a horizontal travel — before and after, damaged and repaired, old and new — which is why this layout answers more real requests than a vertical stack does.

Line pictures up left to right

A horizontal merge that scales every panel to a common height with an even gutter. Suitable for join tasks on JPG, PNG, and WebP files; the export is always a new copy.

Your files are read locally. Nothing is uploaded.

Free to use. Local limits: up to 30 files, 100 MB per file, and 250 MB per batch, processed entirely in this browser. Nothing is uploaded; what stays on your device afterwards is the settings you last used and, after a run, the picture this page made so a next step can open it without choosing the file again. Start over deletes that picture.

Embed tool Add this tool to your website Get embed code

Add this image tool to a related page with a visible ImageMunch source link.

Join at a glance

How Join Images Side by Side works: your file, then this browser tab, then a new copy.
Your file → This browser tab → A new copy. Nothing in between.
What this page promises about the file it hands back.
Files it opensJPG, PNG, WebP, GIF, BMP
Files you get backJPG, PNG, WebP
Camera data (EXIF)Not copied — this browser writes a fresh picture from its pixels, so GPS, timestamps and camera tags stay in the file you started with
This page is already set toJPG output
Where the work happensIn this browser tab — the picture itself is never uploaded
Largest file100 MB, 40 megapixels or fewer
Largest batch30 files per run
Account, price, watermarkNo sign-up, no charge, nothing stamped on your export

When this helps

  • Before-and-after photographs for a listing or portfolio
  • Repair, cleaning, and renovation evidence pairs
  • Product variants shown together in one attachment
  • Two screenshots presented as a single argument

Measured on this page: two 640 × 640 frames set side by side came out as a single 1,300 × 640 JPG of 25 KB, with the gap and its background counted inside that width rather than added as padding afterwards.

Detailed guidance

What a horizontal join communicates

An eye travelling left to right compares; an eye travelling top to bottom reads a sequence. That distinction is the whole reason before-and-after photography belongs in a horizontal layout, and why an invoice chain belongs vertically. Once you see it, the layout choice stops being aesthetic. The same logic explains why pairing works in a listing: two photographs of the same object, placed side by side at matched heights, invite a judgement about difference, while the same pair stacked asks to be read in order. Choose the direction your viewer's attention should travel, then let the tool handle alignment.

Making the seam disappear

Mismatched heights are the usual flaw, and shared-edge scaling removes them automatically. The remaining problems are human: a colour cast that differs between the two shots reads as a seam even at a perfect join, and a crop that cuts a subject in one panel but not the other looks careless. Shoot or crop both frames at the same framing distance, match exposure roughly before merging, and set the gap to zero only when the two images are genuinely meant to continue into each other.

Order, naming, and re-exporting

The card order is the final left-to-right order, so reorder before exporting rather than starting again afterwards. Name the composite for its purpose the moment it lands, because a download folder holding four files called joined-imgmunch.jpg is unresolvable next week. Keep the sources: a comparison you export today may need a third panel in a month, and merging from originals always beats rebuilding from a flattened pair.

Keeping a merged comparison legible

A side-by-side is twice as wide as its panels, so it renders small on a phone. Test by shrinking the preview to a third of its width: if the difference you wanted to show is not obvious there, it will not be obvious in a chat either. Crop tighter, raise the contrast between panels, or send two images instead of one. If the merged file also needs to clear an attachment cap, run the composite through the compressor once at the end rather than compressing the panels first.

Mixing sizes, ratios, and resolutions in one row

Real comparison sets are never consistent: one panel is a portrait crop, the next a wide panorama, the third a screenshot. A horizontal join normalises heights rather than widths, so mismatched shapes produce uneven panels and a visible step at the seam. Crop every panel to the same ratio first and run the set again; the composite looks intentional instead of accidental. Watch total width too — thirty phone photos in one row makes a file that readers must pan on a phone, and a set that wide usually wants two rows. Export as PNG when any panel carries text, so glyph edges survive untouched.

Join Images Side by Side questions

How do I put two images side by side?

Add both files, set the layout to side by side, and run the merge. The tool matches their heights, keeps the card order as the left-to-right order, and exports one composite you can download immediately.

What if my photos are different shapes?

Mixed ratios are fine. Every panel is scaled to the same height, and the gap plus background absorb whatever the shapes leave uneven. If one panel looks trimmed, switch that card to fit so its whole picture shows.

Can I control the white line between them?

Yes. The gap slider sets the gutter and the colour picker sets the background, so a 12-16 px white separator reads as intentional and a 0 px gap makes a seamless panorama-style join.

Is there a limit on panels?

Up to thirty files work, though beyond four or five side by side each panel becomes narrow and detail is lost on a phone. Add a second row by switching to grid when the set grows.