Stitch screenshots into one long image

Add the screenshots you took while scrolling and get back one tall picture. The overlap between them is found automatically, and nothing is uploaded.

How it works

A conversation, a receipt, an order history, a terms page: some things are taller than a screen, and the only way to keep one is to screenshot it in pieces while scrolling. That leaves you with six pictures that overlap each other by an unknown amount, and the job of turning them back into the one thing they were.

This tool does that by looking for the seam. Each screenshot is reduced to a compact summary of what is in every row of pixels, and for each consecutive pair it tries every possible overlap and keeps the one where the rows genuinely agree. The scroll distance is different between every pair, because nobody scrolls by exactly the same amount twice, so each seam is measured on its own rather than assumed.

The part that is easy to get wrong is your phone. The clock, the battery icon, the app toolbar and the tab bar do not scroll, so they are printed identically on every screenshot you took. A stitcher that ignores them either repeats a status bar down the middle of the result or, worse, mistakes those identical rows for a perfect match and merges away half your content. The fixed bars are detected first, kept once at the top and the bottom, and excluded from the seam search.

Everything happens in this browser tab. That matters here because a scroll capture is usually a record of something: a chat you need to keep, a payment that did not arrive, a listing that changed after you complained. Those are the last images anyone should be uploading to a stranger to have them glued together.

How to use it

  1. 1 Take your screenshots while scrolling, letting each one overlap the last.
  2. 2 Choose them all here. They are sorted by filename and can be reordered with the arrows.
  3. 3 Pick what you want back: one image, or a PDF.
  4. 4 Press Stitch screenshots, then check the joins in the result before you send it.

Good to know

  • Overlap generously. A third of a screen of overlap is easy to match; two lines of text is not.
  • Do not zoom or resize between screenshots. The tool matches what the rows look like, and a change of zoom changes all of them.
  • Screenshots of a nearly empty area cannot be matched, because every offset looks equally good. Those pairs are joined end to end and named, rather than guessed at.
  • A very tall capture can exceed what a phone browser will draw as a single image. The PDF option is built page by page and has no such limit.
  • Animated content, a video playing or a changing advert between screenshots will weaken a join. Take the pictures back to back.

Browser support

  • Chrome 94 and later
  • Firefox 93 and later · full speed from 105
  • Safari 16.4 and later
  • Edge 94 and later

These are the oldest versions with everything the tool uses. They are worked out from the tool itself, so they change when it does.

Version numbers checked on 2026-09-04.

Finding the seam between two screenshots

Stitching a scroll capture is a search problem, and the thing being searched for is the amount the page moved between one screenshot and the next. Nobody scrolls by a fixed distance, so that number is different for every pair and cannot be assumed. It has to be measured, and the measurement has to be cheap enough to run on the phone the screenshots came from.

The first step is to throw away almost everything. Each screenshot is squeezed horizontally to thirty-two brightness samples per row, so a picture that is millions of pixels becomes a few tens of thousands of numbers, one thin strip per row of the original. Two rows of a page that look the same have similar strips, and two rows that differ have different ones, which is the only property the search needs. The squeeze is done by the browser image scaler rather than by picking every nth column, because sampling columns would step straight over a one pixel line and call two different rows identical.

Then every possible overlap is scored. For each candidate, a fixed sixty-four rows spread across the overlapping band are compared and the average difference is taken, so a candidate costs the same whether it claims twenty rows in common or two thousand. That fixed cost is what makes it affordable to try every offset instead of a sample of them, and trying every offset turns out to be necessary: a signature misaligned by two rows scores like unrelated content, not like a near miss, so there is no gradient to follow and nothing for a coarse pass to interpolate. The cheapest handful of candidates are then rescored against three times as many rows, which is what separates a real match from sixty-four rows that agreed by luck.

The failure this design is most careful about is the confident wrong answer. A blank margin, an empty chat background or a run of white paper matches itself perfectly at every offset, so a matcher that only minimises difference will report a large overlap wherever the page is empty and silently delete the height in between. So a winning band is also asked whether its own rows differ from each other. A band with no vertical texture is not evidence, whatever it scores, and a pair that produces one is joined end to end and reported as unmatched rather than guessed at.

The other thing that misleads a stitcher is the phone itself. The clock, the battery, the app toolbar and the tab bar do not scroll, so they are printed identically on every screenshot in the set, and those identical rows are exactly what a naive matcher reads as a perfect alignment. They are found first, by taking the number of leading rows that are unchanged across every consecutive pair and keeping the smallest, because that is the only part all of the screenshots agree on. One pair sharing more means the page repeated something there, not that the bar is taller. The result is capped at a quarter of the height, since two barely scrolled screenshots are identical over most of their area and without a ceiling the detector would conclude that almost everything is a status bar and merge the capture down to nothing.

What comes out is a plan rather than a picture: a list of which rows of which screenshot land where. Painting it runs into a limit most people never meet, which is that a browser will not give you a canvas of unlimited size, and Safari in particular hands back a canvas of the size you asked for and then quietly draws nothing into it. So the limit is measured instead of looked up, by writing a pixel into the far corner and reading it back, and a capture too tall for this device is scaled to fit with the amount stated. The PDF is built a page at a time from the same plan, never allocating the full height at once, which is why it keeps every pixel of a capture the single image path has to shrink.

Frequently asked questions

How do I make a long screenshot without an app?

Take the ordinary screenshots your phone already takes, scrolling a little between each, then stitch them here. Nothing is installed and nothing is uploaded: the joining runs in this browser tab on your own device.

How much do the screenshots need to overlap?

Enough for the tool to recognise the same content in both, which in practice means a few centimetres of screen. A quarter to a third of the screen is comfortable. If a pair cannot be matched, the tool says so and joins them end to end rather than inventing an overlap.

Will the status bar appear in the middle of the image?

No. Rows that are identical in every screenshot are recognised as fixed interface, kept once at the top and once at the bottom, and left out of the join. That is the difference between a stitched capture and a pile of screenshots stacked on top of each other.

Are my screenshots uploaded?

No. They are decoded and joined by your browser, and the result is handed straight back to you as a download. Open your browser developer tools, look at the Network tab, and run the tool: no request carries your images.

Why is my stitched image scaled down?

Browsers cap how large a single canvas can be, and the cap is lower on phones than on desktops. When a capture is taller than the cap, it is scaled to fit and the tool tells you by how much. The PDF option is assembled a page at a time, so it keeps full resolution however tall the capture is.

Can I stitch screenshots from different phones?

Yes, though it works best when they match. Screenshots of a different width are resized to match the majority before matching, which usually works for the same page captured on two devices and struggles when the layout itself is different.

Does it work for wide screenshots as well as tall ones?

Not yet. This joins screenshots vertically, which is how scroll captures are taken. A horizontal capture, such as a wide spreadsheet, is not handled.

What order are the screenshots joined in?

The order shown in the list, which starts as filename order because phones number screenshots as they are taken. If that is wrong, the arrows move one earlier or later, and the result follows the list exactly.

Related tools

Your files are processed on your device and are not uploaded. You can verify this in your browser’s developer tools under the Network tab.