Your photos never leave your device — 100% local processing

Stitch Screenshots Vertically

The overlapping strip is found and removed. A messenger's top bar and bottom message box are left out of the join, so they never repeat in the middle of the conversation.

px px

Adjust each join by hand

These are the values found automatically. If a join looks off, drag the slider to add or remove overlap — the result redraws immediately.

0 B uploaded — this page has not sent your files to any server?

Private by design — your photo is never uploaded anywhere. Stitching happens entirely inside your browser and the result is saved straight to your device. It even works offline.How this differs from upload-based sites — most converter sites upload your photo to a server, process it there, and promise to delete it after a while. Until that happens, your photo is sitting on someone else's server. imgmoa has no upload step at all. The more sensitive the photo — a scanned ID, a photographed contract, pictures of your kids — the more that difference matters.

Related tools

Crop Image Blur / Pixelate Compress Images Image to Text (OCR)

Join chat screenshots into one image without the message box repeating

Capture a long conversation or list in several screenshots and every one of them brings along the top bar and the message box. This tool first finds the strips that repeat identically across all shots and leaves them out, then works out which rows overlap between neighbors and stacks everything into one tall image with no duplicates. If a join looks off, each one has its own slider for fixing it by hand.

A closer look

Gluing screenshots end to end puts a message box between every screenful and shows the bubbles you scrolled past twice. Here the tool first compares the top and bottom edges of all the screenshots row by row and treats whatever is identical in every one as a fixed bar, such as a title bar or a message box. A fixed bar can be at most 30% of the shortest screenshot’s height. The bars are removed from the overlap calculation and from the result, and with “Keep the top bar once, at the very top” ticked, a single copy of the top bar stays at the head of the image.

To find the overlap, each screenshot is reduced to a grayscale signal 96 pixels wide, and the tool looks for the height at which the bottom of one shot best matches the top of the next. It scans coarsely first, then rechecks a few pixels either side at full resolution. Plain areas like empty margins look the same everywhere, so they never count as a match, and a join the tool is not confident about is left for you with a warning instead of being guessed. Every screenshot is scaled to the width of the first one, and the result is saved as JPG (92% quality) or PNG with “_stitched” added to the name.

How to use it

When it helps

Keeping a record of a chatSave a conversation you may need to refer back to, such as a sale arrangement or a schedule, as one clean image with no repeated message box.
In-app notices and postsScroll through a long announcement that only exists inside an app, capture it in pieces and pass it on as a single image.
Statements and order listsJoin a card transaction list or an order history that never fits on one screen so it can be read at a glance.
Reviewing a long draftCapture a long note written in your phone’s notes app and send it as one image to the person checking the wording.

Common snags

The top bar or message box still shows up mid-image.A fixed bar is only detected when its pixels are identical in every screenshot. If the keyboard is open in one shot, a notification banner appears, or the clock in the status bar changes, the comparison can stop early and the bar comes out too small. Turn off automatic detection and type values into “Top fixed” and “Bottom fixed”, measured on the first screenshot.
It says a join could not be matched confidently.The two shots either do not overlap at all or overlap only in blank space. Set that join with its slider. Next time, scroll so that the last two or three lines of one screen are still visible at the top of the next.
One screenshot looks blurry or the wrong size.Every shot is stretched or shrunk to the width of the first. Do not mix, say, phone and computer captures; stitch images taken on the same device at the same zoom level.
Saving fails, or it warns that the result is very tall.Most browsers cap a single image at roughly 32,000 pixels tall. Split the screenshots into two batches and stitch each one separately. If text looks fuzzy, saving as PNG instead of JPG also helps.

Tip Before saving a chat, scroll through the whole stitched image once to make sure no bubble appears twice and no line has gone missing at a join.

Stitching FAQ

Other tools leave the message box stuck in the middle.

That happens when a tool simply glues the images end to end. Here the strips that are pixel-identical across every screenshot — the top bar and the bottom message box — are detected first, kept out of the overlap maths, and kept out of the result. Only one copy of the top bar is left, at the very top.

The detected bars are wrong.

Turn off automatic detection and type the top and bottom heights in pixels. Every join also has its own slider, so you can add or remove overlap yourself.

What if the shots do not overlap?

They are joined with zero overlap. When confidence is low the tool says so and points you at the sliders — it will not quietly join at the wrong place.

The order is wrong.

Files are sorted by name, which usually matches the order they were taken, but you can reorder them with the ↑ ↓ buttons in the list.

How long can the result be?

Browsers limit how tall a single image can be (around 32,000 px on most). If you go past that you will be warned, so split the job into two.