Get palette for any image file, no node-canvas

Usage no npm install needed!

<script type="module">
  import imagePalette from '';


image-palette Build Status unstable

Extract palette from pixels array, return pixels mapped to palette. Useful for organizing palette-based encoding, like GIF, or various limited colors renderers, like gl-scatter2d.

Inspired by get-rgba-palette.


$ npm install image-palette

var palette = require('image-palette')
var pixels = require('image-pixels')

var {ids, colors} = palette(await pixels('./image.png'))


var {ids, colors, amount} = palette(pixels, count=5)

Extract palette from the input pixels array with rgba pixels sequence, whether flat or nested.

  • colors is a list of extracted colors [[r, g, b, a], [r, g, b, a], ...].
  • ids is an array of input pixels mapped to extracted colors.
  • amount is an array with amounts corresponding to the extracted colors, from 0..1 range.
  • count is max number of colors to extract.


  • image-pixels − load pixels data from any image source.
  • image-save − save image/pixel data to a file, canvas or array.
  • image-equal − test if two images are equal, based on fuzzy comparison.


© 2018 Dmitry Yv. MIT License.