CSS Color Names, Hex and RGB Codes

All 148 CSS color keywords with hex, RGB and HSL values.

No signup, no tracking

CSS defines exactly 148 color keywords, and this is all of them, grouped by hue, with the hex, RGB and HSL value for each. It is a closed set — no browser adds names of its own — so this table is the whole vocabulary.

Every value here was extracted from the named-color table in the CSS Color Module Level 4 specification and cross-checked: the hex and RGB columns are byte-identical, and each HSL value converts back to the original RGB. Nothing on this page was recalled from memory.

How to read the table

Every row gives the same color in the three notations you are most likely to need. All four columns below are interchangeable in a stylesheet, and browsers treat them identically.

NotationExampleNotes
KeywordtomatoCase-insensitive: TOMATO and Tomato are the same keyword.
Hex#ff6347Two hex digits per channel. #f63 shorthand expands to #ff6633.
RGBrgb(255 99 71)0-255 per channel. The legacy comma form still works.
HSLhsl(9 100% 64%)Hue in degrees, then saturation and lightness as percentages.

The HSL values in the tables below are rounded to whole degrees and whole percentage points, which is what you would normally type. Converted back to RGB they land within one unit of the exact byte values, so use the hex or RGB column when you need an exact match.

The original sixteen

These sixteen come from the VGA palette, were adopted into HTML, and are the only color keywords guaranteed to work in even the oldest browsers. The other 132 names arrived later from the X11 palette used on Unix systems.

NameHexRGBHSL
aqua#00ffff0, 255, 255180, 100%, 50%
black#0000000, 0, 00, 0%, 0%
blue#0000ff0, 0, 255240, 100%, 50%
fuchsia#ff00ff255, 0, 255300, 100%, 50%
gray#808080128, 128, 1280, 0%, 50%
green#0080000, 128, 0120, 100%, 25%
lime#00ff000, 255, 0120, 100%, 50%
maroon#800000128, 0, 00, 100%, 25%
navy#0000800, 0, 128240, 100%, 25%
olive#808000128, 128, 060, 100%, 25%
purple#800080128, 0, 128300, 100%, 25%
red#ff0000255, 0, 00, 100%, 50%
silver#c0c0c0192, 192, 1920, 0%, 75%
teal#0080800, 128, 128180, 100%, 25%
white#ffffff255, 255, 2550, 0%, 100%
yellow#ffff00255, 255, 060, 100%, 50%

Pinks

Six names, all in the magenta-to-red arc. mediumvioletred is the darkest of them and pink itself is the palest.

NameHexRGBHSL
mediumvioletred#c71585199, 21, 133322, 81%, 43%
deeppink#ff1493255, 20, 147328, 100%, 54%
palevioletred#db7093219, 112, 147340, 60%, 65%
hotpink#ff69b4255, 105, 180330, 100%, 71%
lightpink#ffb6c1255, 182, 193351, 100%, 86%
pink#ffc0cb255, 192, 203350, 100%, 88%

Reds

Nine reds, running from darkred through the pure red of the original palette to the pale lightsalmon.

NameHexRGBHSL
darkred#8b0000139, 0, 00, 100%, 27%
red#ff0000255, 0, 00, 100%, 50%
firebrick#b22222178, 34, 340, 68%, 42%
crimson#dc143c220, 20, 60348, 83%, 47%
indianred#cd5c5c205, 92, 920, 53%, 58%
lightcoral#f08080240, 128, 1280, 79%, 72%
salmon#fa8072250, 128, 1146, 93%, 71%
darksalmon#e9967a233, 150, 12215, 72%, 70%
lightsalmon#ffa07a255, 160, 12217, 100%, 74%

Oranges

Only five names sit in the orange band, which is why so many designs end up using a hex value here instead.

NameHexRGBHSL
orangered#ff4500255, 69, 016, 100%, 50%
tomato#ff6347255, 99, 719, 100%, 64%
darkorange#ff8c00255, 140, 033, 100%, 50%
coral#ff7f50255, 127, 8016, 100%, 66%
orange#ffa500255, 165, 039, 100%, 50%

Yellows

Yellows shade into the khakis and creams. Several of these are far paler than the name suggests — lightyellow is almost white.

NameHexRGBHSL
darkkhaki#bdb76b189, 183, 10756, 38%, 58%
gold#ffd700255, 215, 051, 100%, 50%
khaki#f0e68c240, 230, 14054, 77%, 75%
peachpuff#ffdab9255, 218, 18528, 100%, 86%
yellow#ffff00255, 255, 060, 100%, 50%
palegoldenrod#eee8aa238, 232, 17055, 67%, 80%
moccasin#ffe4b5255, 228, 18138, 100%, 85%
papayawhip#ffefd5255, 239, 21337, 100%, 92%
lightgoldenrodyellow#fafad2250, 250, 21060, 80%, 90%
lemonchiffon#fffacd255, 250, 20554, 100%, 90%
lightyellow#ffffe0255, 255, 22460, 100%, 94%

Browns and tans

The largest warm group. maroon and olive are part of the original sixteen; the rest arrived with the X11 palette.

NameHexRGBHSL
maroon#800000128, 0, 00, 100%, 25%
brown#a52a2a165, 42, 420, 59%, 41%
saddlebrown#8b4513139, 69, 1925, 76%, 31%
sienna#a0522d160, 82, 4519, 56%, 40%
chocolate#d2691e210, 105, 3025, 75%, 47%
darkgoldenrod#b8860b184, 134, 1143, 89%, 38%
peru#cd853f205, 133, 6330, 59%, 53%
rosybrown#bc8f8f188, 143, 1430, 25%, 65%
goldenrod#daa520218, 165, 3243, 74%, 49%
sandybrown#f4a460244, 164, 9628, 87%, 67%
tan#d2b48c210, 180, 14034, 44%, 69%
burlywood#deb887222, 184, 13534, 57%, 70%
wheat#f5deb3245, 222, 17939, 77%, 83%
navajowhite#ffdead255, 222, 17336, 100%, 84%
bisque#ffe4c4255, 228, 19633, 100%, 88%
blanchedalmond#ffebcd255, 235, 20536, 100%, 90%
cornsilk#fff8dc255, 248, 22048, 100%, 93%

Greens

Twenty greens, and the pair that trips people up most: green is the dark original at #008000, while lime is the bright full-intensity one at #00ff00.

NameHexRGBHSL
darkgreen#0064000, 100, 0120, 100%, 20%
green#0080000, 128, 0120, 100%, 25%
darkolivegreen#556b2f85, 107, 4782, 39%, 30%
forestgreen#228b2234, 139, 34120, 61%, 34%
seagreen#2e8b5746, 139, 87146, 50%, 36%
olive#808000128, 128, 060, 100%, 25%
olivedrab#6b8e23107, 142, 3580, 60%, 35%
mediumseagreen#3cb37160, 179, 113147, 50%, 47%
limegreen#32cd3250, 205, 50120, 61%, 50%
lime#00ff000, 255, 0120, 100%, 50%
springgreen#00ff7f0, 255, 127150, 100%, 50%
mediumspringgreen#00fa9a0, 250, 154157, 100%, 49%
darkseagreen#8fbc8f143, 188, 143120, 25%, 65%
mediumaquamarine#66cdaa102, 205, 170160, 51%, 60%
yellowgreen#9acd32154, 205, 5080, 61%, 50%
lawngreen#7cfc00124, 252, 090, 100%, 49%
chartreuse#7fff00127, 255, 090, 100%, 50%
lightgreen#90ee90144, 238, 144120, 73%, 75%
greenyellow#adff2f173, 255, 4784, 100%, 59%
palegreen#98fb98152, 251, 152120, 93%, 79%

Cyans and turquoises

aqua and cyan are two names for the same color. The rest run from the very dark teal to the near-white lightcyan.

NameHexRGBHSL
teal#0080800, 128, 128180, 100%, 25%
darkcyan#008b8b0, 139, 139180, 100%, 27%
lightseagreen#20b2aa32, 178, 170177, 70%, 41%
cadetblue#5f9ea095, 158, 160182, 25%, 50%
darkturquoise#00ced10, 206, 209181, 100%, 41%
mediumturquoise#48d1cc72, 209, 204178, 60%, 55%
turquoise#40e0d064, 224, 208174, 72%, 56%
aqua#00ffff0, 255, 255180, 100%, 50%
cyan#00ffff0, 255, 255180, 100%, 50%
aquamarine#7fffd4127, 255, 212160, 100%, 75%
paleturquoise#afeeee175, 238, 238180, 65%, 81%
lightcyan#e0ffff224, 255, 255180, 100%, 94%

Blues

Fifteen blues from navy up to powderblue. cornflowerblue and dodgerblue are the two that get used far beyond their original purpose.

NameHexRGBHSL
navy#0000800, 0, 128240, 100%, 25%
darkblue#00008b0, 0, 139240, 100%, 27%
mediumblue#0000cd0, 0, 205240, 100%, 40%
blue#0000ff0, 0, 255240, 100%, 50%
midnightblue#19197025, 25, 112240, 64%, 27%
royalblue#4169e165, 105, 225225, 73%, 57%
steelblue#4682b470, 130, 180207, 44%, 49%
dodgerblue#1e90ff30, 144, 255210, 100%, 56%
deepskyblue#00bfff0, 191, 255195, 100%, 50%
cornflowerblue#6495ed100, 149, 237219, 79%, 66%
skyblue#87ceeb135, 206, 235197, 71%, 73%
lightskyblue#87cefa135, 206, 250203, 92%, 75%
lightsteelblue#b0c4de176, 196, 222214, 41%, 78%
lightblue#add8e6173, 216, 230195, 53%, 79%
powderblue#b0e0e6176, 224, 230187, 52%, 80%

Purples, violets and magentas

Nineteen names, including rebeccapurple — added to the spec in memory of the web developer Eric Meyer’s daughter, and the only named color with a dedication behind it.

NameHexRGBHSL
indigo#4b008275, 0, 130275, 100%, 25%
purple#800080128, 0, 128300, 100%, 25%
darkmagenta#8b008b139, 0, 139300, 100%, 27%
darkviolet#9400d3148, 0, 211282, 100%, 41%
darkslateblue#483d8b72, 61, 139248, 39%, 39%
blueviolet#8a2be2138, 43, 226271, 76%, 53%
darkorchid#9932cc153, 50, 204280, 61%, 50%
fuchsia#ff00ff255, 0, 255300, 100%, 50%
magenta#ff00ff255, 0, 255300, 100%, 50%
slateblue#6a5acd106, 90, 205248, 53%, 58%
mediumslateblue#7b68ee123, 104, 238249, 80%, 67%
mediumorchid#ba55d3186, 85, 211288, 59%, 58%
mediumpurple#9370db147, 112, 219260, 60%, 65%
orchid#da70d6218, 112, 214302, 59%, 65%
violet#ee82ee238, 130, 238300, 76%, 72%
plum#dda0dd221, 160, 221300, 47%, 75%
thistle#d8bfd8216, 191, 216300, 24%, 80%
lavender#e6e6fa230, 230, 250240, 67%, 94%
rebeccapurple#663399102, 51, 153270, 50%, 40%

Whites and off-whites

Seventeen names that are all within a few percent of white. Useful as page backgrounds, and almost impossible to tell apart without a swatch.

NameHexRGBHSL
white#ffffff255, 255, 2550, 0%, 100%
snow#fffafa255, 250, 2500, 100%, 99%
honeydew#f0fff0240, 255, 240120, 100%, 97%
mintcream#f5fffa245, 255, 250150, 100%, 98%
azure#f0ffff240, 255, 255180, 100%, 97%
aliceblue#f0f8ff240, 248, 255208, 100%, 97%
ghostwhite#f8f8ff248, 248, 255240, 100%, 99%
whitesmoke#f5f5f5245, 245, 2450, 0%, 96%
seashell#fff5ee255, 245, 23825, 100%, 97%
beige#f5f5dc245, 245, 22060, 56%, 91%
oldlace#fdf5e6253, 245, 23039, 85%, 95%
floralwhite#fffaf0255, 250, 24040, 100%, 97%
ivory#fffff0255, 255, 24060, 100%, 97%
antiquewhite#faebd7250, 235, 21534, 78%, 91%
linen#faf0e6250, 240, 23030, 67%, 94%
lavenderblush#fff0f5255, 240, 245340, 100%, 97%
mistyrose#ffe4e1255, 228, 2256, 100%, 94%

Grays and black

The neutral ramp from black to gainsboro. Seven of these have both a gray and a grey spelling, listed here as separate rows because both are valid CSS.

NameHexRGBHSL
black#0000000, 0, 00, 0%, 0%
darkslategray#2f4f4f47, 79, 79180, 25%, 25%
darkslategrey#2f4f4f47, 79, 79180, 25%, 25%
dimgray#696969105, 105, 1050, 0%, 41%
dimgrey#696969105, 105, 1050, 0%, 41%
slategray#708090112, 128, 144210, 13%, 50%
slategrey#708090112, 128, 144210, 13%, 50%
lightslategray#778899119, 136, 153210, 14%, 53%
lightslategrey#778899119, 136, 153210, 14%, 53%
gray#808080128, 128, 1280, 0%, 50%
grey#808080128, 128, 1280, 0%, 50%
darkgray#a9a9a9169, 169, 1690, 0%, 66%
darkgrey#a9a9a9169, 169, 1690, 0%, 66%
silver#c0c0c0192, 192, 1920, 0%, 75%
lightgray#d3d3d3211, 211, 2110, 0%, 83%
lightgrey#d3d3d3211, 211, 2110, 0%, 83%
gainsboro#dcdcdc220, 220, 2200, 0%, 86%

Nine pairs of names that are the same color

There are 148 keywords but only 139 distinct colors, because nine pairs are exact duplicates. Seven of them are the British and American spellings of grey; the other two are leftovers from the original sixteen.

NameSame asHexRGB
aquacyan#00ffff0, 255, 255
fuchsiamagenta#ff00ff255, 0, 255
graygrey#808080128, 128, 128
darkgraydarkgrey#a9a9a9169, 169, 169
darkslategraydarkslategrey#2f4f4f47, 79, 79
dimgraydimgrey#696969105, 105, 105
lightgraylightgrey#d3d3d3211, 211, 211
lightslategraylightslategrey#778899119, 136, 153
slategrayslategrey#708090112, 128, 144

Things the table does not show

  1. transparent and currentcolor look like color keywords but are not in this list. The spec defines them separately: transparent is rgb(0 0 0 / 0), and currentcolor resolves to whatever the element’s color property is at that moment.
  2. None of the 148 keywords carry an alpha channel. For transparency you need rgb(255 99 71 / 50%), hsl() with a slash, or the eight-digit hex form #ff634780.
  3. The names are historical, not systematic. darkgray (#a9a9a9) is lighter than gray (#808080), and green is not the brightest green — lime is. Reaching for a keyword because it sounds right will surprise you; check the swatch.
  4. These keywords resolve in the sRGB color space. If you are working in display-p3 or oklch, a named color is still sRGB and will not reach the wider gamut.

Converting a color that is not on this list

This table covers the finite set of names the CSS specification defines. For everything else — a hex value from a brand guide, an RGB triple from a screenshot, an HSL value you want to nudge — use the color converter on this site. It converts between hex, RGB, HSL and named colors in every direction, shows a live swatch, and runs entirely in your browser so nothing you paste leaves your device.

Related tools