/color-names

Large list of handpicked color names ๐ŸŒˆ

Primary LanguageJavaScriptMIT LicenseMIT

handpicked color names

Actions Status GitHub release npm version npm name count

A handpicked list of 29392 unique color names from various sources and thousands of curated user submissions.

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

Explore / Find Names | Name distribution in different models | Usage | CDN | Public Rest API | Usage JS | Name Sources | Latest Color Names | Sponsors

About ๐Ÿ“‹

The aim of this project is to create a list of color names as large as possible, while keeping a good name quality. 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.

Explore ๐ŸŒ

Color Name Submission ๐Ÿ’Œ

via form ๐ŸŒˆ / or twitter ๐Ÿฆ

Make sure to read the naming rules before you contribute!

Color Count: 29392 ๐ŸŽ‰

~0.18% of the RGB color space

3d representation of color distribution in RGB Space (Preview image of link above)

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

Usage ๐Ÿ“–

Node.js Installation ๐Ÿ“ฆ

npm install color-name-list --save

or yarn add color-name-list

CDN ๐ŸŒ

All Names ๐Ÿ“š

JSON / JSON.min / CSV / YML / JS / XML / HTML / SCSS

Best of Names subset ๐Ÿ†

JSON / JSON.min / CSV / YML / JS / XML / HTML / SCSS / CSS

API ๐Ÿƒ

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

or

https://api.color.pizza/v1/?values={{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 or curl https://api.color.pizza/v1/?values=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

Unique Color-Names

by adding ?noduplicates=true every returned name will be unique. The closest color, that was not returned previously will be returned: curl https://api.color.pizza/v1/?values=212121,212121&noduplicates=true

{
  "colors": [{
    "name": "Lead",
    "hex": "#212121",
    "rgb": { "r": 33, "g": 33, "b": 33 },
    "luminance": 22.062320231562225
  },{
    "name": "Abaddon Black",
    "hex": "#231f20",
    "rgb": { "r": 35, "g": 31, "b": 32 },
    "luminance": 21.30621829419759
  }]
}

Search for colors by name

https://api.color.pizza/v1/names/{{query}}

or

https://api.color.pizza/v1/names/?name={{query}}

Returns an array of color objects which match the given query, sorted by color-name: curl https://api.color.pizza/v1/names/red

Good Color-Names

Not all color-names are created equal; add ?goodnamesonly=true to your request URL to get a handpicked subset of names that were rated as good by humans. (Colors that are liked a lot on twitter and some of the team favourites).

API Disclaimer

The API is free to use and has no limitations. But if your app/site is commercial and causes excessive traffic, I might contact you to become a sponsor.

Feel free to deploy it yourself, it is very easy to host/deploy on heroku and has no dependencies server.js

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 nearest-color or ClosestVector to help you find the the closest named color.

import nearestColor from 'nearest-color';
import colorNameList from 'color-name-list';

// nearestColor need objects {name => hex} as input
const colors = colorNameList.reduce((o, { name, hex }) => Object.assign(o, { [name]: hex }), {});

const nearest = nearestColor.from(colors);

// get closest named color
nearest('#f1c1d1'); // => Fairy Tale

Alternative package: ktree

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 ๐Ÿฆ‘

Costs & Sponsors

Sponsors

Gold

Silver

Bronze

Project Costs USD

One-Time

Item Expenditure
Logo by Metafizzy 800

Periodic

Item Expenditure
Color Name API Server 264.60/year
color.pizza domain name 36.16/year
Cloudflare PRO Plan 240/year

Color Namers

Verena the naming overlord , Jess the name wizard , Syl , Stephanie Stutz , Simbiasamba , Jason Wilson , Inรชs Joรฃo , Nick Niles , Qwhex , Ichatdelune , basgys , Shelina S. , Trevor Elia , cheesits456 , Sandhya Subram , BerylBucket , Jimmy Fitzback , TLZ , DarthTorus , Carrion , BlueChaos , nachtfunke

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.

Latest Color Names ๐Ÿ”–

New colors