Format GuideMarch 8, 2026

HEX, RGB, and HSL: Understanding Web Color Formats

A practical guide to web color formats. Learn what HEX, RGB, and HSL mean, how to convert between them, and when to use each.

TL;DR

Use HEX for CSS and design tools. Use RGB when you need to control opacity in CSS (rgba()) or work in JavaScript. Use HSL when you want intuitive color adjustments (hue, lightness) in code.

HEX — The Designer's Default

HEX (hexadecimal) is the most common color format in web design. A HEX color looks like #FF5733: a hash followed by six characters. Each pair of characters (FF, 57, 33) represents the red, green, and blue channel respectively, in base 16 (0–FF, or 0–255 in decimal).

HEX is compact, copy-paste friendly, and accepted by every browser, CSS preprocessor, Figma, Adobe XD, and design tool. It is the de-facto standard for brand color palettes and design systems.

Format

#RRGGBB  →  #FF5733
#RRGGBBAA  →  #FF573380 (with 50% opacity)

RGB — Precise Channel Control

RGB expresses color as three decimal numbers (0–255) for red, green, and blue. The CSS function looks like rgb(255, 87, 51). When you need transparency, use rgba(255, 87, 51, 0.5) where the fourth value is opacity from 0 (invisible) to 1 (opaque).

RGB is also the native format for working with colors in JavaScript Canvas, SVG filters, and image processing. If you are generating colors programmatically or animating them, RGB is often the most convenient.

Format

rgb(R, G, B)  →  rgb(255, 87, 51)
rgba(R, G, B, A)  →  rgba(255, 87, 51, 0.5)

HSL — Human-Friendly Color Thinking

HSL stands for Hue, Saturation, Lightness. It maps more closely to how humans think about color. The hue is a degree on the color wheel (0–360), saturation is the intensity (0% = grey, 100% = vivid), and lightness is the brightness (0% = black, 100% = white, 50% = full color).

The power of HSL becomes obvious when you need to create color variations programmatically. To make a color lighter, just increase the lightness:

Format

hsl(H, S%, L%)  →  hsl(14, 100%, 60%)
Same hue, lighter: hsl(14, 100%, 80%)
Same hue, darker: hsl(14, 100%, 40%)

Quick Comparison

FormatExampleBest For
HEX#FF5733Design tools, CSS, brand colors
RGBrgb(255, 87, 51)Canvas, JS, opacity control
HSLhsl(14, 100%, 60%)Programmatic palettes, theming

Convert Between Formats Instantly

You can convert between HEX, RGB, and HSL without any math using these free tools:

  • HEX to RGB — paste a HEX code, get RGB values instantly.
  • RGB to HEX — enter R, G, B values and get the HEX code.
  • HEX to HSL — useful when moving from a design file to CSS custom properties.

Related Tools