Name the relationship
Use chair_product.jpg and chair_specs.jpg, or page01_front.png and page01_back.png. Separate folders remain separate, even when the base names repeat.
IDEAFACTORY / TWO AT A TIME
Batch Image Pair Joiner
A front and a back. A product and its details. Match each pair, check the order, and turn a folder of images into a tidy batch of joined pictures.
No uploads, analytics, remote fonts, or saved sessions. Download names and the ZIP’s manifest.json include source filenames and browser-supplied relative paths. Check them before sharing. Clearing this page cannot remove files already downloaded.
Up to 100 files / 50 included pairs · 20 MiB each · 150 MiB combined · JPEG, PNG and static WebP only. Each source and joined output: at most 12 megapixels and an 8,000 px edge. Oversized joins require your explicit downscale choice.
Folder selection preserves relative folders when supported by your browser. File picking and file drops usually provide names only, so they share one virtual folder. Dropped folders are rejected; use Choose folder instead. No filename sorting or fuzzy match is used. Adding files clears previews and reviews; existing selections remain unless new suffix candidates change that group.
Every selected candidate has a stable file ID. Choose deliberately when a side has multiple files. Similar folder names, case or Unicode spellings are flagged and require acknowledgement; they are never merged. Exclude incomplete pairs or unmatched files explicitly.
Add files with matching bases and your two suffixes. Every missing side, duplicate candidate and unmatched file stays visible.
Inspect each preview, source order, dimensions and scale. Mark pairs as you go, or confirm the whole batch once every included preview is ready. Any file, candidate, suffix, layout or output change clears review and old downloads. A pair must have a current preview before review. The checkerboard shows transparency only in the preview; it is never drawn into the exported image.
One joined file for each included pair, plus manifest.json with chosen sources, exclusions, warnings, dimensions and scale. Unique output names prevent overwrites inside the ZIP. Individual downloads use the same reviewed settings. Each output is limited to 20 MiB; the whole ZIP to 150 MiB. Browser encoding can fail on low-memory devices; smaller batches help.
Choose files or a folder to begin.
The complete visible image is kept. Browser decoding and re-encoding can change color, orientation handling and compression. Original bytes, EXIF/IPTC, ICC profiles and HDR/16-bit precision are not preserved. JPEG is lossy and flattens transparency onto the selected white or black background. Unsupported, animated or corrupt files are rejected, even if their extension looks correct.
Cancel stops the next step; a native decode or encode already underway may need to finish first. Processing is sequential. Navigating away clears file references and generated previews, including Back/Forward restoration. This page cannot confirm that a download was saved.
Use chair_product.jpg and chair_specs.jpg, or page01_front.png and page01_back.png. Separate folders remain separate, even when the base names repeat.
Missing sides and duplicate suffix matches are never silently dropped. Select each source, swap the order if needed, or explicitly exclude the pair.
Vertical or horizontal joins preserve the whole image. Inspect dimensions, padding and any intentional downscale, then download individual results or the batch ZIP.
Work in batches of up to 100 files and 50 included pairs. Choose a folder to preserve its relative paths. This tool creates many two-image outputs, not one long collage or a PDF.
No. Both the relative folder and base name must be identical, and the chosen suffixes are literal and case-sensitive. Case or Unicode-normalization lookalikes remain separate and are reported for review.
That side stays unresolved until you choose a specific file ID. Full filename and path labels remain visible, including extensions. Unchosen candidates are recorded in the manifest.
No. The join uses native dimensions by default, centers both images and pads extra space. You may explicitly limit the longest output edge; the whole join scales proportionally, including its gap. Output limits block the join instead of silently resizing it.
A uniquely named joined PNG or JPEG for each reviewed pair and a manifest.json. It records source names, relative paths, chosen candidates, excluded items and geometry. Review it before sharing with anyone.
Yes. Resolve the reported problem, retry the affected pair or render included previews again, then review the result. A parameter change or cancellation invalidates in-flight work so old results cannot be downloaded.