CSS Colors Reference

CSS, or Cascading Stylesheets, is a language used to specify how a document should display in a web browser.

CSS can be used to control size, positions, spacing, layering, and several other display properties. One of the most important — and potentially confusing — things that can be specified with CSS is color. Nearly all elements on a web page can be colored using CSS.

The CSS Color Properties

One detail that frequently trips up new front-end developers is the CSS color property. What makes it confusing is that color doesn't control the element itself, but the text inside the element.

The color of an element itself (the box) will usually be controlled by background-color, border-color, or the shorthand background and border properties, which include color information. You can also set color on a box-shadow.

Typically, the background-color of an element covers the element's content, padding, and border area. This is the standard behavior imagined by the creators of the CSS standard. However, there are ways of making the padding and the content different colors.

Color Declarations

Aside from the different CSS properties that can be used to specify a color, there are three different ways to identify a color in CSS: RGB, hex value, or name.


/* All three of these will be the same color. */

.red-rgb {
 background-color: rgb(255, 0, 0);
}

.red-hex {
 background-color: #ff0000;
}

.red-name {
 background-color: red;
}

The second one (hex value) is the most common, but we'll start with RGB because hex values don't make sense unless you understand how RGB works.

RGB Values

Computer monitors, television screens, and other similar displays, have pixels. On color displays, each pixel is divided into three sub-pixels: red, green, and blue.

These are the so-called "primary colors of light." A combination of these three colors at varying intensities can be used to create any color the human eye is capable of seeing. This is known as "additive color mixing."

(It is worth knowing that this has everything to do with the human eye, and not with light itself.)

Different display screens have different capabilities in terms of the range of intensities that each sub-pixels can produce. A very simple display might only have two intensities for each color (off or on), whereas a very high-quality display might have many more gradations.

As a standard, computers use a range from zero (0 — all the way off) to 255 (all the way on) for each sub-pixel (for example, 128 is half-way on). This is 256 possible intensities for each sub-pixel, which means that each sub-pixel's value can be stored as an 8-bit byte ( 2 8 = 256 ).

Since there are three colors, each represented with 8 bits, the total number of colors that can be represented this way is over 16 million ( 256 3 = 16,777,216 ).

This range of colors can be represented by simply noting the value of each sub-pixel, like this:

rgb(0, 128, 255)

In that example, the red sub-pixel is all the way off, the green sub-pixel is half-way on, and the blue sub-pixel is all the way on. That color looks like this:

In this system, white (all colors all the way on) is rgb(255, 255, 255) and black (all colors off) is rgb(0, 0, 0).

RGB colors can also be specified as percentages, using a decimal not with a single trailing digit:

rgb(0.0, 50.0, 100.0)

This use is not very common.

Hex values

A more compact way of writing the same exact information is to use hex values. A hex color value is written with a hash (pound) sign, followed by six hexadecimal characters, in three pairs, like this:

#0080ff

The first pair represents the red value, the second pair represents the green value, and the third pair represents the blue value. In this example, 00 means no red at all, 80 means green half-way on, and ff means blue all the way one. So this is the same color as rgb(0, 128, 255).

This might seem a little confusing if you're not use to hexadecimal numbers. In our normal decimal system, each digit can have 10 values (0-9). In hexadecimal numbering, each digit has 16 possible values (0-9, a-f).

This makes it possible to represent all the values from 0-255 in two digits, 0-ff. See this hexadecimal tutorial for more information.

In this system, white is #ffffff and black is #000000.

Hex color values are the most common way to specify colors in CSS.

CSS Color Names

The final way to specify a particular color is to use one of the pre-defined color names. The W3C maintains, and occasionally updates, a list of official color names which can be used in place of the numbered color codes. For example, black can be used instead of #000000.

In the early days of the web, these named colors helped define a small, unofficial set of " web safe colors " which were well-supported across the majority of browsers and display screens.

Today, the biggest advantage of having color names is that they are easier to remember. For example, lightblue is easier to remember (and type correctly) than its equivalents, #add8e6 or rgb(173, 216, 230).

CSS Color Names List

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

Other Resources


Further Reading and Resources

We have more guides, tutorials, and infographics related to coding and web development:

Ultimate Guide to Web Hosting

If you are going to be creating websites, you are going to need to host them somewhere. Check out our Ultimate Guide to Web Hosting.

It will explain everything you need to know in order to make an informed choice.