Skip to content

HTML Color Values

Colors on the web are typically defined using combinations of Red, Green, and Blue (RGB) light components. HTML and CSS offer several ways to specify these colors.

The most widely supported methods for specifying colors in HTML and CSS are:

  • Color Names: Predefined names for common colors.
  • HEX Codes: Hexadecimal values representing RGB components.
  • RGB / RGBA: Decimal values for Red, Green, Blue, and optionally Alpha (transparency).
  • HSL / HSLA: Values for Hue, Saturation, Lightness, and optionally Alpha (transparency).

Modern browsers support 140 standard color names, like Red, Blue, Green, LightGray, CornflowerBlue, etc. These names are case-insensitive.

Example:

<p style="color: Tomato;">This text is Tomato red.</p>
<div style="background-color: DodgerBlue; padding: 10px; color: white;">This div has a DodgerBlue background.</div>

While convenient for simple cases, the limited palette means you’ll often need other methods for more specific colors.

Hexadecimal (HEX) color codes are one of the most common ways to define colors.

Syntax: #RRGGBB or #RGB (shorthand).

  • RR, GG, BB are two-digit hexadecimal values (00-FF) representing the intensity of Red, Green, and Blue, respectively.
  • 00 is the lowest intensity, FF (equivalent to decimal 255) is the highest.
  • The #RGB shorthand is valid when each pair of digits is the same (e.g., #FF0000 can be written as #F00).

Examples:

/* Pure Red */
color: #FF0000;
/* Pure Green */
color: #00FF00;
/* Pure Blue */
color: #0000FF;
/* White */
color: #FFFFFF; /* or #FFF */
/* Black */
color: #000000; /* or #000 */
/* Medium Gray */
color: #808080; /* Cannot use shorthand */
/* A specific shade of blue */
color: #3498DB;

HEX codes offer a vast range of colors (over 16 million).

RGB specifies colors using decimal values for Red, Green, and Blue.

Syntax: rgb(red, green, blue)

Each parameter (red, green, blue) is an integer between 0 (minimum intensity) and 255 (maximum intensity).

RGBA adds an Alpha channel for transparency.

Syntax: rgba(red, green, blue, alpha)

The alpha value is a number between 0.0 (fully transparent) and 1.0 (fully opaque).

Examples:

/* Pure Red (same as #FF0000) */
color: rgb(255, 0, 0);
/* Pure Blue (same as #0000FF) */
color: rgb(0, 0, 255);
/* Medium Gray (same as #808080) */
color: rgb(128, 128, 128);
/* Semi-transparent Black */
background-color: rgba(0, 0, 0, 0.5); /* 50% opaque */
/* Semi-transparent Blue */
background-color: rgba(0, 0, 255, 0.75); /* 75% opaque */

RGBA is essential for creating effects like overlays or translucent backgrounds.

HSL represents colors based on Hue, Saturation, and Lightness, which can be more intuitive for color adjustments.

Syntax: hsl(hue, saturation, lightness)

  • hue: The color’s angle on the color wheel (0-360 degrees; 0/360 is red, 120 is green, 240 is blue).
  • saturation: The intensity of the color (0% is grayscale, 100% is full color).
  • lightness: The brightness of the color (0% is black, 50% is the ‘normal’ color, 100% is white).

HSLA adds an Alpha channel for transparency.

Syntax: hsla(hue, saturation, lightness, alpha)

The alpha value works the same as in RGBA (0.0 to 1.0).

Examples:

/* Pure Red */
color: hsl(0, 100%, 50%);
/* Pure Green */
color: hsl(120, 100%, 50%);
/* A light, saturated blue */
color: hsl(210, 80%, 70%);
/* A dark, desaturated orange */
color: hsl(30, 40%, 30%);
/* Semi-transparent Green */
background-color: hsla(120, 100%, 50%, 0.6); /* 60% opaque */

HSL is particularly useful for creating color palettes or adjusting shades programmatically.

  • Color Names: Good for quick prototypes or standard colors.
  • HEX: Very common, concise for opaque colors.
  • RGB/RGBA: Standard, easy to understand, necessary for alpha transparency if not using HSLA.
  • HSL/HSLA: Intuitive for adjustments, great for generating palettes, supports alpha transparency.

Modern development often uses HEX for opaque colors and RGBA or HSLA when transparency is needed. CSS Custom Properties (variables) are also widely used to manage color values efficiently across a project.