CSS Color Names, Hex and RGB Codes
All 148 CSS color keywords with hex, RGB and HSL values.
No signup, no trackingCSS 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.
| Notation | Example | Notes |
|---|---|---|
| Keyword | tomato | Case-insensitive: TOMATO and Tomato are the same keyword. |
| Hex | #ff6347 | Two hex digits per channel. #f63 shorthand expands to #ff6633. |
| RGB | rgb(255 99 71) | 0-255 per channel. The legacy comma form still works. |
| HSL | hsl(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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| aqua | #00ffff | 0, 255, 255 | 180, 100%, 50% |
| black | #000000 | 0, 0, 0 | 0, 0%, 0% |
| blue | #0000ff | 0, 0, 255 | 240, 100%, 50% |
| fuchsia | #ff00ff | 255, 0, 255 | 300, 100%, 50% |
| gray | #808080 | 128, 128, 128 | 0, 0%, 50% |
| green | #008000 | 0, 128, 0 | 120, 100%, 25% |
| lime | #00ff00 | 0, 255, 0 | 120, 100%, 50% |
| maroon | #800000 | 128, 0, 0 | 0, 100%, 25% |
| navy | #000080 | 0, 0, 128 | 240, 100%, 25% |
| olive | #808000 | 128, 128, 0 | 60, 100%, 25% |
| purple | #800080 | 128, 0, 128 | 300, 100%, 25% |
| red | #ff0000 | 255, 0, 0 | 0, 100%, 50% |
| silver | #c0c0c0 | 192, 192, 192 | 0, 0%, 75% |
| teal | #008080 | 0, 128, 128 | 180, 100%, 25% |
| white | #ffffff | 255, 255, 255 | 0, 0%, 100% |
| yellow | #ffff00 | 255, 255, 0 | 60, 100%, 50% |
Pinks
Six names, all in the magenta-to-red arc. mediumvioletred is the darkest of them and pink itself is the palest.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| mediumvioletred | #c71585 | 199, 21, 133 | 322, 81%, 43% |
| deeppink | #ff1493 | 255, 20, 147 | 328, 100%, 54% |
| palevioletred | #db7093 | 219, 112, 147 | 340, 60%, 65% |
| hotpink | #ff69b4 | 255, 105, 180 | 330, 100%, 71% |
| lightpink | #ffb6c1 | 255, 182, 193 | 351, 100%, 86% |
| pink | #ffc0cb | 255, 192, 203 | 350, 100%, 88% |
Reds
Nine reds, running from darkred through the pure red of the original palette to the pale lightsalmon.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| darkred | #8b0000 | 139, 0, 0 | 0, 100%, 27% |
| red | #ff0000 | 255, 0, 0 | 0, 100%, 50% |
| firebrick | #b22222 | 178, 34, 34 | 0, 68%, 42% |
| crimson | #dc143c | 220, 20, 60 | 348, 83%, 47% |
| indianred | #cd5c5c | 205, 92, 92 | 0, 53%, 58% |
| lightcoral | #f08080 | 240, 128, 128 | 0, 79%, 72% |
| salmon | #fa8072 | 250, 128, 114 | 6, 93%, 71% |
| darksalmon | #e9967a | 233, 150, 122 | 15, 72%, 70% |
| lightsalmon | #ffa07a | 255, 160, 122 | 17, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| orangered | #ff4500 | 255, 69, 0 | 16, 100%, 50% |
| tomato | #ff6347 | 255, 99, 71 | 9, 100%, 64% |
| darkorange | #ff8c00 | 255, 140, 0 | 33, 100%, 50% |
| coral | #ff7f50 | 255, 127, 80 | 16, 100%, 66% |
| orange | #ffa500 | 255, 165, 0 | 39, 100%, 50% |
Yellows
Yellows shade into the khakis and creams. Several of these are far paler than the name suggests — lightyellow is almost white.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| darkkhaki | #bdb76b | 189, 183, 107 | 56, 38%, 58% |
| gold | #ffd700 | 255, 215, 0 | 51, 100%, 50% |
| khaki | #f0e68c | 240, 230, 140 | 54, 77%, 75% |
| peachpuff | #ffdab9 | 255, 218, 185 | 28, 100%, 86% |
| yellow | #ffff00 | 255, 255, 0 | 60, 100%, 50% |
| palegoldenrod | #eee8aa | 238, 232, 170 | 55, 67%, 80% |
| moccasin | #ffe4b5 | 255, 228, 181 | 38, 100%, 85% |
| papayawhip | #ffefd5 | 255, 239, 213 | 37, 100%, 92% |
| lightgoldenrodyellow | #fafad2 | 250, 250, 210 | 60, 80%, 90% |
| lemonchiffon | #fffacd | 255, 250, 205 | 54, 100%, 90% |
| lightyellow | #ffffe0 | 255, 255, 224 | 60, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| maroon | #800000 | 128, 0, 0 | 0, 100%, 25% |
| brown | #a52a2a | 165, 42, 42 | 0, 59%, 41% |
| saddlebrown | #8b4513 | 139, 69, 19 | 25, 76%, 31% |
| sienna | #a0522d | 160, 82, 45 | 19, 56%, 40% |
| chocolate | #d2691e | 210, 105, 30 | 25, 75%, 47% |
| darkgoldenrod | #b8860b | 184, 134, 11 | 43, 89%, 38% |
| peru | #cd853f | 205, 133, 63 | 30, 59%, 53% |
| rosybrown | #bc8f8f | 188, 143, 143 | 0, 25%, 65% |
| goldenrod | #daa520 | 218, 165, 32 | 43, 74%, 49% |
| sandybrown | #f4a460 | 244, 164, 96 | 28, 87%, 67% |
| tan | #d2b48c | 210, 180, 140 | 34, 44%, 69% |
| burlywood | #deb887 | 222, 184, 135 | 34, 57%, 70% |
| wheat | #f5deb3 | 245, 222, 179 | 39, 77%, 83% |
| navajowhite | #ffdead | 255, 222, 173 | 36, 100%, 84% |
| bisque | #ffe4c4 | 255, 228, 196 | 33, 100%, 88% |
| blanchedalmond | #ffebcd | 255, 235, 205 | 36, 100%, 90% |
| cornsilk | #fff8dc | 255, 248, 220 | 48, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| darkgreen | #006400 | 0, 100, 0 | 120, 100%, 20% |
| green | #008000 | 0, 128, 0 | 120, 100%, 25% |
| darkolivegreen | #556b2f | 85, 107, 47 | 82, 39%, 30% |
| forestgreen | #228b22 | 34, 139, 34 | 120, 61%, 34% |
| seagreen | #2e8b57 | 46, 139, 87 | 146, 50%, 36% |
| olive | #808000 | 128, 128, 0 | 60, 100%, 25% |
| olivedrab | #6b8e23 | 107, 142, 35 | 80, 60%, 35% |
| mediumseagreen | #3cb371 | 60, 179, 113 | 147, 50%, 47% |
| limegreen | #32cd32 | 50, 205, 50 | 120, 61%, 50% |
| lime | #00ff00 | 0, 255, 0 | 120, 100%, 50% |
| springgreen | #00ff7f | 0, 255, 127 | 150, 100%, 50% |
| mediumspringgreen | #00fa9a | 0, 250, 154 | 157, 100%, 49% |
| darkseagreen | #8fbc8f | 143, 188, 143 | 120, 25%, 65% |
| mediumaquamarine | #66cdaa | 102, 205, 170 | 160, 51%, 60% |
| yellowgreen | #9acd32 | 154, 205, 50 | 80, 61%, 50% |
| lawngreen | #7cfc00 | 124, 252, 0 | 90, 100%, 49% |
| chartreuse | #7fff00 | 127, 255, 0 | 90, 100%, 50% |
| lightgreen | #90ee90 | 144, 238, 144 | 120, 73%, 75% |
| greenyellow | #adff2f | 173, 255, 47 | 84, 100%, 59% |
| palegreen | #98fb98 | 152, 251, 152 | 120, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| teal | #008080 | 0, 128, 128 | 180, 100%, 25% |
| darkcyan | #008b8b | 0, 139, 139 | 180, 100%, 27% |
| lightseagreen | #20b2aa | 32, 178, 170 | 177, 70%, 41% |
| cadetblue | #5f9ea0 | 95, 158, 160 | 182, 25%, 50% |
| darkturquoise | #00ced1 | 0, 206, 209 | 181, 100%, 41% |
| mediumturquoise | #48d1cc | 72, 209, 204 | 178, 60%, 55% |
| turquoise | #40e0d0 | 64, 224, 208 | 174, 72%, 56% |
| aqua | #00ffff | 0, 255, 255 | 180, 100%, 50% |
| cyan | #00ffff | 0, 255, 255 | 180, 100%, 50% |
| aquamarine | #7fffd4 | 127, 255, 212 | 160, 100%, 75% |
| paleturquoise | #afeeee | 175, 238, 238 | 180, 65%, 81% |
| lightcyan | #e0ffff | 224, 255, 255 | 180, 100%, 94% |
Blues
Fifteen blues from navy up to powderblue. cornflowerblue and dodgerblue are the two that get used far beyond their original purpose.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| navy | #000080 | 0, 0, 128 | 240, 100%, 25% |
| darkblue | #00008b | 0, 0, 139 | 240, 100%, 27% |
| mediumblue | #0000cd | 0, 0, 205 | 240, 100%, 40% |
| blue | #0000ff | 0, 0, 255 | 240, 100%, 50% |
| midnightblue | #191970 | 25, 25, 112 | 240, 64%, 27% |
| royalblue | #4169e1 | 65, 105, 225 | 225, 73%, 57% |
| steelblue | #4682b4 | 70, 130, 180 | 207, 44%, 49% |
| dodgerblue | #1e90ff | 30, 144, 255 | 210, 100%, 56% |
| deepskyblue | #00bfff | 0, 191, 255 | 195, 100%, 50% |
| cornflowerblue | #6495ed | 100, 149, 237 | 219, 79%, 66% |
| skyblue | #87ceeb | 135, 206, 235 | 197, 71%, 73% |
| lightskyblue | #87cefa | 135, 206, 250 | 203, 92%, 75% |
| lightsteelblue | #b0c4de | 176, 196, 222 | 214, 41%, 78% |
| lightblue | #add8e6 | 173, 216, 230 | 195, 53%, 79% |
| powderblue | #b0e0e6 | 176, 224, 230 | 187, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| indigo | #4b0082 | 75, 0, 130 | 275, 100%, 25% |
| purple | #800080 | 128, 0, 128 | 300, 100%, 25% |
| darkmagenta | #8b008b | 139, 0, 139 | 300, 100%, 27% |
| darkviolet | #9400d3 | 148, 0, 211 | 282, 100%, 41% |
| darkslateblue | #483d8b | 72, 61, 139 | 248, 39%, 39% |
| blueviolet | #8a2be2 | 138, 43, 226 | 271, 76%, 53% |
| darkorchid | #9932cc | 153, 50, 204 | 280, 61%, 50% |
| fuchsia | #ff00ff | 255, 0, 255 | 300, 100%, 50% |
| magenta | #ff00ff | 255, 0, 255 | 300, 100%, 50% |
| slateblue | #6a5acd | 106, 90, 205 | 248, 53%, 58% |
| mediumslateblue | #7b68ee | 123, 104, 238 | 249, 80%, 67% |
| mediumorchid | #ba55d3 | 186, 85, 211 | 288, 59%, 58% |
| mediumpurple | #9370db | 147, 112, 219 | 260, 60%, 65% |
| orchid | #da70d6 | 218, 112, 214 | 302, 59%, 65% |
| violet | #ee82ee | 238, 130, 238 | 300, 76%, 72% |
| plum | #dda0dd | 221, 160, 221 | 300, 47%, 75% |
| thistle | #d8bfd8 | 216, 191, 216 | 300, 24%, 80% |
| lavender | #e6e6fa | 230, 230, 250 | 240, 67%, 94% |
| rebeccapurple | #663399 | 102, 51, 153 | 270, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| white | #ffffff | 255, 255, 255 | 0, 0%, 100% |
| snow | #fffafa | 255, 250, 250 | 0, 100%, 99% |
| honeydew | #f0fff0 | 240, 255, 240 | 120, 100%, 97% |
| mintcream | #f5fffa | 245, 255, 250 | 150, 100%, 98% |
| azure | #f0ffff | 240, 255, 255 | 180, 100%, 97% |
| aliceblue | #f0f8ff | 240, 248, 255 | 208, 100%, 97% |
| ghostwhite | #f8f8ff | 248, 248, 255 | 240, 100%, 99% |
| whitesmoke | #f5f5f5 | 245, 245, 245 | 0, 0%, 96% |
| seashell | #fff5ee | 255, 245, 238 | 25, 100%, 97% |
| beige | #f5f5dc | 245, 245, 220 | 60, 56%, 91% |
| oldlace | #fdf5e6 | 253, 245, 230 | 39, 85%, 95% |
| floralwhite | #fffaf0 | 255, 250, 240 | 40, 100%, 97% |
| ivory | #fffff0 | 255, 255, 240 | 60, 100%, 97% |
| antiquewhite | #faebd7 | 250, 235, 215 | 34, 78%, 91% |
| linen | #faf0e6 | 250, 240, 230 | 30, 67%, 94% |
| lavenderblush | #fff0f5 | 255, 240, 245 | 340, 100%, 97% |
| mistyrose | #ffe4e1 | 255, 228, 225 | 6, 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.
| Name | Hex | RGB | HSL |
|---|---|---|---|
| black | #000000 | 0, 0, 0 | 0, 0%, 0% |
| darkslategray | #2f4f4f | 47, 79, 79 | 180, 25%, 25% |
| darkslategrey | #2f4f4f | 47, 79, 79 | 180, 25%, 25% |
| dimgray | #696969 | 105, 105, 105 | 0, 0%, 41% |
| dimgrey | #696969 | 105, 105, 105 | 0, 0%, 41% |
| slategray | #708090 | 112, 128, 144 | 210, 13%, 50% |
| slategrey | #708090 | 112, 128, 144 | 210, 13%, 50% |
| lightslategray | #778899 | 119, 136, 153 | 210, 14%, 53% |
| lightslategrey | #778899 | 119, 136, 153 | 210, 14%, 53% |
| gray | #808080 | 128, 128, 128 | 0, 0%, 50% |
| grey | #808080 | 128, 128, 128 | 0, 0%, 50% |
| darkgray | #a9a9a9 | 169, 169, 169 | 0, 0%, 66% |
| darkgrey | #a9a9a9 | 169, 169, 169 | 0, 0%, 66% |
| silver | #c0c0c0 | 192, 192, 192 | 0, 0%, 75% |
| lightgray | #d3d3d3 | 211, 211, 211 | 0, 0%, 83% |
| lightgrey | #d3d3d3 | 211, 211, 211 | 0, 0%, 83% |
| gainsboro | #dcdcdc | 220, 220, 220 | 0, 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.
| Name | Same as | Hex | RGB |
|---|---|---|---|
| aqua | cyan | #00ffff | 0, 255, 255 |
| fuchsia | magenta | #ff00ff | 255, 0, 255 |
| gray | grey | #808080 | 128, 128, 128 |
| darkgray | darkgrey | #a9a9a9 | 169, 169, 169 |
| darkslategray | darkslategrey | #2f4f4f | 47, 79, 79 |
| dimgray | dimgrey | #696969 | 105, 105, 105 |
| lightgray | lightgrey | #d3d3d3 | 211, 211, 211 |
| lightslategray | lightslategrey | #778899 | 119, 136, 153 |
| slategray | slategrey | #708090 | 112, 128, 144 |
Things the table does not show
- 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.
- 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.
- 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.
- 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.