ScreenshotNeo

BlogHTML to image & PDF

How to Merge Two Screenshots into One PDF

Combine two screenshots into one ordered PDF on desktop, mobile, browser, or with Python—with layout, quality, troubleshooting, and automation tips.

By the ScreenshotNeo team1 October 20266 min read

To merge two screenshots into one PDF, convert each image into a PDF page, place the pages in the order you want, export one PDF, and inspect the result. The usual result is a two-page PDF with one screenshot per page. Putting both screenshots together on a single page is a different layout task and requires a page-layout step.

Choose the PDF layout first

Desired result Best method
One screenshot per page Acrobat Combine Files, Adobe Express, or the Python script below
Both screenshots side by side on one page A document or image editor with a custom page layout
Both screenshots stacked on one page A document or image editor with a custom page layout

Before exporting, decide whether the first screenshot should be page 1 or page 2. If the images have different dimensions, choose whether to preserve their proportions with whitespace or crop them to a common page shape.

Desktop: Adobe Acrobat on Windows or macOS

Adobe documents this workflow for creating one sequential PDF. On Windows, choose Menu > Combine files. On macOS, choose File > Combine files. See Adobe’s Combine files documentation for the current interface.

  1. Open Acrobat and choose the combine-files command for your operating system.
  2. Add both screenshot files, or drag them into the combine window.
  3. Review the thumbnail preview.
  4. Drag the thumbnails into the required order.
  5. Expand a file if it contains multiple pages and remove any unwanted pages.
  6. Choose Combine.
  7. Rename the output and save it.
  8. Open the saved PDF and check both pages before sending it.

This produces a multipage PDF. It does not automatically place both screenshots on one page.

Browser: Adobe Express

Adobe Express provides a browser workflow that accepts JPG files and other supported inputs. Open Adobe Express, select Document, choose Combine Files under Documents Quick actions, and browse for the screenshots. You can rotate or delete files before selecting Download. The documented steps are in Adobe’s Adobe Express combine-files guide.

Because this method uses a web product, consider whether the screenshots contain passwords, personal data, private customer information, or unreleased material before uploading them. The cited documentation does not establish retention or privacy terms, so check the service’s current terms for your situation.

Mobile: Acrobat image-to-PDF conversion

Adobe documents image-to-PDF conversion in Acrobat for Android and iOS. The mobile feature requires an Acrobat subscription. On Android, use Create > Create PDF, browse to the image, select it, and tap Add. On iOS, use Add > Create PDF, then browse to and select the image. The resulting PDF appears in the Recent list. See Adobe’s mobile image-to-PDF instructions.

The documentation describes selecting an image; it does not establish that two screenshots can always be selected and converted as a batch in one mobile action. If your app version only converts one image at a time, create two PDFs and merge those PDF files with a combine-files command.

Python: create a two-page PDF locally

This method keeps the files on your computer and creates one page per screenshot. Install Pillow first:

python -m pip install pillow

Save this as merge_screenshots.py in the same directory as screenshot-1.png and screenshot-2.png:

from pathlib import Path
from PIL import Image

INPUTS = [Path("screenshot-1.png"), Path("screenshot-2.png")]
OUTPUT = Path("merged-screenshots.pdf")

images = []
for path in INPUTS:
    if not path.exists():
        raise FileNotFoundError(f"Missing input file: {path}")
    image = Image.open(path).convert("RGB")
    images.append(image)

if not images:
    raise ValueError("Provide at least one screenshot")

images[0].save(OUTPUT, "PDF", resolution=150.0, save_all=True, append_images=images[1:])
print(f"Wrote {OUTPUT}")

Run it with:

python merge_screenshots.py

Pillow uses each image’s pixel dimensions when creating the pages. If the screenshots have very different sizes, the PDF pages can also differ in size. Standardize dimensions first when a consistent document is required.

When both screenshots must share one page

A multipage PDF and a one-page collage are different outputs. For a side-by-side or stacked layout:

  1. Create a blank page at the target paper size.
  2. Place both screenshots with a fixed margin and gap.
  3. Keep each image’s aspect ratio locked.
  4. Export or print the composed page to PDF.

If readability matters, avoid shrinking tall screenshots until their text becomes illegible. A two-page PDF is usually better for long webpages or code listings.

Quality and ordering checklist

  • Confirm the intended page order in the thumbnail preview.
  • Open the final PDF, rather than trusting the export dialog.
  • Check that text remains readable at 100% zoom.
  • Look for accidental cropping at the edges.
  • Check rotation and orientation for each page.
  • Use descriptive filenames, such as checkout-before-after.pdf.
  • For sensitive files, remove metadata or use a local workflow when your policy requires it.

Troubleshooting

Problem Likely cause Fix
The screenshots are reversed Files were added in the wrong order Reorder the thumbnails before combining, or change the input list in the script.
Only one screenshot appears The second file was not added, or a mobile converter handled one image at a time Verify both inputs and merge the resulting PDFs if necessary.
The image is rotated Orientation metadata was interpreted differently Rotate the image before conversion and save it, then recreate the PDF.
Edges are cut off The image was fitted to a smaller page or cropped by a print dialog Choose fit-to-page while preserving aspect ratio, or use a larger page.
Text is blurry The source screenshot was low resolution or was downscaled Use the original screenshot and avoid repeated JPEG recompression.
Pages have inconsistent sizes The source images have different pixel dimensions Resize them to a common canvas before export, or accept mixed page sizes.
The browser upload fails Unsupported format, file-size limit, or network interruption Convert to JPG or PNG, retry with smaller files, or use the local Python method.
The PDF is unexpectedly large Very large PNGs or lossless screenshots Resize to the required viewing size or use a quality-controlled JPEG copy.

Performance, reliability, and cost notes

  • Local conversion avoids uploading screenshots and usually finishes quickly for two files.
  • Browser conversion depends on upload speed and the web service’s limits.
  • PNG preserves sharp text and UI edges but can create larger files; JPEG is smaller but can add compression artifacts.
  • For archival or submission workflows, keep the original screenshots and inspect the exported PDF before deleting anything.
  • Adobe’s documented mobile image-to-PDF feature requires a subscription. The reviewed documentation does not establish pricing for desktop Acrobat or Adobe Express access.

Or skip the browser setup

If you are capturing the webpages that the screenshots come from, ScreenshotNeo can create clean captures through one request. It removes cookie and consent banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server also lets Claude, Cursor, and other MCP clients use take_screenshot, get_page_info, and capture_pdf.

For API details, see the ScreenshotNeo documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo includes full-page capture, lazy-image loading, custom CSS and JavaScript, device presets, PDF options, caching, signed links, asynchronous jobs, bulk capture, and usage reporting. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

FAQ

Does merging two screenshots make a single-page PDF?

Usually it makes one PDF with two pages. A single page containing both images requires an additional layout step.

Can I preserve the original screenshot quality?

Yes. Start with the original PNG or a high-quality JPEG, avoid unnecessary resizing, and inspect the exported PDF.

What is the safest workflow for confidential screenshots?

Use a local desktop application or the Python method when your handling rules prohibit uploading files to a browser service.

Can I automate this for many pairs?

Yes. Extend the Python script to iterate over filename pairs, or use a PDF library and a queue in your build or document pipeline.