Color Picker Guide

8 min readUpdated 2026-06-10

Every developer has been there: you're staring at a color picker with 16.7 million options, and someone on Slack says "make the blue more... blue." Picking colors in a vacuum is impossible. You need structure.

Professional color selection follows constraints: accessibility scores, brand identity, emotional targets, and technical limitations (8-bit color vs P3 wide gamut). Remove the guesswork — here's how the pros do it.

color models

Design tokens at Figma: Figma's color picker exposes OKLCH, HSL, and HEX simultaneously — because different color tasks need different formats. Picking a shade? Use HSL. Ensuring perceptual uniformity? Use OKLCH. Handoff to dev? HEX.

Apple's Human Interface Guidelines specify color in terms of "semantic roles" not specific values: primary, secondary, accent, background, groupedBackground. This abstraction makes dark mode automatic — the semantic roles swap values, not the UI code.

Adobe's Spectrum design system generates colors from HSL curves with mathematical precision. Every color is computed, not chosen. This ensures brand consistency across 50+ products.

selection strategy

Design tokens at Figma: Figma's color picker exposes OKLCH, HSL, and HEX simultaneously — because different color tasks need different formats. Picking a shade? Use HSL. Ensuring perceptual uniformity? Use OKLCH. Handoff to dev? HEX.

Apple's Human Interface Guidelines specify color in terms of "semantic roles" not specific values: primary, secondary, accent, background, groupedBackground. This abstraction makes dark mode automatic — the semantic roles swap values, not the UI code.

Adobe's Spectrum design system generates colors from HSL curves with mathematical precision. Every color is computed, not chosen. This ensures brand consistency across 50+ products.

Developer Perspective

Design tokens at Figma: Figma's color picker exposes OKLCH, HSL, and HEX simultaneously — because different color tasks need different formats. Picking a shade? Use HSL. Ensuring perceptual uniformity? Use OKLCH. Handoff to dev? HEX.

Apple's Human Interface Guidelines specify color in terms of "semantic roles" not specific values: primary, secondary, accent, background, groupedBackground. This abstraction makes dark mode automatic — the semantic roles swap values, not the UI code.

Adobe's Spectrum design system generates colors from HSL curves with mathematical precision. Every color is computed, not chosen. This ensures brand consistency across 50+ products.

HSL is best for manual color picking. RGB is best for code. OKLCH is best for generating accessible variants.

When picking a 'blue,' go 5-10 degrees toward purple (hue ~230-240). Pure blue (240) feels cold and corporate.

common mistakes

Design tokens at Figma: Figma's color picker exposes OKLCH, HSL, and HEX simultaneously — because different color tasks need different formats. Picking a shade? Use HSL. Ensuring perceptual uniformity? Use OKLCH. Handoff to dev? HEX.

Apple's Human Interface Guidelines specify color in terms of "semantic roles" not specific values: primary, secondary, accent, background, groupedBackground. This abstraction makes dark mode automatic — the semantic roles swap values, not the UI code.

Adobe's Spectrum design system generates colors from HSL curves with mathematical precision. Every color is computed, not chosen. This ensures brand consistency across 50+ products.

Try It Yourself

Use these free tools to apply what you learned: