FREEDOM251

Freedom251 › Photo Mosaic Software

phomo

Free plan Open source APILinuxMacWebWindows

Visit phomo Alternatives Pricing

phomo's own site

What phomo is

phomo is a free tool for making photographic mosaics from a master image and a collection of tile images. It compares color distributions in tiles with regions of the master, then assigns tiles using a linear sum assignment algorithm. The project can be installed with pip as a Python package, and its command-line tool accepts a master image and a directory of tiles. Image controls include cropping and resizing, black-and-white conversion, grid display, and a setting for how often tiles appear. Matching options include greyscale, norm, and luv_approx distance metrics, color equalization, and color-distribution matching. A greedy assignment mode can improve performance but reduces accuracy. CUDA acceleration is available through an extra and requires a compatible GPU and CUDA toolkit. The package requires Python 3.9 or later but earlier than 3.13, runs on Linux, macOS, and Windows, and lists PNG as its output format. It is published under the MIT License.

Who it suits

phomo suits people who want to create image mosaics from their own tile library and are comfortable using a Python package or command line. Its CUDA option is for users with compatible hardware and toolkit.

What it does well

  • Free Python package and command-line utility.
  • Offers several color-matching options.
  • Includes cropping, resizing, and tile reuse controls.
  • Runs on Linux, macOS, and Windows.
  • Published under the MIT License.

What to know first

  • Requires Python 3.9 or later and below 3.13.
  • CUDA acceleration requires a compatible GPU and toolkit.
  • Greedy assignment trades accuracy for performance.

Plans

PlanBilled and limitsPrice
phomoPython package and CLI utility · CUDA acceleration requires a compatible GPU and CUDA toolkitFree
Open-source packagePython >=3.9 and <3.13 · local CLI/Python use · optional CUDA extraFree

As github.com lists them, read 3 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the phomo GitHub project.
  2. Install the Python package with pip.
  3. Use Python 3.9 or later and below 3.13.
  4. Run the `phomo` command with a master image and a directory of tile images.
  5. For CUDA acceleration, install the CUDA extra and use a CUDA-compatible GPU with the CUDA toolkit.

phomo is a free Python utility for creating photographic mosaics from a library of tile images. It suits people comfortable with a command line or Python workflow who want control over tile matching and reuse. Its strongest case is a configurable, local mosaic workflow; users seeking a web-based creation service should look elsewhere.

Overview

The tool recreates a master image by arranging tile images into a grid. You can install it with pip and use it as a Python package, or run the phomo command with a master image and a directory of tiles. That makes it a practical fit for users who already manage images and scripts locally, rather than those who want a browser-based editor.

Key features

phomo compares tile images with regions of the master by their color distributions, then assigns tiles using a linear sum assignment algorithm. The CLI offers greyscale, norm and luv_approx distance metrics, color equalization, and options to match color distributions. These choices give users ways to tune how closely tile colors correspond to the source image, though the project does not claim that one setting is best for every image library.

Image controls include cropping and resizing the master and tile images, converting them to black and white, displaying the grid, and setting how often each tile may appear. Custom tile libraries and tile reuse controls make it possible to shape the composition around a chosen image collection. The output format is PNG.

Greedy tile assignment is a performance option, but it gives up accuracy in exchange for speed. Choose it when processing time matters more than a closer match; for image fidelity, the standard assignment approach is the better fit. CUDA acceleration is available through an extra, but requires both a CUDA-compatible GPU and the CUDA toolkit, so it is not a universal shortcut.

Pricing

phomo is free: its Python package and CLI utility cost nothing. There is no free trial because the software is free, and no paid plan is described. CUDA acceleration is part of an optional extra but depends on compatible GPU hardware and the CUDA toolkit. The package requires Python >=3.9 and <3.13.

Platforms

phomo is listed for Linux, macOS and Windows as a desktop utility. The Python package requires a supported Python version, and CUDA use adds hardware and toolkit requirements. The MIT License permits use under its published open-source terms.

Who it's for

phomo is best for technically comfortable users who have a tile-image collection and want adjustable matching, image preparation controls, and a PNG mosaic from a local workflow. Python users may also value being able to use the package in their own scripts. It is a weaker choice for people who want a guided web tool, paid print ordering, or a workflow that avoids command-line and Python setup.

Pros and cons

  • Pros: Free access to both package and CLI makes it possible to build mosaics without a software fee.
  • Pros: Multiple distance metrics, color controls, cropping, resizing and tile appearance settings give users meaningful control over matching and composition.
  • Pros: Linux, macOS and Windows support broadens its fit for desktop users.
  • Cons: Greedy assignment trades matching accuracy for performance, which may undermine image fidelity.
  • Cons: CUDA acceleration depends on a compatible GPU and toolkit, limiting its value for users without that setup.
  • Cons: The Python version range and command-line workflow make it less suitable for users seeking a turnkey browser experience.

Alternatives

Photo Mosaic Software is a useful place to compare more tools in the category.

Choose AndreaMosaic instead if you want a free option with stated limits of 200 megapixels, 30,000 tiles and 50,000 images, plus mosaic creation and printing features.

Picture Mosaics Online Mosaic Tool suits people who want to create mosaics online for free with an account and pay for downloads, prints or video files.

EasyMoza is another web-based choice, with a free low-resolution download and a listed XL High Resolution option at $595, paid once.

Photo Mosaica is a free alternative for iOS and macOS.

PhotoMosaic.ai is a web option with an always-free lower-resolution plan that supports unlimited mosaic creation and 4,800×4,800px output.

PicTiler is a web service with a free standard-quality option for personal and commercial use.

Rapid-Mosaic is worth considering if you want free Windows software that creates mosaics locally and lets you order prints online.

Mosaic Magnifique is a free Windows alternative.

Verdict

Choose phomo if you want a free, cross-platform Python and command-line tool with adjustable tile matching and image controls. Its central limitation is the technical setup: Python is required, while CUDA adds specific hardware and toolkit needs. For users seeking a browser-led or print-oriented workflow, one of the web services may be a better fit.

Verdict

phomo offers adjustable tile matching and image controls in a free, cross-platform Python utility. Its greedy mode sacrifices accuracy, while CUDA acceleration has specific hardware and toolkit requirements.

Questions

How much does phomo cost?

The phomo plan is free.

Is there a free trial?

No free trial is listed. The project is free.

Which operating systems does phomo support?

It runs on Linux, macOS, and Windows.

Does phomo require a GPU?

GPU acceleration is available through the CUDA extra and requires a CUDA-compatible GPU and CUDA toolkit. The package and command-line utility are also available without that listed acceleration option.

What license does phomo use?

The project is published under the MIT License.

Who maintains phomo?

PyPI identifies Loic Coyle as the author and lists one maintainer.

Facts from phomo's own pages

Assignment algorithm
The default builder solves the tile-placement assignment problem with SciPy's linear-sum-assignment implementation. · loiccoyle.com, 15 Oct 2026
Changelog: dependency security
The 1.1.2 changelog entry dated January 18, 2025 says dependencies were updated to close Dependabot security alerts. · github.com, 15 Oct 2026
Changelog: greedy flag
The 1.2.0 changelog entry dated January 21, 2025 records exposing greedy assignment through the CLI and documenting its flag. · github.com, 15 Oct 2026
CLI image controls
CLI flags cover cropping, resizing, black-and-white conversion, tile reuse count, grid display, and verbosity. · github.com, 15 Oct 2026
CLI inputs
The command accepts a master image path and a directory of tile images and writes a mosaic output file. · github.com, 15 Oct 2026
CLI isolation
The documentation recommends pipx when the user only needs the command-line tool. · docs.loiccoyle.com, 15 Oct 2026
Color-distribution matching
Its distance calculation compares color distributions within tiles and master regions rather than only average colors. · loiccoyle.com, 15 Oct 2026
Color matching flags
CLI options can equalize colors or match the master palette to tiles and tiles to the master. · github.com, 15 Oct 2026
Command line
The package provides a `phomo` command that accepts a master image and a directory of tile images. · github.com, 3 Oct 2026
CUDA API limit
The CUDA distance-matrix method supports only norm and greyscale metrics and requires Numba with CUDA installed. · docs.loiccoyle.com, 15 Oct 2026
Distance-matrix API
Mosaic.d_matrix accepts a worker count, a named metric, or a custom callable and returns a NumPy array. · docs.loiccoyle.com, 15 Oct 2026
Distance metrics
The CLI exposes greyscale, norm, and luv_approx metrics. · github.com, 15 Oct 2026
Documentation depth
The documentation includes installation, CLI help, examples, class references, and performance guidance. · docs.loiccoyle.com, 15 Oct 2026
GPU acceleration
An optional CUDA path uses Numba kernels to accelerate distance-matrix computation. · loiccoyle.com, 15 Oct 2026
GPU support
GPU acceleration is available through the CUDA extra and requires a CUDA-compatible GPU and CUDA toolkit. · github.com, 3 Oct 2026
Greedy mode
A greedy assignment option is documented as faster while sacrificing matching accuracy. · github.com, 15 Oct 2026
Grid visualization
The package can display a master-image tile grid and subdivide high-contrast regions. · loiccoyle.com, 15 Oct 2026
Image controls
CLI options include cropping and resizing the master and tile images, black-and-white conversion, grid display, and tile appearance count. · github.com, 3 Oct 2026
Installation
PyPI documents installation with pip and offers a separate phomo[cuda] extra. · pypi.org, 15 Oct 2026
Latest release
PyPI lists version 1.2.0 as released on January 21, 2025. · pypi.org, 15 Oct 2026
License
The package is released under the MIT License, permitting reuse, modification, distribution, sublicensing, and sale subject to the notice and warranty terms. · raw.githubusercontent.com, 15 Oct 2026
Maintainer
PyPI identifies Loic Coyle as the author and lists loiccoyle as the sole maintainer. · pypi.org, 15 Oct 2026
Maker profile
Loïc Coyle's GitHub profile lists London as location and Polaron as affiliation. · github.com, 15 Oct 2026
Matching options
The CLI offers greyscale, norm, and luv_approx distance metrics, color equalization, and options to match color distributions. · github.com, 3 Oct 2026

Where phomo stands on Freedom251

Look at these too