Drop an image here or click to browse
2–9 images · JPEG, PNG or WebP · up to 50 MB each
Add at least 2 images to build a collage
Grid & strips
Creative shapes
This layout needs 4 images — 0 added so far
Corner radius applies to rectangular layouts only.
1080 × 1080 px
Help
About this tool
Drop two to nine images and stitch them into a single picture right in your browser. Choose a grid (2×2, 3×3), a strip (1×N or N×1), a hero-plus-two layout, or go beyond rectangles with creative layouts such as a diagonal split, a triangle split and a three-triangle pinwheel that are drawn with real canvas clipping. Fine-tune the gap between cells, the corner radius (rectangular layouts), the background colour and the canvas ratio (1:1, 3:4 for Xiaohongshu covers, 9:16 for Douyin, 16:9, or a custom size), and pick how each photo fills its cell — cover to crop and fill, or contain to fit with padding. The live preview is rendered from the exact same drawing code as the export, so what you see is what you download. Export as PNG or JPEG with an adjustable quality and a timestamped filename. Nothing is uploaded — every image is processed locally on your device.
How to use
- Drop or select 2–9 images; they are added one at a time and listed as thumbnails.
- Drag the thumbnails (or use the arrows) to reorder them — the order drives the collage result, then use the × button to remove any image.
- Pick a layout: grids and strips, or the creative diagonal / triangle / three-triangle layouts.
- Adjust the gap, corner radius, background colour, canvas ratio and whether images use cover or contain.
- Check the live preview, then click Export to download a PNG or JPEG.
Which layouts are supported, including non-rectangular ones?
There are straight-line layouts — 1×N and N×1 strips, 2×2 and 3×3 grids, and a one-left-plus-two-right layout — and creative layouts that are not rectangles: a diagonal split into two triangles, a triangle split into two triangles, and a three-triangle pinwheel. The triangle and diagonal layouts are drawn with the canvas clip() API, so each image is clipped to its exact polygon with no gaps or overlaps.
What is the difference between cover and contain?
Cover scales the image so it fills the whole cell and crops the overflow, so there is never any empty space — just like a CSS background-size: cover. Contain scales the image so it fits entirely inside the cell, leaving background-coloured padding around it. Both keep the image's aspect ratio, so your photos are never stretched or squashed.
Why does the exported image match the preview exactly?
The preview and the export use one and the same drawing function on one and the same canvas — the preview you see is the canvas that gets encoded. Exports are not re-rendered from a separate code path, so the downloaded file is pixel-for-pixel identical to what you previewed.
Are my images uploaded to a server?
No. Uploading, layout and encoding all happen in your browser with the canvas API. Your images never leave your device.
Why do only some layouts have rounded corners?
Corner radius applies to rectangular cells (strips, grids and the hero layout). For the diagonal and triangle layouts the cell is a polygon, and rounding an arbitrary polygon is much more complex than rounding a rectangle, so radius is ignored there — this is a current scope limit, not a bug.