HomeDesign ToolsColor Picker

pick colors. build palettes.

pick colors, generate harmonious palettes, and export as HEX, RGB, or HSL. runs entirely in your browser.

HEX#FF0000
RGBrgb(255, 0, 0)
HSLhsl(0, 100%, 50%)
Seed:
#FF0000

What this tool does

Pick a color visually, type one in any common format, or grab one off your screen with the eyedropper. Get the equivalent representation in HEX, RGB, HSL, and HSV — all updating in sync as you adjust.

The four formats and when to use each

HEX (#1f3a8a) — the compact six-character representation. Two characters per channel, in red-green-blue order. Universal in CSS and design tools. The default for most copy-paste workflows.

RGB (rgb(31, 58, 138)) — the same three numbers HEX encodes, just written in decimal. The format you want when you need to do math on colors, like blending two values or generating a color ramp programmatically. Also: any system that does not accept HEX (some print pipelines, some document formats) will accept RGB.

HSL (hsl(225, 64%, 33%)) — the same color, described as Hue, Saturation, Lightness. The format designers reach for when they want to manipulate a color intuitively: drop the lightness for a darker shade, drop the saturation for a muted version, shift the hue for a complementary color. Every CSS-capable browser understands it natively.

HSV (also called HSB — hsv(225, 78%, 54%)) — Hue, Saturation, Value (or Brightness). Looks like HSL but its Value/Brightness axis is not the same as HSL's Lightness. HSV is the format Photoshop and most native color pickers use internally. HSL is what CSS uses. Same color, different parameterization.

Why HSL and HSV are not the same

Both wheel-shaped color models, both have a hue dimension, both have a saturation dimension. The third axis is what differs.

HSL Lightness ranges from 0 (black) to 50% (the pure color) to 100% (white). The pure fully-saturated color sits at the middle of the lightness axis.

HSV Valueranges from 0 (black) to 100% (the pure color). The fully-saturated color sits at the top of the value axis. There is no “100% goes to white” in HSV.

Practical effect: if you crank lightness to 100% in HSL, you get white regardless of hue. If you crank value to 100% in HSV, you get the most saturated version of the current hue. Designers used to one model can be confused by the other; both are correct for their purposes.

The color spaces beyond sRGB

All four formats above describe colors in sRGB, the color space that has been the web standard since 1996. sRGB covers about 35% of the colors a human eye can see — enough for the screens of that era, but limiting for modern displays.

Newer color spaces have entered the web platform:

  • Display P3 — supported in modern Apple devices and recent browsers. Covers about 25% more of the visible color gamut than sRGB. The reds and greens are noticeably more vivid on a P3-capable display.
  • OKLCH — a modern color space designed for perceptual uniformity. The same numerical change in lightness produces the same perceived change in brightness, which HSL emphatically does not (HSL lightness 50% looks much brighter for yellows than for blues). Increasingly used in design systems for generating consistent color ramps.
  • Rec. 2020 — the future-future. Used in HDR video. Browsers are starting to support it for web content but most displays cannot show its full gamut yet.

For most web work in 2026, sRGB is still the right default. The other spaces matter when you are intentionally using their wider gamut on capable displays — and when you do, you need to handle the fallback for users on older screens.

The eyedropper

Modern browsers expose the EyeDropper API, which lets a page request a single pick from anywhere on the user's screen — including outside the browser tab. The user always confirms each pick (it cannot run silently), and the result is just an sRGB color value.

The capability is useful for matching a color from a screenshot, an image, or another application without leaving the browser. It is supported in Chromium-based browsers (Chrome, Edge, Brave, Opera). Firefox and Safari do not yet implement it, in which case the eyedropper button is hidden.

Accessibility: contrast is a separate concern

Picking a color is one job; making sure it is readable against its background is another. Contrast checking has its own math (relative luminance, the WCAG ratio) — the full write-up is at The math behind WCAG contrast checking. The companion tool is the contrast checker, which will tell you whether two colors picked here meet accessibility thresholds.

A practical workflow

Pick your foreground color here. Pick your background color. Paste both into the contrast checker. If the ratio is below 4.5:1 for body text, drop the lightness on the darker color until you cross the threshold. Iterate until it passes. Three minutes of work prevents an accessibility-audit headache later.

Privacy

Color picking is a purely local operation — there is no server-side step to perform, and no input to send. The whole tool runs in your browser, including the eyedropper when you use it.

What this tool does

Pick a color visually, type one in any common format, or grab one off your screen with the eyedropper. Get the equivalent representation in HEX, RGB, HSL, and HSV — all updating in sync as you adjust.

The four formats and when to use each

HEX (#1f3a8a) — the compact six-character representation. Two characters per channel, in red-green-blue order. Universal in CSS and design tools. The default for most copy-paste workflows.

RGB (rgb(31, 58, 138)) — the same three numbers HEX encodes, just written in decimal. The format you want when you need to do math on colors, like blending two values or generating a color ramp programmatically. Also: any system that does not accept HEX (some print pipelines, some document formats) will accept RGB.

HSL (hsl(225, 64%, 33%)) — the same color, described as Hue, Saturation, Lightness. The format designers reach for when they want to manipulate a color intuitively: drop the lightness for a darker shade, drop the saturation for a muted version, shift the hue for a complementary color. Every CSS-capable browser understands it natively.

HSV (also called HSB — hsv(225, 78%, 54%)) — Hue, Saturation, Value (or Brightness). Looks like HSL but its Value/Brightness axis is not the same as HSL's Lightness. HSV is the format Photoshop and most native color pickers use internally. HSL is what CSS uses. Same color, different parameterization.

Why HSL and HSV are not the same

Both wheel-shaped color models, both have a hue dimension, both have a saturation dimension. The third axis is what differs.

HSL Lightness ranges from 0 (black) to 50% (the pure color) to 100% (white). The pure fully-saturated color sits at the middle of the lightness axis.

HSV Valueranges from 0 (black) to 100% (the pure color). The fully-saturated color sits at the top of the value axis. There is no “100% goes to white” in HSV.

Practical effect: if you crank lightness to 100% in HSL, you get white regardless of hue. If you crank value to 100% in HSV, you get the most saturated version of the current hue. Designers used to one model can be confused by the other; both are correct for their purposes.

The color spaces beyond sRGB

All four formats above describe colors in sRGB, the color space that has been the web standard since 1996. sRGB covers about 35% of the colors a human eye can see — enough for the screens of that era, but limiting for modern displays.

Newer color spaces have entered the web platform:

  • Display P3 — supported in modern Apple devices and recent browsers. Covers about 25% more of the visible color gamut than sRGB. The reds and greens are noticeably more vivid on a P3-capable display.
  • OKLCH — a modern color space designed for perceptual uniformity. The same numerical change in lightness produces the same perceived change in brightness, which HSL emphatically does not (HSL lightness 50% looks much brighter for yellows than for blues). Increasingly used in design systems for generating consistent color ramps.
  • Rec. 2020 — the future-future. Used in HDR video. Browsers are starting to support it for web content but most displays cannot show its full gamut yet.

For most web work in 2026, sRGB is still the right default. The other spaces matter when you are intentionally using their wider gamut on capable displays — and when you do, you need to handle the fallback for users on older screens.

The eyedropper

Modern browsers expose the EyeDropper API, which lets a page request a single pick from anywhere on the user's screen — including outside the browser tab. The user always confirms each pick (it cannot run silently), and the result is just an sRGB color value.

The capability is useful for matching a color from a screenshot, an image, or another application without leaving the browser. It is supported in Chromium-based browsers (Chrome, Edge, Brave, Opera). Firefox and Safari do not yet implement it, in which case the eyedropper button is hidden.

Accessibility: contrast is a separate concern

Picking a color is one job; making sure it is readable against its background is another. Contrast checking has its own math (relative luminance, the WCAG ratio) — the full write-up is at The math behind WCAG contrast checking. The companion tool is the contrast checker, which will tell you whether two colors picked here meet accessibility thresholds.

A practical workflow

Pick your foreground color here. Pick your background color. Paste both into the contrast checker. If the ratio is below 4.5:1 for body text, drop the lightness on the darker color until you cross the threshold. Iterate until it passes. Three minutes of work prevents an accessibility-audit headache later.

Privacy

Color picking is a purely local operation — there is no server-side step to perform, and no input to send. The whole tool runs in your browser, including the eyedropper when you use it.

more free tools

PDF utilities, image tools, developer helpers — all free, no signup.

Something wrong?