Colors in web development come in three main formats: HEX, RGB, and HSL. Each has its strengths, and knowing when to use which format makes your CSS cleaner and your design workflow faster.
Format Comparison
| Format | Example | Best For |
|---|---|---|
| HEX | #6366F1 |
Design handoff, compact notation |
| RGB | rgb(99, 102, 241) |
Opacity (rgba), JavaScript manipulation |
| HSL | hsl(239, 84%, 67%) |
Creating color variations, theming |
HEX Colors
HEX is the most common format in design tools. It uses 6 hexadecimal digits (0-F) representing Red, Green, Blue channels:
#6366F1
││││││
││││└└─ Blue: F1 = 241
││└└─── Green: 66 = 102
└└───── Red: 63 = 99
/* Shorthand: #RGB (when pairs repeat) */
#FFF → #FFFFFF (white)
#F53 → #FF5533 (orange-red)
/* With alpha channel */
#6366F180 → 50% opacityCSS
RGB Colors
RGB defines colors by mixing Red, Green, and Blue light (0-255 each):
/* Basic RGB */
color: rgb(99, 102, 241);
/* With transparency (0-1) */
background: rgba(99, 102, 241, 0.15);
/* Modern syntax (CSS4) */
color: rgb(99 102 241 / 0.5);CSS
RGB is ideal when you need transparency (rgba) or
when you're manipulating colors in JavaScript — it's easier to adjust individual
channels programmatically.
HSL Colors — The Designer's Choice
HSL (Hue, Saturation, Lightness) is the most intuitive format for creating color systems:
/* HSL structure */
hsl(239, 84%, 67%)
│ │ │
│ │ └─ Lightness: 0%=black, 100%=white
│ └─────── Saturation: 0%=gray, 100%=vivid
└──────────── Hue: 0°=red, 120°=green, 240°=blue
/* Creating variations is trivial */
--primary: hsl(239, 84%, 67%); /* Base */
--primary-light: hsl(239, 84%, 80%); /* Lighter */
--primary-dark: hsl(239, 84%, 45%); /* Darker */
--primary-muted: hsl(239, 30%, 67%); /* Desaturated */CSS
Use HSL for design systems and theming. By changing only the Hue value, you can create entirely different color schemes while maintaining consistent saturation and lightness relationships.
CSS Custom Properties with Colors
:root {
/* Using HSL for easy theming */
--hue: 239;
--accent: hsl(var(--hue), 84%, 67%);
--accent-light: hsl(var(--hue), 84%, 80%);
--accent-bg: hsl(var(--hue), 84%, 67%, 0.1);
}
/* Switch to a green theme? Just change hue */
[data-theme="green"] { --hue: 142; }CSS
Try Color Converter
Enter any color in HEX, RGB, or HSL and get instant conversions with live preview.
Open Color Converter →