As a web designer or developer, you work with colors every day. But do you know the difference between HEX, RGB, HSL, and CMYK — and more importantly, when to use each one? This guide breaks down the four major color formats, explains how they work under the hood, and shows you practical examples of when each format is the right choice.
HEX (hexadecimal) is the most common color format in web development. It represents colors as a six-digit hexadecimal number, where each pair of digits represents the Red, Green, and Blue channels (00-FF, or 0-255 in decimal).
#FF5733 → Red: 255, Green: 87, Blue: 51
#3B82F6 → Red: 59, Green: 130, Blue: 246
#000000 → Black (all channels at 0)
#FFFFFF → White (all channels at 255)
When to use HEX: CSS stylesheets, HTML attributes, design system tokens, and any web-specific code. It is the most universally supported color format.
RGB (Red, Green, Blue) is the additive color model used by all screens. It mixes red, green, and blue light at different intensities (0-255 each) to create over 16 million possible colors.
rgb(255, 87, 51) → Same as #FF5733
rgb(59, 130, 246) → Same as #3B82F6
rgba(59, 130, 246, 0.5) → Same color at 50% opacity
When to use RGB: When you need alpha transparency (use rgba()), when working with Canvas or WebGL APIs, or when generating colors programmatically in JavaScript.
HSL (Hue, Saturation, Lightness) represents colors in a way that is much more intuitive for human designers:
hsl(11, 100%, 60%) → A vibrant orange-red
hsl(217, 91%, 60%) → A bright blue
hsl(0, 0%, 50%) → Pure gray (medium)
When to use HSL: When creating color palettes, generating shades/tints of a single color, or building design systems. Adjusting saturation and lightness is much more intuitive than tweaking RGB values.
CMYK (Cyan, Magenta, Yellow, Key/Black) is a subtractive color model used in printing. Unlike RGB (additive, for screens), CMYK represents ink percentages (0-100% each).
When to use CMYK: When preparing files for print (business cards, brochures, packaging). Web designers rarely need CMYK directly, but understanding it is important when your web designs need to be translated to print materials.
Note: The CMYK gamut is smaller than RGB. Bright, saturated screen colors often cannot be reproduced exactly in print. Always check CMYK values before sending files to print.
Web accessibility isn't optional — it's a requirement. The WCAG (Web Content Accessibility Guidelines) defines minimum contrast ratios for text readability:
Before finalizing any color combination, always check the contrast ratio. A quick way is to use the Color Converter on Freemaki, which includes a built-in WCAG contrast checker that evaluates your chosen color against white and black backgrounds.
--color-primary: hsl(217, 91%, 60%)) for easy theme changesConvert between HEX, RGB, HSL, and CMYK instantly — with live preview and WCAG contrast checking: