/color-names

Massive color dictionary 🌈

Primary LanguageJavaScriptMIT LicenseMIT

17375 color-names

GitHub release npm version npm Travis color count Buy Me a Coffee at ko-fi.com

A handpicked list of 17375 unique color names from various sources and thousands of user submissions. Try it yourself or read the full list.

The names of color function like a thread attached to a frightfully slender needle, capable of stitching together our most delicate emotions and memories. When the needle hits the target, we feel either pleasure or empathy. Kenya Hara – White

About 📋

The aim of this project is to create as large a list of color names as possible. We've merged various lists, modified the names when there were duplicates with different hex values, and shifted the colors a bit when there were identical colors with different names.

Submit a color via form 🌈 / or twitter 🐦

Make sure to read the naming rules before you contribute!

color count: 17375 🎉

(~0.10% of all RGB Colors)

Color distribution 🛰

When coming up with new color names, it is vital to know what spots in a certain color-space are crowded and where there is still room for new colors. For example: Our API returns the closest RGB color to a given HEX value. To avoid too many colors snapping to the same name, we aim to distribute the colors evenly in the color space: Visualization

PS: You can choose between different color spaces on the bottom right.

Usage 📖

Installation Node.js 📦

npm install color-name-list --save

or yarn add color-name-list

CDN 🌍 JSON / CSV / YML / JS

API 🃏

https://api.color.pizza/v1/{{hexvalue without the #}},{{more comma separated values}}

Single Color

curl https://api.color.pizza/v1/212121

{
  "colors": [{
    "name": "Lead",
    "hex": "#212121",
    "rgb": {"r":33, "g":33, "b":33},
    "distance": 0, // its an exact match
    "luminance": 22.062320231562225,
    "requestedHex": "#212121",
  }]
}

Multiple Colors

curl https://api.color.pizza/v1/212121,060606,ff0012,550055,123456

All Named Colors

curl https://api.color.pizza/v1/

In this case colors is not an object but an array of objects sorted by color-name

Usage JS

Exact Color

import namedColors from 'color-name-list';

let someColor = namedColors.find(color => color.hex === '#ffffff');
console.log(someColor.name); // => white

let someNamedColor = namedColors.find(color => color.name === 'Eigengrau')
console.log(someColor.hex); // => #16161d

Closest Named Color

Since there are 16777216 possible RGB colors, you might use a library such as ktree to help you find the the closest named color.

import namedColors from 'color-name-list';
import { Octree } from 'ktree';

// simple hex-to-rgb (assuming no short formats, else see https://unpkg.com/color-tf/hexToRgb.js)
const hexToRgb = s => [s.slice(-6, -4), s.slice(-4, -2), s.slice(-2)].map(x => parseInt(x, 16));

const tree = new Octree(namedColors, { key: 'hex', transform: hexToRgb });
console.log(tree.closest('#f1c1d1')); // => Fairy Tale

Note: If you are looking for something visually more accurate, you could: use DeltaE, or use the above snippet, combined with a transform from rgb to ciecam02 scaled to 0-255

Building 🔨

npm install && npm run build

See package.json for more.

Sources 🗒

Sources: Names 📇

Sources: Color 🎨

Contributors 🦑

Disclaimer 👮🏾‍

In the process we try to remove all names that are offensive or racist, as well as protected brand names. As some of the color names come from other lists, some bad ones might slip in. Please report them, they will be removed as quickly as possible.