User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Drop images here or click to browse PNG, JPG, WebP, GIF • Up to 50 images
#F4F5FB
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

A mosaic composition arranges N source images into a regular grid of c columns and r rows, where r = ceil(N รท c). Each tile is rendered at a computed cell size of wcell ร— hcell pixels. Incorrect aspect ratio handling during tiling produces visible stretching or cropping artifacts that degrade the final output. This tool composites images onto a single Canvas element using cover-fit geometry, preserving each source's native aspect ratio while filling the cell completely. The resulting PNG is rendered at the exact resolution you specify, not downscaled by browser reflow.

Spacing and border radius parameters accept sub-pixel values, and the layout engine accounts for cumulative rounding errors across the grid to prevent single-pixel gaps at tile boundaries. Note: source images below 200ร—200 px may exhibit interpolation blur when scaled to large cell sizes. For print-quality output at 300 DPI, ensure your source images are at least 1200ร—1200 px each.

png mosaic photo mosaic image grid mosaic maker photo collage image mosaic generator

Formulas

The mosaic grid geometry is computed from the number of source images and the chosen column count. The row count is derived as:

r = ceil(N รท c)

Each cell's pixel dimensions within the output canvas of width W and height H, with gap spacing g:

wcell = W โˆ’ g โ‹… (c + 1)c
hcell = H โˆ’ g โ‹… (r + 1)r

For cover-fit rendering, the scale factor for each source image of dimensions wsrc ร— hsrc is:

s = max(wcellwsrc, hcellhsrc)

The source crop rectangle is then centered:

xcrop = wsrc โˆ’ wcell รท s2

Where N = total number of images, c = columns, r = rows, g = gap in pixels, W = output width, H = output height, s = cover-fit scale factor.

Reference Data

Output PresetResolutionColumnsTile Size (approx.)Best For
Instagram Post1080 ร— 1080 px3360 ร— 360 pxSocial media grid
Instagram Story1080 ร— 1920 px3360 ร— 320 pxVertical story collage
Facebook Cover1640 ร— 624 px4410 ร— 312 pxWide banner mosaic
HD Wallpaper1920 ร— 1080 px4480 ร— 540 pxDesktop wallpaper
4K Wallpaper3840 ร— 2160 px6640 ร— 720 pxHigh-res display
A4 Print (300 DPI)2480 ร— 3508 px4620 ร— 877 pxPrint-quality poster
Letter Print (300 DPI)2550 ร— 3300 px5510 ร— 660 pxUS Letter prints
Twitter Header1500 ร— 500 px5300 ร— 250 pxProfile banner
Pinterest Pin1000 ร— 1500 px2500 ร— 750 pxVertical pin layout
YouTube Thumbnail1280 ร— 720 px3427 ร— 360 pxVideo thumbnail
Poster 24ร—36 (150 DPI)3600 ร— 5400 px6600 ร— 900 pxLarge-format poster
Square 2K2048 ร— 2048 px4512 ร— 512 pxAlbum art, icons

Frequently Asked Questions

If N is not evenly divisible by c, the remaining cells in the last row are left empty and filled with the background color. The tool does not stretch or duplicate images to fill gaps. You can reorder tiles so the empty cells fall in the least visible position.
Cover-fit scales each source image so it completely fills the cell, cropping edges that overflow. Contain-fit scales the image to fit entirely within the cell, leaving letterbox bars filled with the background color. Cover-fit produces a cleaner grid with no visible padding, but may crop important content near image edges.
Browser Canvas implementations typically support up to 16384 ร— 16384 px (or 268 megapixels total). This tool clamps output to 8192 px per side to stay within safe memory limits. For a 300 DPI A4 print (2480 ร— 3508 px), this is well within range.
Yes. A gap of g px consumes g โ‹… (c + 1) horizontal pixels total. At 4 columns with a 20 px gap on a 1920 px canvas, that is 100 px consumed by gaps, leaving 1820 px for tiles (455 px per tile).
PNG compression is lossless and highly dependent on image entropy. Photographic content with high color variation produces files 5โˆ’20 MB at 4K resolution. Mosaics with large uniform gap areas compress more efficiently. The tool does not apply lossy compression; the full pixel data is preserved.
At very small cell sizes (below 50 px) with large border radius values, the clipping path may produce anti-aliasing artifacts where the rounded corner meets the gap. Keep border radius below 50% of the smaller cell dimension for clean results.