Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Automatic color palette detection
branch: master

This branch is 51 commits behind 99designs:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Image palette detection in Python modelled after Paul Annesley's color detector in PHP. colorific determines what the most important colors used in your image are, and if one of them is a background color.

by Dennis Hotson & Lars Yencken


colorific is meant to run in a streaming manner. You can run it on a single image by echo'ing in the image::

$ echo myimage.png | colorific
myimage.png #3e453f,#2ea3b7,#bee6ea,#51544c,#373d38 #ffffff

Each input line should be a filename. Each output line will be a tab-delimited string containing the filename, major colors in order, and (optionally) a detected background color.

To run on an entire directory tree of images::

$ find . -name '*.jpg' | colorific

colorific has an experimental multiprocessing mode, accessed by the -n argument. For example, to run the same example using 8 processes::

$ find . -name '*.jpg' | colorific -p 8

You can also get usage information by running colorific --help.


Here's a concrete example of use. This is the NASA Ares logo:

NASA Ares Logo

Let's run palette detection on it:

$ echo 500px-NASA-Ares-logo.svg.png | colorific
500px-NASA-Ares-logo.svg.png  #0065b9,#bbd6ec,#ff0000

These correspond to the colors:

Ares palette

Note that black and white have been stripped away, and minor colors introduced through antialiasing are not present.

Something went wrong with that request. Please try again.