Skip to main content
JPG JoinerJPG Joiner
Vertical stitch - your screenshots stay on your device

Stitch screenshots into one tall image.

Drop 2+ screenshots and this tool stacks them top to bottom into a single image. Auto-scales mismatched widths, optional gap spacing, whitespace trimming for screenshots with borders. PNG output keeps text sharp. Nothing leaves your browser.

Drop your images here

or browse files or paste from clipboard

JPG · PNG · WebP
100% Private
Runs in Browser
No Login
No Watermark
Free Forever

How to stitch screenshots together.

01

Upload your screenshots

Drag multiple JPG, PNG, or WebP files onto the upload area. On mobile, tap to browse your camera roll. You can also paste a screenshot directly from clipboard with Ctrl+V (Cmd+V on Mac). Add more screenshots at any time - they append to the list.

02

Reorder and adjust settings

Drag thumbnails to set the stitch order (top image first). Open the settings panel to add gap spacing between screenshots, pick a background color, enable whitespace trimming, and choose PNG or JPG output. The preview updates live.

03

Download the stitched image

Check the final dimensions and file size in the preview, then tap Download. The stitched screenshot saves directly to your device. No server processing, no queue, no email. Close the tab and everything is gone from memory.

What people stitch with this tool.

Chat threads and conversations

WhatsApp, iMessage, Discord, and Slack conversations span multiple screens. Screenshot each section, drop them here, and the tool stacks them into one scrollable image. No need to scroll-capture - individual screenshots avoid the rendering glitches that scrolling capture apps sometimes produce with chat bubbles and emoji. Set gap to 0 for seamless joins.

Long webpage captures

Full-page screenshot extensions sometimes miss sticky headers, lazy-loaded images, or dynamic content. A more reliable approach: take 3-5 manual screenshots while scrolling, then stitch them here. Each screenshot renders exactly what the browser displayed, including hover states and popups that automated tools miss. Enable trim to remove repeated navigation bars at the top of each capture.

Receipts and invoice scans

Long receipts from food delivery apps (Uber Eats, DoorDash) or e-commerce orders (Amazon, eBay) often require 2-3 screenshots to capture the full itemized list. Stitch them into one image for expense reports or warranty claims. Use PNG output so the text stays readable after compression. The trim option removes the phone status bar from each screenshot automatically.

Code editor screenshots for bug reports

Bug reports with code context often need 50-100 lines visible. Take 2-3 screenshots of your editor, stitch them vertically, and attach the result to a GitHub issue or Jira ticket. PNG output at full resolution preserves syntax highlighting and line numbers without JPG compression muddying the colors. Reviewers see the full context without clicking through multiple attachments.

How vertical screenshot stitching works.

The tool loads each screenshot into an HTML Image element, reads the pixel dimensions, and finds the widest image in the batch. Every image gets scaled to that maximum width, preserving its aspect ratio. A single HTML5 Canvas is created at the maximum width and the total stacked height (all scaled heights plus gaps). Each image is drawn sequentially from top to bottom usingdrawImage(), and the canvas exports as PNG or JPG viatoBlob().

Width normalization matters. If you mix a 1080px-wide Android screenshot with a 1290px-wide iPhone 15 Pro Max screenshot, the narrower one scales up by 19.4%. That upscaling softens the image slightly. For the sharpest result, resize screenshots to matching widths first with the image resizer before stitching. To remove status bars or unwanted borders manually, crop each screenshot before uploading.

PNG vs JPG output for screenshots

Screenshots are fundamentally different from photographs. They contain flat colors, sharp edges, single-pixel lines, and small text rendered at screen resolution. JPG compression is DCT-based - it encodes 8x8 pixel blocks as frequency coefficients, which is efficient for gradual color transitions in photos but destructive for hard edges. At 92% quality, JPG produces visible ringing artifacts around text and UI borders. PNG uses row-by-row lossless compression that preserves every pixel exactly. The file is 3-8x larger, but text stays perfectly sharp.

Use JPG output only when sharing on platforms that compress uploads anyway (Instagram, Twitter, Facebook) or when file size is more important than text legibility. For bug reports, legal evidence, documentation, and archival, always use PNG.

Whitespace trimming internals

The trim feature samples the top-left pixel of each screenshot as the "background" reference color. It then scans inward from all four edges, removing rows and columns where every pixel matches the reference within the sensitivity threshold. A threshold of 0 requires an exact RGB match. A threshold of 15 allows 15 units of deviation per channel, which catches slight color variation from JPG compression noise or anti-aliased edges. If your screenshots have a colored status bar at the top, the trim will stop at that bar since its color differs from the corner pixel.

Stitching vs. scrolling capture

Scrolling capture apps (Tailor, Picsew, LongShot) automate overlap detection - they find matching pixel regions between consecutive screenshots and merge seamlessly. This tool does not detect overlap. It places each screenshot below the previous one as-is. Use scrolling capture apps when you are capturing a single continuous page. Use this stitcher when you have discrete, non-overlapping screenshots from different screens, different apps, or different moments. The JPG Joiner also supports vertical stacking if you need horizontal or grid layouts as well.

Need grid or horizontal layouts?

Combine images side by side, in grids, or vertically with more layout options.

JPG Joiner

Lossless PNG merge?

Merge PNG screenshots without compression. Text stays sharp, transparency preserved.

Merge PNG

Convert to PDF?

Turn screenshots into a multi-page PDF for reports and documentation.

JPG to PDF

Extract PDF pages?

Convert every page of a PDF into high-resolution JPG images.

PDF to JPG

Make a photo collage?

Combine 2-6 photos with varied layout templates and custom framing.

Photo Collage

Resize screenshots first?

Match screenshot widths before stitching for the sharpest result.

Resize Image

Convert to PNG?

Convert JPG screenshots to lossless PNG for sharper text and edges.

JPG to PNG

Watermark the result?

Add a text watermark to your stitched screenshot before sharing.

Add Watermark

Resize in bulk?

Batch resize screenshots to matching widths before stitching.

Bulk Resize

Frequently asked questions.

How many screenshots can I stitch together at once?

There is no hard cap. The tool handles 20-30 screenshots without issues on a modern phone or laptop with 4+ GB RAM. Each 1080x1920 mobile screenshot uses roughly 8 MB of decoded pixel data, so 25 screenshots consume about 200 MB of browser memory. If you push past 50 screenshots on a low-memory device, the browser tab may slow down or crash. For very long sequences, stitch in batches of 20 and then stitch the batches together.

Does this work with iPhone and Android screenshots?

Yes. iPhones save screenshots as PNG at the device resolution (1170x2532 for iPhone 14 Pro, 1290x2796 for iPhone 15 Pro Max). Android phones save as PNG or JPG depending on the manufacturer - Samsung uses JPG by default, Pixel uses PNG. This tool accepts all three formats (JPG, PNG, WebP) and auto-scales all images to the widest screenshot in the batch, so mixing iPhone and Android screenshots of different widths produces a clean result without manual resizing.

Should I use PNG or JPG output for stitched screenshots?

Use PNG when your screenshots contain text, code, UI elements, or sharp edges. PNG is lossless, so letters stay crisp and UI borders remain pixel-perfect. Use JPG only when file size matters more than clarity - a 10-screenshot stitch as PNG might be 8-15 MB, while JPG at 92% quality drops it to 1-3 MB. The tradeoff: JPG introduces compression artifacts around text, especially small font sizes. For sharing chat threads or bug reports, always choose PNG.

What does the trim whitespace option do?

It detects uniform-color borders around each screenshot and crops them before stitching. Many screen capture tools add padding, status bars get included accidentally, or scrolling capture apps leave white margins. The trim scans outward from the top-left pixel color and removes rows/columns that match within the sensitivity threshold. Set sensitivity to 0 for exact color matching (only pure white trims from a white border). Set it to 15-25 for slight color variation from compression noise or anti-aliasing. If it trims too aggressively, reduce sensitivity.

The stitched image has visible seams between screenshots. What went wrong?

Two common causes. First, overlapping content: if you captured scrolling screenshots with overlap, the same content appears twice at each seam. This tool does not auto-detect overlap - it stacks images as-is. Crop the overlapping sections before uploading, or use a scrolling capture app that handles deduplication (like Tailor on iOS or LongShot on Android). Second, mismatched widths: if one screenshot is 1080px wide and another is 1170px, the narrower one gets scaled up, which softens it visibly against the sharper original. Resize screenshots to identical widths first using the image resizer.

How does this compare to Tailor, LongShot, or Picsew?

Tailor (iOS), LongShot (Android), and Picsew (iOS) detect overlapping regions in scrolling screenshots and merge them seamlessly. This tool does not detect overlap - it stacks screenshots top to bottom without overlap removal. Use those apps when capturing a single long webpage or chat with overlapping scroll captures. Use this tool when you already have separate, non-overlapping screenshots (individual chat screenshots, separate pages, different screens) that you want combined into one vertical image. This tool also runs entirely in your browser with no app install and no image upload.

Can I reorder screenshots before stitching?

Yes. On desktop, drag the thumbnails in the image list to rearrange. On mobile, use the up/down arrow buttons next to each thumbnail. The preview updates in real time as you reorder. The stitch order matches the list order top to bottom, so the first image in the list appears at the top of the final output.

What is the maximum file size of the stitched output?

It depends on dimensions and format. A 1080px-wide stitch of 10 full-screen mobile screenshots (each 1920px tall) produces a 1080x19200 image. As PNG, that is typically 8-15 MB depending on content complexity. As JPG at 92%, it drops to 1-3 MB. The Canvas API in most browsers caps at 65535 pixels in either dimension, so the practical limit is about 34 full-screen phone screenshots stacked vertically before hitting the canvas height ceiling.

Is this screenshot stitcher free and private?

Yes to both. The tool runs entirely in your browser using the Canvas API. Your screenshots never leave your device - no upload, no cloud processing, no server-side storage. You can verify by opening browser dev tools (F12), switching to the Network tab, and stitching screenshots. Zero outgoing image requests. There is no account, no daily limit, no watermark, and no premium tier. Close the tab and everything is gone from memory.