Named CSS Colors Reference
All 148 CSS named colors with hex, rgb, hsl and oklch, plus contrast against white and black — entirely on this device.
Families are our navigation buckets, computed from each color's hue, saturation and lightness — CSS itself defines no color groups.
All 148 named colors shown
Match one color name or hex value to see its hex, rgb, hsl and oklch notations and its contrast against white and black here.
| Swatch | Name | Hex | rgb | hsl | oklch | Family | Contrast vs white | Contrast vs black |
|---|---|---|---|---|---|---|---|---|
| aliceblue | #f0f8ff | rgb(240 248 255) | hsl(208 100% 97%) | oklch(0.975 0.013 244.3) | Blue | 1.07:1 | 19.58:1 | |
| antiquewhite | #faebd7 | rgb(250 235 215) | hsl(34 78% 91%) | oklch(0.947 0.031 75.2) | Orange | 1.17:1 | 17.93:1 | |
| aqua | #00ffff | rgb(0 255 255) | hsl(180 100% 50%) | oklch(0.905 0.155 194.8) | CyanAlias | 1.25:1 | 16.75:1 | |
| aquamarine | #7fffd4 | rgb(127 255 212) | hsl(160 100% 75%) | oklch(0.915 0.13 169) | Green | 1.22:1 | 17.16:1 | |
| azure | #f0ffff | rgb(240 255 255) | hsl(180 100% 97%) | oklch(0.989 0.016 196.9) | Cyan | 1.03:1 | 20.45:1 | |
| beige | #f5f5dc | rgb(245 245 220) | hsl(60 56% 91%) | oklch(0.964 0.033 107) | Yellow | 1.11:1 | 18.98:1 | |
| bisque | #ffe4c4 | rgb(255 228 196) | hsl(33 100% 88%) | oklch(0.933 0.051 71.8) | Orange | 1.22:1 | 17.15:1 | |
| black | #000000 | rgb(0 0 0) | hsl(0 0% 0%) | oklch(0 0 0) | Black | 21.00:1 | 1.00:1 | |
| blanchedalmond | #ffebcd | rgb(255 235 205) | hsl(36 100% 90%) | oklch(0.948 0.045 78.1) | Orange | 1.17:1 | 18.02:1 | |
| blue | #0000ff | rgb(0 0 255) | hsl(240 100% 50%) | oklch(0.452 0.313 264.1) | Blue | 8.59:1 | 2.44:1 | |
| blueviolet | #8a2be2 | rgb(138 43 226) | hsl(271 76% 53%) | oklch(0.534 0.25 301.4) | Purple | 5.96:1 | 3.52:1 | |
| brown | #a52a2a | rgb(165 42 42) | hsl(0 59% 41%) | oklch(0.481 0.16 25.6) | Red | 7.08:1 | 2.96:1 | |
| burlywood | #deb887 | rgb(222 184 135) | hsl(34 57% 70%) | oklch(0.805 0.078 73.4) | Orange | 1.86:1 | 11.31:1 | |
| cadetblue | #5f9ea0 | rgb(95 158 160) | hsl(182 25% 50%) | oklch(0.658 0.065 198.3) | Cyan | 3.05:1 | 6.88:1 | |
| chartreuse | #7fff00 | rgb(127 255 0) | hsl(90 100% 50%) | oklch(0.89 0.265 136) | Green | 1.30:1 | 16.21:1 | |
| chocolate | #d2691e | rgb(210 105 30) | hsl(25 75% 47%) | oklch(0.634 0.155 50.3) | Orange | 3.63:1 | 5.78:1 | |
| coral | #ff7f50 | rgb(255 127 80) | hsl(16 100% 66%) | oklch(0.735 0.168 40.2) | Orange | 2.50:1 | 8.40:1 | |
| cornflowerblue | #6495ed | rgb(100 149 237) | hsl(219 79% 66%) | oklch(0.675 0.141 261.3) | Blue | 2.97:1 | 7.06:1 | |
| cornsilk | #fff8dc | rgb(255 248 220) | hsl(48 100% 93%) | oklch(0.977 0.037 95.4) | Yellow | 1.07:1 | 19.71:1 | |
| crimson | #dc143c | rgb(220 20 60) | hsl(348 83% 47%) | oklch(0.571 0.222 20.1) | Red | 4.99:1 | 4.21:1 | |
| cyan | #00ffff | rgb(0 255 255) | hsl(180 100% 50%) | oklch(0.905 0.155 194.8) | CyanAlias | 1.25:1 | 16.75:1 | |
| darkblue | #00008b | rgb(0 0 139) | hsl(240 100% 27%) | oklch(0.288 0.199 264.1) | Blue | 15.30:1 | 1.37:1 | |
| darkcyan | #008b8b | rgb(0 139 139) | hsl(180 100% 27%) | oklch(0.577 0.098 194.8) | Cyan | 4.15:1 | 5.07:1 | |
| darkgoldenrod | #b8860b | rgb(184 134 11) | hsl(43 89% 38%) | oklch(0.652 0.132 81.6) | Brown | 3.25:1 | 6.45:1 | |
| darkgray | #a9a9a9 | rgb(169 169 169) | hsl(0 0% 66%) | oklch(0.735 0 0) | GrayAlias | 2.35:1 | 8.94:1 | |
| darkgreen | #006400 | rgb(0 100 0) | hsl(120 100% 20%) | oklch(0.436 0.148 142.5) | Green | 7.44:1 | 2.82:1 | |
| darkgrey | #a9a9a9 | rgb(169 169 169) | hsl(0 0% 66%) | oklch(0.735 0 0) | GrayAlias | 2.35:1 | 8.94:1 | |
| darkkhaki | #bdb76b | rgb(189 183 107) | hsl(56 38% 58%) | oklch(0.767 0.098 104.5) | Yellow | 2.07:1 | 10.15:1 | |
| darkmagenta | #8b008b | rgb(139 0 139) | hsl(300 100% 27%) | oklch(0.447 0.205 328.4) | Pink | 8.50:1 | 2.47:1 | |
| darkolivegreen | #556b2f | rgb(85 107 47) | hsl(82 39% 30%) | oklch(0.496 0.09 126.2) | Green | 5.95:1 | 3.53:1 | |
| darkorange | #ff8c00 | rgb(255 140 0) | hsl(33 100% 50%) | oklch(0.751 0.179 58.3) | Orange | 2.33:1 | 9.00:1 | |
| darkorchid | #9932cc | rgb(153 50 204) | hsl(280 61% 50%) | oklch(0.541 0.227 311.5) | Purple | 5.70:1 | 3.68:1 | |
| darkred | #8b0000 | rgb(139 0 0) | hsl(0 100% 27%) | oklch(0.4 0.164 29.2) | Brown | 10.01:1 | 2.10:1 | |
| darksalmon | #e9967a | rgb(233 150 122) | hsl(15 72% 70%) | oklch(0.751 0.108 39.4) | Orange | 2.31:1 | 9.11:1 | |
| darkseagreen | #8fbc8f | rgb(143 188 143) | hsl(120 25% 65%) | oklch(0.751 0.08 144.7) | Green | 2.15:1 | 9.76:1 | |
| darkslateblue | #483d8b | rgb(72 61 139) | hsl(248 39% 39%) | oklch(0.414 0.125 286) | Blue | 9.07:1 | 2.32:1 | |
| darkslategray | #2f4f4f | rgb(47 79 79) | hsl(180 25% 25%) | oklch(0.403 0.038 195.8) | CyanAlias | 8.93:1 | 2.35:1 | |
| darkslategrey | #2f4f4f | rgb(47 79 79) | hsl(180 25% 25%) | oklch(0.403 0.038 195.8) | CyanAlias | 8.93:1 | 2.35:1 | |
| darkturquoise | #00ced1 | rgb(0 206 209) | hsl(181 100% 41%) | oklch(0.772 0.131 196.6) | Cyan | 1.95:1 | 10.75:1 | |
| darkviolet | #9400d3 | rgb(148 0 211) | hsl(282 100% 41%) | oklch(0.515 0.261 309.8) | Purple | 6.56:1 | 3.20:1 | |
| deeppink | #ff1493 | rgb(255 20 147) | hsl(328 100% 54%) | oklch(0.655 0.261 356.9) | Pink | 3.64:1 | 5.77:1 | |
| deepskyblue | #00bfff | rgb(0 191 255) | hsl(195 100% 50%) | oklch(0.755 0.153 231.6) | Blue | 2.12:1 | 9.90:1 | |
| dimgray | #696969 | rgb(105 105 105) | hsl(0 0% 41%) | oklch(0.521 0 0) | GrayAlias | 5.49:1 | 3.83:1 | |
| dimgrey | #696969 | rgb(105 105 105) | hsl(0 0% 41%) | oklch(0.521 0 0) | GrayAlias | 5.49:1 | 3.83:1 | |
| dodgerblue | #1e90ff | rgb(30 144 255) | hsl(210 100% 56%) | oklch(0.652 0.19 253.2) | Blue | 3.24:1 | 6.49:1 | |
| firebrick | #b22222 | rgb(178 34 34) | hsl(0 68% 42%) | oklch(0.497 0.18 26.8) | Red | 6.68:1 | 3.14:1 | |
| floralwhite | #fffaf0 | rgb(255 250 240) | hsl(40 100% 97%) | oklch(0.986 0.014 84.6) | Orange | 1.04:1 | 20.18:1 | |
| forestgreen | #228b22 | rgb(34 139 34) | hsl(120 61% 34%) | oklch(0.558 0.169 142.9) | Green | 4.39:1 | 4.78:1 | |
| fuchsia | #ff00ff | rgb(255 0 255) | hsl(300 100% 50%) | oklch(0.702 0.322 328.4) | PinkAlias | 3.14:1 | 6.70:1 | |
| gainsboro | #dcdcdc | rgb(220 220 220) | hsl(0 0% 86%) | oklch(0.894 0 0) | Gray | 1.37:1 | 15.31:1 | |
| ghostwhite | #f8f8ff | rgb(248 248 255) | hsl(240 100% 99%) | oklch(0.981 0.009 286.2) | Blue | 1.06:1 | 19.86:1 | |
| gold | #ffd700 | rgb(255 215 0) | hsl(51 100% 50%) | oklch(0.887 0.182 95.3) | Yellow | 1.40:1 | 14.97:1 | |
| goldenrod | #daa520 | rgb(218 165 32) | hsl(43 74% 49%) | oklch(0.752 0.147 84) | Orange | 2.24:1 | 9.38:1 | |
| gray | #808080 | rgb(128 128 128) | hsl(0 0% 50%) | oklch(0.6 0 0) | GrayAlias | 3.95:1 | 5.32:1 | |
| green | #008000 | rgb(0 128 0) | hsl(120 100% 25%) | oklch(0.52 0.177 142.5) | Green | 5.14:1 | 4.09:1 | |
| greenyellow | #adff2f | rgb(173 255 47) | hsl(84 100% 59%) | oklch(0.913 0.233 130) | Green | 1.23:1 | 17.12:1 | |
| grey | #808080 | rgb(128 128 128) | hsl(0 0% 50%) | oklch(0.6 0 0) | GrayAlias | 3.95:1 | 5.32:1 | |
| honeydew | #f0fff0 | rgb(240 255 240) | hsl(120 100% 97%) | oklch(0.985 0.025 145.4) | Green | 1.04:1 | 20.27:1 | |
| hotpink | #ff69b4 | rgb(255 105 180) | hsl(330 100% 71%) | oklch(0.728 0.197 352) | Pink | 2.65:1 | 7.93:1 | |
| indianred | #cd5c5c | rgb(205 92 92) | hsl(0 53% 58%) | oklch(0.615 0.144 22.2) | Red | 3.98:1 | 5.28:1 | |
| indigo | #4b0082 | rgb(75 0 130) | hsl(275 100% 25%) | oklch(0.339 0.179 301.7) | Purple | 12.95:1 | 1.62:1 | |
| ivory | #fffff0 | rgb(255 255 240) | hsl(60 100% 97%) | oklch(0.996 0.02 106.8) | Yellow | 1.01:1 | 20.81:1 | |
| khaki | #f0e68c | rgb(240 230 140) | hsl(54 77% 75%) | oklch(0.913 0.112 102.8) | Yellow | 1.28:1 | 16.40:1 | |
| lavender | #e6e6fa | rgb(230 230 250) | hsl(240 67% 94%) | oklch(0.931 0.027 285.9) | Blue | 1.23:1 | 17.06:1 | |
| lavenderblush | #fff0f5 | rgb(255 240 245) | hsl(340 100% 97%) | oklch(0.968 0.017 355.1) | Pink | 1.10:1 | 19.03:1 | |
| lawngreen | #7cfc00 | rgb(124 252 0) | hsl(90 100% 49%) | oklch(0.882 0.263 136.2) | Green | 1.33:1 | 15.78:1 | |
| lemonchiffon | #fffacd | rgb(255 250 205) | hsl(54 100% 90%) | oklch(0.978 0.058 102.2) | Yellow | 1.06:1 | 19.81:1 | |
| lightblue | #add8e6 | rgb(173 216 230) | hsl(195 53% 79%) | oklch(0.856 0.049 219.7) | Blue | 1.53:1 | 13.74:1 | |
| lightcoral | #f08080 | rgb(240 128 128) | hsl(0 79% 72%) | oklch(0.725 0.138 21) | Red | 2.59:1 | 8.10:1 | |
| lightcyan | #e0ffff | rgb(224 255 255) | hsl(180 100% 94%) | oklch(0.978 0.032 196.6) | Cyan | 1.05:1 | 19.92:1 | |
| lightgoldenrodyellow | #fafad2 | rgb(250 250 210) | hsl(60 80% 90%) | oklch(0.975 0.052 107.3) | Yellow | 1.07:1 | 19.67:1 | |
| lightgray | #d3d3d3 | rgb(211 211 211) | hsl(0 0% 83%) | oklch(0.867 0 0) | GrayAlias | 1.50:1 | 14.03:1 | |
| lightgreen | #90ee90 | rgb(144 238 144) | hsl(120 73% 75%) | oklch(0.868 0.156 144.1) | Green | 1.42:1 | 14.82:1 | |
| lightgrey | #d3d3d3 | rgb(211 211 211) | hsl(0 0% 83%) | oklch(0.867 0 0) | GrayAlias | 1.50:1 | 14.03:1 | |
| lightpink | #ffb6c1 | rgb(255 182 193) | hsl(351 100% 86%) | oklch(0.847 0.086 9.1) | Red | 1.65:1 | 12.71:1 | |
| lightsalmon | #ffa07a | rgb(255 160 122) | hsl(17 100% 74%) | oklch(0.794 0.125 42.4) | Orange | 1.99:1 | 10.56:1 | |
| lightseagreen | #20b2aa | rgb(32 178 170) | hsl(177 70% 41%) | oklch(0.691 0.114 189) | Cyan | 2.62:1 | 8.01:1 | |
| lightskyblue | #87cefa | rgb(135 206 250) | hsl(203 92% 75%) | oklch(0.821 0.095 236.8) | Blue | 1.72:1 | 12.24:1 | |
| lightslategray | #778899 | rgb(119 136 153) | hsl(210 14% 53%) | oklch(0.619 0.032 248.4) | BlueAlias | 3.64:1 | 5.77:1 | |
| lightslategrey | #778899 | rgb(119 136 153) | hsl(210 14% 53%) | oklch(0.619 0.032 248.4) | BlueAlias | 3.64:1 | 5.77:1 | |
| lightsteelblue | #b0c4de | rgb(176 196 222) | hsl(214 41% 78%) | oklch(0.814 0.043 255) | Blue | 1.78:1 | 11.80:1 | |
| lightyellow | #ffffe0 | rgb(255 255 224) | hsl(60 100% 94%) | oklch(0.992 0.04 107.1) | Yellow | 1.02:1 | 20.63:1 | |
| lime | #00ff00 | rgb(0 255 0) | hsl(120 100% 50%) | oklch(0.866 0.295 142.5) | Green | 1.37:1 | 15.30:1 | |
| limegreen | #32cd32 | rgb(50 205 50) | hsl(120 61% 50%) | oklch(0.742 0.229 142.8) | Green | 2.12:1 | 9.91:1 | |
| linen | #faf0e6 | rgb(250 240 230) | hsl(30 67% 94%) | oklch(0.96 0.017 67.6) | Orange | 1.12:1 | 18.67:1 | |
| magenta | #ff00ff | rgb(255 0 255) | hsl(300 100% 50%) | oklch(0.702 0.322 328.4) | PinkAlias | 3.14:1 | 6.70:1 | |
| maroon | #800000 | rgb(128 0 0) | hsl(0 100% 25%) | oklch(0.377 0.155 29.2) | Brown | 10.95:1 | 1.92:1 | |
| mediumaquamarine | #66cdaa | rgb(102 205 170) | hsl(160 51% 60%) | oklch(0.777 0.11 168.8) | Green | 1.93:1 | 10.88:1 | |
| mediumblue | #0000cd | rgb(0 0 205) | hsl(240 100% 40%) | oklch(0.383 0.266 264.1) | Blue | 11.16:1 | 1.88:1 | |
| mediumorchid | #ba55d3 | rgb(186 85 211) | hsl(288 59% 58%) | oklch(0.626 0.202 319.2) | Purple | 3.94:1 | 5.33:1 | |
| mediumpurple | #9370db | rgb(147 112 219) | hsl(260 60% 65%) | oklch(0.627 0.158 296.7) | Purple | 3.76:1 | 5.58:1 | |
| mediumseagreen | #3cb371 | rgb(60 179 113) | hsl(147 50% 47%) | oklch(0.684 0.144 155) | Green | 2.67:1 | 7.88:1 | |
| mediumslateblue | #7b68ee | rgb(123 104 238) | hsl(249 80% 67%) | oklch(0.604 0.194 285.5) | Blue | 4.15:1 | 5.06:1 | |
| mediumspringgreen | #00fa9a | rgb(0 250 154) | hsl(157 100% 49%) | oklch(0.867 0.207 156.9) | Green | 1.39:1 | 15.14:1 | |
| mediumturquoise | #48d1cc | rgb(72 209 204) | hsl(178 60% 55%) | oklch(0.787 0.116 191.6) | Cyan | 1.86:1 | 11.27:1 | |
| mediumvioletred | #c71585 | rgb(199 21 133) | hsl(322 81% 43%) | oklch(0.553 0.222 349.7) | Pink | 5.42:1 | 3.87:1 | |
| midnightblue | #191970 | rgb(25 25 112) | hsl(240 64% 27%) | oklch(0.288 0.144 272.8) | Blue | 14.85:1 | 1.41:1 | |
| mintcream | #f5fffa | rgb(245 255 250) | hsl(150 100% 98%) | oklch(0.991 0.012 164.8) | Green | 1.02:1 | 20.57:1 | |
| mistyrose | #ffe4e1 | rgb(255 228 225) | hsl(6 100% 94%) | oklch(0.94 0.03 25.3) | Red | 1.20:1 | 17.44:1 | |
| moccasin | #ffe4b5 | rgb(255 228 181) | hsl(38 100% 85%) | oklch(0.93 0.068 81.4) | Orange | 1.23:1 | 17.02:1 | |
| navajowhite | #ffdead | rgb(255 222 173) | hsl(36 100% 84%) | oklch(0.916 0.073 77.4) | Orange | 1.29:1 | 16.30:1 | |
| navy | #000080 | rgb(0 0 128) | hsl(240 100% 25%) | oklch(0.271 0.188 264.1) | Blue | 16.01:1 | 1.31:1 | |
| oldlace | #fdf5e6 | rgb(253 245 230) | hsl(39 85% 95%) | oklch(0.972 0.022 83.3) | Orange | 1.08:1 | 19.38:1 | |
| olive | #808000 | rgb(128 128 0) | hsl(60 100% 25%) | oklch(0.581 0.127 109.8) | Brown | 4.20:1 | 5.01:1 | |
| olivedrab | #6b8e23 | rgb(107 142 35) | hsl(80 60% 35%) | oklch(0.599 0.137 126.3) | Green | 3.81:1 | 5.52:1 | |
| orange | #ffa500 | rgb(255 165 0) | hsl(39 100% 50%) | oklch(0.793 0.171 70.7) | Orange | 1.97:1 | 10.63:1 | |
| orangered | #ff4500 | rgb(255 69 0) | hsl(16 100% 50%) | oklch(0.66 0.229 35.4) | Orange | 3.44:1 | 6.10:1 | |
| orchid | #da70d6 | rgb(218 112 214) | hsl(302 59% 65%) | oklch(0.702 0.181 328.7) | Pink | 2.89:1 | 7.27:1 | |
| palegoldenrod | #eee8aa | rgb(238 232 170) | hsl(55 67% 80%) | oklch(0.921 0.08 103.2) | Yellow | 1.25:1 | 16.76:1 | |
| palegreen | #98fb98 | rgb(152 251 152) | hsl(120 93% 79%) | oklch(0.904 0.162 144.1) | Green | 1.27:1 | 16.59:1 | |
| paleturquoise | #afeeee | rgb(175 238 238) | hsl(180 65% 81%) | oklch(0.907 0.063 196.1) | Cyan | 1.29:1 | 16.29:1 | |
| palevioletred | #db7093 | rgb(219 112 147) | hsl(340 60% 65%) | oklch(0.678 0.138 0.7) | Pink | 3.11:1 | 6.75:1 | |
| papayawhip | #ffefd5 | rgb(255 239 213) | hsl(37 100% 92%) | oklch(0.958 0.038 80) | Orange | 1.13:1 | 18.56:1 | |
| peachpuff | #ffdab9 | rgb(255 218 185) | hsl(28 100% 86%) | oklch(0.911 0.06 63.7) | Orange | 1.31:1 | 15.98:1 | |
| peru | #cd853f | rgb(205 133 63) | hsl(30 59% 53%) | oklch(0.678 0.123 62.2) | Orange | 2.99:1 | 7.02:1 | |
| pink | #ffc0cb | rgb(255 192 203) | hsl(350 100% 88%) | oklch(0.868 0.074 7.1) | Red | 1.54:1 | 13.65:1 | |
| plum | #dda0dd | rgb(221 160 221) | hsl(300 47% 75%) | oklch(0.783 0.108 326.5) | Pink | 2.07:1 | 10.15:1 | |
| powderblue | #b0e0e6 | rgb(176 224 230) | hsl(187 52% 80%) | oklch(0.875 0.05 205.7) | Cyan | 1.43:1 | 14.65:1 | |
| purple | #800080 | rgb(128 0 128) | hsl(300 100% 25%) | oklch(0.421 0.193 328.4) | Pink | 9.42:1 | 2.23:1 | |
| rebeccapurple | #663399 | rgb(102 51 153) | hsl(270 50% 40%) | oklch(0.44 0.16 303.4) | Purple | 8.41:1 | 2.50:1 | |
| red | #ff0000 | rgb(255 0 0) | hsl(0 100% 50%) | oklch(0.628 0.258 29.2) | Red | 4.00:1 | 5.25:1 | |
| rosybrown | #bc8f8f | rgb(188 143 143) | hsl(0 25% 65%) | oklch(0.693 0.055 18.6) | Red | 2.81:1 | 7.46:1 | |
| royalblue | #4169e1 | rgb(65 105 225) | hsl(225 73% 57%) | oklch(0.56 0.188 266.4) | Blue | 4.85:1 | 4.33:1 | |
| saddlebrown | #8b4513 | rgb(139 69 19) | hsl(25 76% 31%) | oklch(0.471 0.112 50.8) | Brown | 7.10:1 | 2.96:1 | |
| salmon | #fa8072 | rgb(250 128 114) | hsl(6 93% 71%) | oklch(0.735 0.152 28.1) | Red | 2.50:1 | 8.40:1 | |
| sandybrown | #f4a460 | rgb(244 164 96) | hsl(28 87% 67%) | oklch(0.784 0.127 59.7) | Orange | 2.03:1 | 10.33:1 | |
| seagreen | #2e8b57 | rgb(46 139 87) | hsl(146 50% 36%) | oklch(0.569 0.119 154.9) | Green | 4.25:1 | 4.95:1 | |
| seashell | #fff5ee | rgb(255 245 238) | hsl(25 100% 97%) | oklch(0.976 0.014 57.6) | Orange | 1.07:1 | 19.55:1 | |
| sienna | #a0522d | rgb(160 82 45) | hsl(19 56% 40%) | oklch(0.526 0.115 44.6) | Orange | 5.62:1 | 3.74:1 | |
| silver | #c0c0c0 | rgb(192 192 192) | hsl(0 0% 75%) | oklch(0.808 0 0) | Gray | 1.82:1 | 11.54:1 | |
| skyblue | #87ceeb | rgb(135 206 235) | hsl(197 71% 73%) | oklch(0.815 0.082 225.8) | Blue | 1.74:1 | 12.06:1 | |
| slateblue | #6a5acd | rgb(106 90 205) | hsl(248 53% 58%) | oklch(0.544 0.171 285.5) | Blue | 5.31:1 | 3.96:1 | |
| slategray | #708090 | rgb(112 128 144) | hsl(210 13% 50%) | oklch(0.593 0.031 248.3) | BlueAlias | 4.05:1 | 5.18:1 | |
| slategrey | #708090 | rgb(112 128 144) | hsl(210 13% 50%) | oklch(0.593 0.031 248.3) | BlueAlias | 4.05:1 | 5.18:1 | |
| snow | #fffafa | rgb(255 250 250) | hsl(0 100% 99%) | oklch(0.989 0.005 17.2) | Red | 1.03:1 | 20.31:1 | |
| springgreen | #00ff7f | rgb(0 255 127) | hsl(150 100% 50%) | oklch(0.875 0.235 151) | Green | 1.35:1 | 15.61:1 | |
| steelblue | #4682b4 | rgb(70 130 180) | hsl(207 44% 49%) | oklch(0.588 0.099 245.7) | Blue | 4.11:1 | 5.11:1 | |
| tan | #d2b48c | rgb(210 180 140) | hsl(34 44% 69%) | oklch(0.786 0.064 74.6) | Orange | 1.97:1 | 10.65:1 | |
| teal | #008080 | rgb(0 128 128) | hsl(180 100% 25%) | oklch(0.543 0.093 194.8) | Cyan | 4.77:1 | 4.40:1 | |
| thistle | #d8bfd8 | rgb(216 191 216) | hsl(300 24% 80%) | oklch(0.833 0.044 326) | Pink | 1.70:1 | 12.36:1 | |
| tomato | #ff6347 | rgb(255 99 71) | hsl(9 100% 64%) | oklch(0.696 0.196 32.3) | Red | 2.95:1 | 7.13:1 | |
| turquoise | #40e0d0 | rgb(64 224 208) | hsl(174 72% 56%) | oklch(0.822 0.131 185.1) | Cyan | 1.64:1 | 12.79:1 | |
| violet | #ee82ee | rgb(238 130 238) | hsl(300 76% 72%) | oklch(0.762 0.186 327.2) | Pink | 2.32:1 | 9.06:1 | |
| wheat | #f5deb3 | rgb(245 222 179) | hsl(39 77% 83%) | oklch(0.909 0.061 83) | Orange | 1.31:1 | 15.98:1 | |
| white | #ffffff | rgb(255 255 255) | hsl(0 0% 100%) | oklch(1 0 0) | White | 1.00:1 | 21.00:1 | |
| whitesmoke | #f5f5f5 | rgb(245 245 245) | hsl(0 0% 96%) | oklch(0.97 0 0) | White | 1.09:1 | 19.26:1 | |
| yellow | #ffff00 | rgb(255 255 0) | hsl(60 100% 50%) | oklch(0.968 0.211 109.8) | Yellow | 1.07:1 | 19.56:1 | |
| yellowgreen | #9acd32 | rgb(154 205 50) | hsl(80 61% 50%) | oklch(0.785 0.184 126.6) | Green | 1.88:1 | 11.15:1 |
No matching color — here's how the search works
Try one of the shapes the finder understands:
- A color name — teal — finds its row (case does not matter).
- A hex value — #663399, 663399 or #639 — finds every name for it.
- A word or number matches names, hex digits and channels, like 255.
- The Family control groups the rows by hue, lightness and saturation.
Do it offline:$ python3 -c "import PIL.ImageColor as C;r,g,b=C.getrgb('rebeccapurple');print('#%02x%02x%02x rgb(%d %d %d)'%(r,g,b,r,g,b))"
How to use it
- Type what you have. A keyword such as teal jumps straight to its row, and case is ignored, so RebeccaPurple lands in the same place. A hex value — #663399, 663399 or the three-digit #639 — finds every keyword that shares it. Press / to put the cursor in the filter.
- Read the row: swatch, keyword, hex, the rgb, hsl and oklch notations, the family bucket, and the two contrast ratios against pure white and pure black.
- Copy the form you need. Each row copies its keyword, its hex value or any of the three notations, so what you paste into a stylesheet is what the page showed you.
- Link to one color. Every row owns a stable anchor, so /css-color-names#rebeccapurple opens with that color revealed — an ordinary link that works with scripting switched off.
Every color name CSS understands — all 148 of them — laid out as plain HTML you can read before a single script runs. Each row carries the keyword, a swatch, its hex, rgb, hsl and oklch notations, its contrast against white and against black, and a permanent anchor. Type a name, a hex value or a word to narrow the list; nothing you type is sent anywhere.
How it works
The keyword list is inherited, not invented. It began as the colour names shipped with the X Window System, became SVG 1.1's 147 colour keywords, was adopted wholesale by CSS Color 3 §4.3, and now sits in CSS Color 4 §6.1 with one addition: rebeccapurple, accepted in 2014.
148 keywords do not mean 148 different colors. Nine pairs of keywords resolve to the same value — aqua and cyan, fuchsia and magenta, and the seven gray/grey spellings — so the set covers 139 distinct hex values. Both spellings of a pair are real CSS, both are findable here, and each row names its partner.
Two things people look for are absent on purpose. transparent and currentColor sit in the same grammar slot yet name no fixed value, and the system colours such as Canvas resolve against the platform. Search for one and the page says so rather than showing nothing.
The table is a committed snapshot, not a lookup made while you read. Each keyword's hex comes from the spec list, the rgb, hsl and oklch notations are serialized from that hex at build time, and the two figures are WCAG 2.2 ratios against pure white and pure black. Every cell is re-derived on each test run, so a wrong digit fails the build.
Examples
rebeccapurplerebeccapurple · #663399 · rgb(102 51 153) · hsl(270 50% 40%) · oklch(0.44 0.16 303.4) · purple · 8.41:1 on white · 2.50:1 on blackAn exact keyword resolves to one row and four notations of the same color. Read the ratios as a pair: white text on this background clears the 4.5:1 minimum, black text does not.
#0FFaqua and cyan are the same color — #00ffff.A three-digit hex expands to six, and because two keywords share that value the answer names both rather than picking a favourite.
SlateGrayslategray · #708090 · rgb(112 128 144) · hsl(210 13% 50%) · oklch(0.593 0.031 248.3) · blue · 4.05:1 on white · 5.18:1 on blackMatching ignores case, and the canonical lowercase spelling is what gets printed and copied. slategrey is the same color, so the result carries both spellings.
dark cyan4 colors shownTwo words narrow the list to rows that contain both, so a keyword starting with dark that also sits in the cyan bucket survives — darkcyan, darkturquoise and the two darkslategray spellings.
transparenttransparent is a CSS-wide keyword, not one of the 148 named colors.transparent is legal wherever a color is legal, but it names no value in this list, so the finder places it instead. inherit, initial, unset, revert and currentColor answer the same way.
#123456#123456 is a valid color but has no CSS name — a converter can name the nearest one.Only 139 of the sixteen million hex values have keywords, so most hex input has no name at all. This page never invents a closest match; the color converter does that job.
rgb(0 255 255)rgb(0 255 255) is a color function, not a color name — a converter reads that notation.Function syntax is a different question from keyword lookup, even when the channels do belong to a named color. The answer points at the tool that parses notations.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Nine pairs of keywords, one color each
aqua and cyan are both #00ffff; fuchsia and magenta are both #ff00ff; gray, darkgray, darkslategray, dimgray, lightgray, lightslategray and slategray each have a grey-spelled twin. Eighteen keywords, nine values — and every row names its partner.
Case is ignored, spelling is not
REBECCAPURPLE, RebeccaPurple and rebeccapurple all reach the same row, exactly as CSS treats them. Whitespace inside a keyword is not allowed, so Rebecca Purple is read as two words to search for.
Alpha is dropped, not honoured
Named colors are opaque, so a four- or eight-digit hex matches on its first six digits and the page says the alpha channel was ignored: #00FFFF80 still resolves to aqua and cyan.
The family buckets are ours, not CSS's
CSS Color 4 defines no colour groups, so the twelve families here are arithmetic on hue, saturation and lightness — useful for browsing, not a citation. Being arithmetic, a few keywords land next door: purple sits with the pinks at hue 300, and snow with the reds.
Why rebeccapurple exists
It is the only keyword added since SVG 1.1: the CSS Working Group accepted it in 2014 in memory of Rebecca Meyer, daughter of Eric Meyer, at #663399. It is the 148th name, and the reason a table headed 147 colours is out of date.
Common errors
transparent is a CSS-wide keyword, not one of the 148 named colors.- The answer for transparent, currentColor, inherit, initial, unset and revert. None resolves to a fixed value, so the finder places the input instead of returning an empty list.
#123456 is a valid color but has no CSS name — a converter can name the nearest one.- Hex input that parses cleanly but matches none of the 139 named values. Guessing a nearest keyword is a different tool's answer, so the page names the gap and points at the converter.
No matching color — here's how the search works- What the heading says when the input is neither a keyword nor a hex value nor a word any row contains. The block underneath lists what the filter accepts, and Show all colors puts every row back.
FAQ
How many named colors does CSS have?
148. SVG 1.1 defined 147 colour keywords, CSS Color 3 §4.3 adopted them, and CSS Color 4 §6.1 added rebeccapurple to make 148. Because nine pairs of keywords share a value, those 148 names cover 139 distinct colors.
Is transparent one of the named colors?
No. transparent computes to rgb(0 0 0 / 0) and currentColor resolves to whatever the color property holds, so neither has a fixed value to list. Both are valid CSS; neither is in the 148.
Should I write gray or grey?
Either. CSS accepts both spellings for seven keywords and each pair resolves to the same value, so it is a house-style question — but pick one, because a codebase that mixes them is harder to grep.
Can I use a named color anywhere a hex value works?
Yes. A keyword is one form of the CSS <color> type, so it is valid in color, background-color, border-color, gradients, SVG fill and anywhere else a color is accepted.
Which named colors are readable as text on a white page?
Only 32 of the 148 reach the 4.5:1 ratio WCAG 2.2 §1.4.3 asks for body text on white, which is why the contrast columns are on every row. The figure is symmetric: the same number describes white text on that color as a background.
Where did the color names originally come from?
From the X Window System's rgb.txt, a list assembled by hand rather than designed. SVG 1.1 froze it, CSS inherited it, and it can never be tidied without breaking pages that already ship.
Keyboard shortcuts
- /
- Focus the filter box