Accepts jpg, jpeg, png, and webp tile images.
Free Android photo utility
Create high-detail photo mosaics on your phone from folders of candidate tile images.
PhotoMosaic reconstructs base images using many smaller tile images from a folder you select on your phone, with crash-safe folder-selection diagnostics.
Outputs stay in a user-visible app files folder instead of an opaque cache.
Generates incrementing numeric suffixes until a free file name is found.
Average-color tile matching with strict max-reuse enforcement and optional elongated-image square crop variants.
Support
If PhotoMosaic saves you time, help fund more device coverage and mosaic quality hardening.
Small support helps pay for testing devices, Android releases, and time spent improving long-running generation reliability and mosaic quality on real phones.
How it works
2 focused workflows from one landing page.
Tile folder preparation
Provider-safe folder labels avoid crashes when a document provider does not expose a display name for tree URIs.
Scan nested folders recursively before generation starts.
Mosaic generation
Foreground-service generation flow with shared progress state and local history metadata.
Configure grid rows, columns, tile size, and max reuse per tile.
Features
Everything PhotoMosaic handles, workflow by workflow.
Workflow 1
Tile folder preparation
Provider-safe folder labels avoid crashes when a document provider does not expose a display name for tree URIs.
- Select a folder of candidate tile images through the Android document picker.
- Scan nested folders recursively before generation starts.
- Build temporary tile copies only for the active run.
- If folder processing fails unexpectedly, the app remains active and shows a short error trace in status text.
- Expand strongly elongated images into square crop variants to avoid squeezed-looking tiles.
- Provider-safe folder labels avoid crashes when a document provider does not expose a display name for tree URIs.
Workflow 2
Mosaic generation
Foreground-service generation flow with shared progress state and local history metadata.
- Select one or more base images, then select a folder of candidate tile images.
- Configure grid rows, columns, tile size, and max reuse per tile.
- Generate mosaics with both overall pipeline progress and per-step progress.
- Keep processing in a foreground task even if the phone locks or the user briefly switches apps.
- Allow cancellation during long runs while still completing temporary tile cleanup.
- Save and review generated mosaics from a dedicated history page.
Quality and reliability
Release confidence is built into the workflow.
This same release hardening mindset carries through local checks and device-level export validation.
FAQ
Common questions about PhotoMosaic.
Where do mosaics go?
Outputs are written under DCIM/photomosaic/.
How are duplicate names handled?
Generates incrementing numeric suffixes until a free file name is found.
Can I reuse a library across jobs?
Foreground-service generation flow with shared progress state and local history metadata.