ToolJovia
Images

Local Photo Mosaic Builder

Create a real photo-mosaic PNG by matching a small local tile collection to an original target image.

✓ Browser-local processing

Loading tool…

How to use Local Photo Mosaic Builder

Create a real photo-mosaic PNG by matching a small local tile collection to an original target image. Compose a larger picture from your own smaller photos using an explicit, inspectable color-matching model. Choose the grid and tile edge, then see which source was selected for every target cell. The output uses your actual tile samples rather than a generated fill, a remote image library or an AI model.

  1. Provide original target image, local tile photographs, grid columns, grid rows, square tile edge in output pixels.
  2. Choose the supported mode and run the tool. Review its assumptions and any reported errors.
  3. Copy the result or download a separate output; reset to clear the current form.

Good to know

  • Static PNG, baseline JPEG or simple VP8/VP8L WebP only: at most 8 MiB per source, 1,000,000 pixels and 2,048 per side. Full structure/CRC/dimension preflight precedes decoding; animated/extended/progressive formats, compressed PNG metadata and supplied SVG are refused. Source names are bounded single-line manifest data of at most 1,024 UTF-8 bytes.
  • Target plus 1–16 tile sources must fit 24 MiB and 4,000,000 combined source pixels. Every header and the combined pixel budget is checked before any native decode. Source selection order is significant. Originals are never modified, fetched from URLs or uploaded.
  • Grid controls are exact plain integer digits: 1–64 columns and rows, at most 4,096 cells, and a 4–32 pixel square tile edge. Output must fit 2,048 per side and 1,000,000 pixels. The chosen grid aspect ratio is intentional; the tool does not silently choose it from the original image.
  • Each tile is center-cropped to its largest square, with floor offsets, then sampled at output pixel centers by nearest neighbor. Alpha is composited over white using round((channel × alpha + 255 × (255 − alpha)) ÷ 255). Only these small opaque square tiles remain in memory after each source is processed.
  • Target cell descriptors use exact integer-area coverage over original pixel rectangles, followed by a rounded-byte encoded-sRGB mean. Prepared tile descriptors are their rounded-byte RGB means. Choose the smallest squared RGB descriptor distance; the first source wins exact ties, and tiles may be reused. No color correction or target overlay is applied.
  • Mean-color matching is a simple authored finite-grid model, not linear-light colorimetry, perceptual similarity, semantic object matching or globally optimal composition. Two photos with the same mean can tie despite different structure. Fine detail, restricted tile colors and repeated selections can reduce resemblance; the manifest makes that limitation visible.
  • Core computation retains bounded source/target and prepared-square buffers, at most 4 MiB output RGBA plus small choice/descriptor arrays. Parent copies and native codec buffers add overhead. The same-origin module Worker prepares within 10 seconds, then has a separate 2-second compute deadline and terminates. Native decoding waits at most 10 seconds per image and PNG encoding 5 seconds; the final PNG is at most 8 MiB.
  • Download photo-mosaic.png and copy the JSON report for per-cell zero-based tile indices, source metadata, usage counts and both descriptor sets. A successful export proves the selected algorithm ran; it does not establish image ownership, print quality or visual resemblance. Browser color management and native decode/encode may alter source samples or metadata.
  • Structured text output is limited to 500,000 characters. Reduce the supplied source when that separate output budget is exceeded.
  • Inputs are processed on this device and are not automatically saved or uploaded.

Common questions

Why did the same photo appear many times?

Every target cell independently chooses the closest rounded mean-color descriptor, with input order breaking ties. Reuse is deliberately allowed, so a tile with a useful color can be selected repeatedly. Add a more varied local collection if you want more color choices; the tool does not fabricate or download extra photographs.

Does this change my original input?

No. The tool returns a separate result. Review that output before using it in another application.

Keep going with related tools

All images →