Why combine screenshots?

A single screenshot often doesn't tell the full story. Before-and-after comparisons, multi-step walkthroughs, bug reports showing two states of a UI, or giving an AI coding assistant context across multiple screens — all require placing two or more images next to each other. macOS doesn't have a single-click "combine images" button, but there are several ways to get it done without installing anything.

Method 1: Preview — manual canvas resize

Preview can combine screenshots by resizing the canvas of one image and pasting another into the empty space. It's not elegant, but it works with zero downloads:

  1. Open the first screenshot in Preview
  2. Go to Tools → Adjust Size and note the width and height in pixels
  3. For a side-by-side combination, double the width. For a vertical stack, double the height. Click OK
  4. The image now has a white (or transparent) empty area on one side
  5. Open the second screenshot in Preview, press Cmd+A to select all, then Cmd+C to copy
  6. Go back to the first image and press Cmd+V to paste
  7. Drag the pasted image into the empty area
  8. Use Tools → Adjust Size again if you need to trim excess space

This method works but is tedious when the two screenshots have different dimensions. You'll need to calculate the combined canvas size manually, and alignment is done by eye. Still, it's good for a one-off task with no installs required.

Method 2: macOS Shortcuts — Combine Images action

The Shortcuts app on macOS Monterey and later includes a built-in Combine Images action that does exactly what you need:

  1. Open the Shortcuts app
  2. Click + to create a new shortcut
  3. Search for and add Select Photos (or Get Selected Files in Finder if you want to pick from Finder). Enable "Select Multiple"
  4. Add the Combine Images action
  5. Set the mode: Horizontally (side by side), Vertically (stacked), or In a Grid
  6. Optionally set spacing between images (e.g., 20 pixels)
  7. Add a Save File action to choose where the result goes

Once built, you can run this shortcut from the menu bar, assign it a keyboard shortcut, or even add it to Finder's Quick Actions (right-click menu). Select two or more screenshot files, run the shortcut, and get a combined image in seconds.

The Combine Images action handles different-sized images by aligning them to their top (horizontal) or left (vertical) edge. If your screenshots are different heights in side-by-side mode, the shorter one gets padded with white space.

Method 3: ImageMagick from the command line

If you're a developer with Homebrew, ImageMagick's convert or magick commands are the fastest way to combine screenshots with precise control:

# Install ImageMagick (one-time)
brew install imagemagick

# Side by side (horizontal)
magick shot1.png shot2.png +append combined-horizontal.png

# Vertical stack
magick shot1.png shot2.png -append combined-vertical.png

# Side by side with 20px gap
magick shot1.png -splice 20x0 shot2.png +append combined-gap.png

# Combine three or more
magick shot1.png shot2.png shot3.png +append combined-three.png

# Resize before combining (make both 800px wide)
magick shot1.png -resize 800x shot2.png -resize 800x -append combined-resized.png
Flag Effect
+append Combine horizontally (side by side)
-append Combine vertically (stacked)
-resize WxH Resize images before combining
-splice WxH Add spacing between images
-gravity center Center-align images of different sizes

ImageMagick is the most flexible option. You can script it to batch-combine screenshots, add borders, resize to consistent dimensions, or even add labels. For developers who already have Homebrew, it's a one-line install and a one-line command.

Method 4: sips + Python — no installs needed

If you don't want to install ImageMagick, macOS ships with sips (Scriptable Image Processing System) and Python. Here's a quick script that combines two images side by side using only built-in tools:

# Get dimensions with sips
sips -g pixelWidth -g pixelHeight shot1.png
sips -g pixelWidth -g pixelHeight shot2.png

# Create a combined canvas using sips and CoreImage via Python
python3 -c "
from PIL import Image
import sys
img1 = Image.open('shot1.png')
img2 = Image.open('shot2.png')
h = max(img1.height, img2.height)
combined = Image.new('RGBA', (img1.width + img2.width, h), (255,255,255,0))
combined.paste(img1, (0, 0))
combined.paste(img2, (img1.width, 0))
combined.save('combined.png')
"

Note: The Python Pillow library isn't pre-installed on macOS, so you'd need pip3 install Pillow first. For a truly zero-install approach, the macOS Shortcuts method or the Preview method are your best bet.

When to combine vs. when to capture smarter

Combining screenshots after the fact works, but it's often a workaround for a capture workflow that could be better. Consider whether you actually need to combine:

  • Before/after comparisons: Combining makes sense — you need both states visible at once
  • Multi-step walkthroughs: A scrolling screenshot or screen recording might capture the full flow in one shot
  • Showing AI context across screens: Paste multiple screenshots directly into the AI chat rather than combining them first
  • Bug reports: Annotated screenshots with arrows and highlights often communicate the issue better than two raw screenshots side by side

The right approach depends on your audience and the tool you're sharing into. Slack and GitHub render individual images well, so separate screenshots often work fine. Documentation and blog posts benefit from a single combined image that readers can scan at a glance.

Quick reference: all methods compared

Method Install required Batch support Best for
Preview (canvas resize) None No One-off, quick combine
macOS Shortcuts None Yes (multi-select) Repeatable workflow, non-technical users
ImageMagick CLI Homebrew + ImageMagick Yes (scriptable) Developers, automation, precise control
Python + Pillow pip3 install Pillow Yes (scriptable) Custom logic, integration with other scripts
Dedicated screenshot tool App install App-dependent Capture + combine + annotate in one step

Tips for clean combined screenshots

Match dimensions first. Screenshots of different sizes produce awkward combined images with white space. Resize both to the same width (for vertical stacking) or same height (for side-by-side) before combining. The sips -z height width file.png command or Preview's Adjust Size dialog both work.

Add a thin separator line. When two screenshots share a similar background color, it's hard to tell where one ends and the next begins. A 1–2px gray line between them adds clarity. In ImageMagick: magick shot1.png -bordercolor "#333" -border 0x1 shot2.png +append combined.png

Crop before combining. Remove unnecessary chrome, empty space, and sidebars before stitching screenshots together. The combined image should show exactly the relevant content — nothing more.

Keep file sizes reasonable. Two Retina screenshots combined into one image can easily exceed 10 MB. If you're sharing in Slack or a docs page, compress the final image. The sips -s format jpeg -s formatOptions 80 combined.png --out combined.jpg command converts to JPEG at 80% quality, typically cutting size by 70%+.

LazyScreenshots lets you capture, annotate, and enhance screenshots in one step — so you spend less time stitching images together. $29 one-time.

Try LazyScreenshots — $29 one-time