2.1.1 • Public • Published

Color Thief

Build Status

A script for grabbing the color palette from an image. This is a fork of the original color-thief library, modified to work in node as well as in the browser.

Further changes have been made to code structure as well as tests and general organisation.

A demo may be found on the original projects site: lokeshdhakar.com

How to use

In node simply require:

var ColorThief = require('@paulavery/color-thief')

In a browser simply reference the main file, which will provide window.ColorThief.

<!-- installed via bower -->
<script src="bower_components/color-thief/lib/browser.min.js"></script>

<!-- installed via npm -->
<script src="node_modules/color-thief/lib/browser.min.js"></script>

Get the dominant color from an image

var colorThief = new ColorThief();
getColor(sourceImage[, quality])
returns {r: num, g: num, b: num}

Build a color palette from an image

In this example, we build an 8 color palette.

var colorThief = new ColorThief();
colorThief.getPalette(sourceImage, 8);
getPalette(sourceImage[, colorCount, quality])
returns [ [num, num, num], [num, num, num], ... ]


To run the tests, simply call make test. Tests may be found in the test directory and utilize mocha as well as phantomjs for testing in the browser as well as node.

Credits and license


by Lokesh Dhakar
lokeshdhakar.com twitter.com/lokesh

Fork Maintainer

Florian Albertz Github


  • Nick Rabinowitz - For creating quantize.js.
  • John Schulz - For clean up and optimization. @JFSIII
  • Nathan Spady - For adding drag and drop support to the demo page.


Licensed under the Creative Commons Attribution 2.5 License

  • Free for use in both personal and commercial projects.
  • Attribution requires leaving author name, author homepage link, and the license info intact.

Package Sidebar


Weekly Downloads






Last publish


  • paulavery