Reference

CSS color names

All 148 keywords the CSS specification defines, with every value and the duplicates marked.

148 of 148 keywords

  • snow#fffafa
  • lightcoral#f08080
  • rosybrown#bc8f8f
  • indianred#cd5c5c
  • red#ff0000
  • firebrick#b22222
  • brown#a52a2a
  • darkred#8b0000
  • maroon#800000
  • mistyrose#ffe4e1
  • salmon#fa8072
  • tomato#ff6347
  • darksalmon#e9967a
  • coral#ff7f50
  • orangered#ff4500
  • lightsalmon#ffa07a
  • sienna#a0522d
  • seashell#fff5ee
  • chocolate#d2691e
  • saddlebrown#8b4513
  • sandybrown#f4a460
  • peachpuff#ffdab9
  • peru#cd853f
  • linen#faf0e6
  • bisque#ffe4c4
  • darkorange#ff8c00
  • burlywood#deb887
  • antiquewhite#faebd7
  • tan#d2b48c
  • navajowhite#ffdead
  • blanchedalmond#ffebcd
  • papayawhip#ffefd5
  • moccasin#ffe4b5
  • orange#ffa500
  • wheat#f5deb3
  • oldlace#fdf5e6
  • floralwhite#fffaf0
  • darkgoldenrod#b8860b
  • goldenrod#daa520
  • cornsilk#fff8dc
  • gold#ffd700
  • lemonchiffon#fffacd
  • khaki#f0e68c
  • palegoldenrod#eee8aa
  • darkkhaki#bdb76b
  • ivory#fffff0
  • lightyellow#ffffe0
  • lightgoldenrodyellow#fafad2
  • yellow#ffff00
  • beige#f5f5dc
  • olive#808000
  • olivedrab#6b8e23
  • yellowgreen#9acd32
  • darkolivegreen#556b2f
  • greenyellow#adff2f
  • chartreuse#7fff00
  • lawngreen#7cfc00
  • honeydew#f0fff0
  • palegreen#98fb98
  • lime#00ff00
  • lightgreen#90ee90
  • limegreen#32cd32
  • darkseagreen#8fbc8f
  • forestgreen#228b22
  • green#008000
  • darkgreen#006400
  • seagreen#2e8b57
  • mediumseagreen#3cb371
  • springgreen#00ff7f
  • mintcream#f5fffa
  • mediumspringgreen#00fa9a
  • mediumaquamarine#66cdaa
  • aquamarine#7fffd4
  • turquoise#40e0d0
  • lightseagreen#20b2aa
  • mediumturquoise#48d1cc
  • azure#f0ffff
  • lightcyan#e0ffff
  • aqua#00ffff
  • cyan#00ffff= aqua
  • paleturquoise#afeeee
  • darkcyan#008b8b
  • teal#008080
  • darkslategray#2f4f4f
  • darkslategrey#2f4f4f= darkslategray
  • darkturquoise#00ced1
  • cadetblue#5f9ea0
  • powderblue#b0e0e6
  • lightblue#add8e6
  • deepskyblue#00bfff
  • skyblue#87ceeb
  • lightskyblue#87cefa
  • steelblue#4682b4
  • aliceblue#f0f8ff
  • dodgerblue#1e90ff
  • lightslategray#778899
  • lightslategrey#778899= lightslategray
  • slategray#708090
  • slategrey#708090= slategray
  • lightsteelblue#b0c4de
  • cornflowerblue#6495ed
  • royalblue#4169e1
  • ghostwhite#f8f8ff
  • lavender#e6e6fa
  • blue#0000ff
  • mediumblue#0000cd
  • midnightblue#191970
  • darkblue#00008b
  • navy#000080
  • slateblue#6a5acd
  • darkslateblue#483d8b
  • mediumslateblue#7b68ee
  • mediumpurple#9370db
  • rebeccapurple#663399
  • blueviolet#8a2be2
  • indigo#4b0082
  • darkorchid#9932cc
  • darkviolet#9400d3
  • mediumorchid#ba55d3
  • thistle#d8bfd8
  • plum#dda0dd
  • violet#ee82ee
  • fuchsia#ff00ff
  • magenta#ff00ff= fuchsia
  • darkmagenta#8b008b
  • purple#800080
  • orchid#da70d6
  • mediumvioletred#c71585
  • deeppink#ff1493
  • hotpink#ff69b4
  • lavenderblush#fff0f5
  • palevioletred#db7093
  • crimson#dc143c
  • pink#ffc0cb
  • lightpink#ffb6c1
  • white#ffffff
  • whitesmoke#f5f5f5
  • gainsboro#dcdcdc
  • lightgray#d3d3d3
  • lightgrey#d3d3d3= lightgray
  • silver#c0c0c0
  • darkgray#a9a9a9
  • darkgrey#a9a9a9= darkgray
  • gray#808080
  • grey#808080= gray
  • dimgray#696969
  • dimgrey#696969= dimgray
  • black#000000
01

Where the names came from

Almost all of these keywords were inherited from the X Window System's rgb.txt, a file that accumulated colour names through the 1980s as people added whatever they happened to need, and it grew without ever being designed.

HTML picked up a subset, browsers implemented rather more than the subset, and CSS eventually standardised what browsers were already doing. One name, rebeccapurple, was added later and deliberately, in memory of the daughter of a web standards contributor.

02

The list is not systematic

Its inconsistencies are worth knowing before you rely on it:

  • darkgray (#a9a9a9) is lighter than gray (#808080). The dark- prefix was applied to a different base colour than the plain name.
  • green is #008000, a fairly dark green. The bright one people expect is lime.
  • Coverage is wildly uneven: there are dozens of near-white and pastel names, and very few useful mid-tones.
  • Several pairs are identical: aqua and cyan, fuchsia and magenta, and every -gray/-grey spelling. They are marked above.

None of that makes them wrong, but it does mean you cannot build a ramp from them. Two names that sound like neighbours can be far apart, and two that sound unrelated can be identical.

03

When to use them

Yes for prototypes, debugging and throwaway work. outline: 2px solid hotpink while hunting a layout bug is faster and more readable than a hex code, and it is obviously temporary.

No for a design system. Define custom properties with names that describe the role (--surface-sunken, --text-muted) rather than the hue. Role names survive a rebrand; --tomato does not.

And when a tool tells you a sampled colour "is" a keyword, check the distance. Out of 16.7 million possible colours, 138 have names. The odds that a photographed pixel is exactly one of them are essentially zero, which is why the image picker shows the closest name with its ΔE rather than pretending it matched.

Frequently asked questions

How many CSS colour names are there?

There are 148 keywords in the CSS Color specification, but several are duplicates: gray and grey, aqua and cyan, fuchsia and magenta, and the whole family of -gray/-grey spellings. Counting distinct colours there are 138.

Where did these names come from?

Mostly from the X Window System colour list of the 1980s, which was assembled informally over years. That is why the set is so uneven: there are four shades of "seashell"-adjacent off-white but no plain mid-orange, and why darkgray is lighter than gray.

Should I use keywords in production CSS?

For prototypes and debugging, yes, because they are readable and fast to type. For a real design system, no. The list is arbitrary, the spacing between colours is uneven, and you cannot build a consistent ramp from it. Define your own custom properties instead.

Why is my sampled colour never one of these?

Because 138 colours out of 16.7 million is a vanishingly small sample. Anything photographed, compressed or anti-aliased will land between them. That is why ColorFinders shows the closest keyword with its distance rather than claiming a match.

What about transparent and currentColor?

They are CSS keywords but not named colours: transparent is shorthand for a fully transparent black, and currentColor resolves to whatever the element inherits. Neither has a fixed value, so neither is listed here.

Read the guide

  • How to use color codes in CSSEvery way CSS accepts a colour, why custom properties beat repeating hex codes, and the relative-colour syntax that replaces most of your Sass functions.
  • What is a HEX color code?Reading a hex code by eye, the shorthand form, the alpha byte, and the arithmetic underneath.