ToolzYard

Fast, practical, browser-based developer tools

Color Tool • Free Online • No Signup

Color Picker Online

Pick a color and instantly view its HEX, RGB, and HSL values for design and development work. This tool is useful for UI design, branding, CSS styling, theme building, visual testing, and selecting exact color values for websites and digital products.

Ready to pick colors.
Fast • Free • Browser-Based

Pick colors and copy HEX, RGB, and HSL values instantly

Choosing the right color is a common task in web design, app interfaces, branding systems, prototypes, and front-end styling. This color picker helps you inspect one color in multiple formats at the same time, which makes it easier to move between design decisions and real CSS or code implementation.

✅ HEX values
✅ RGB values
✅ HSL values
✅ Visual preview

Your color values are handled in the browser

This color picker is designed to work directly in the browser. That means your selected colors, typed HEX values, and generated color formats can be handled locally on your device during the normal workflow.

For more details about site usage and analytics, read our Privacy Policy.

How to use this Color Picker

Choose a color using the picker or type a valid HEX value manually. The tool updates the preview instantly and shows matching HEX, RGB, and HSL values that you can copy into your design or development workflow.

  1. Select a color visually or type a HEX code.
  2. Review the preview block to confirm the color.
  3. Copy the HEX, RGB, and HSL values.
  4. Use the output in CSS, design systems, or branding work.

Example output

HEX: #6ea8fe
RGB: rgb(110, 168, 254)
HSL: hsl(216, 99%, 71%)

Common use cases

  • CSS color selection
  • Brand color review
  • Theme building
  • UI and app design
  • Design-to-code handoff

HEX, RGB, and HSL all describe the same sRGB colour

#3366ff, rgb(51 102 255), and hsl(225 100% 60%) are three notations for one point in the sRGB colour space — the standard gamut of a typical monitor. HEX is just RGB written in base 16: the pairs are red, green, blue from 00 to FF (0–255). Converting between HEX and RGB is lossless and exact. HSL is a different arrangement of the same sRGB values into hue, saturation, and lightness, which is friendlier for reasoning about a colour but describes nothing sRGB cannot. None of the three can express the wider colours a modern P3 display can show — that is what the newer oklch() and color(display-p3 …) functions are for.

HSL "lightness" is not perceived brightness

This is the trap that makes HSL misleading for building palettes. hsl(60 100% 50%) is a bright yellow and hsl(240 100% 50%) is a deep blue — identical "lightness" of 50%, yet the yellow looks dramatically brighter than the blue to the human eye. HSL's L is a mathematical midpoint of the RGB channels, not a measure of how light a colour actually appears. So a set of swatches all at L: 50% will look wildly uneven, and text that is readable on one 50% background can be illegible on another.

This is exactly what OKLCH was designed to fix. Its L axis is perceptual lightness, so two colours at the same OKLCH L genuinely look equally light regardless of hue. If you build tints and shades by fixing hue and chroma and stepping L in OKLCH, you get an even, predictable ramp; do the same in HSL and the steps bunch up and jump. For a single colour value HSL is fine — for generating a consistent scale, reach for OKLCH.

Contrast ratio: the number that decides legibility

Whether text is readable is governed by contrast ratio, computed from the relative luminance of the text and background colours — and crucially it cannot be eyeballed from HSL lightness, because two colours with the same HSL L can have very different luminance. The ratio runs from 1:1 (identical) to 21:1 (black on white).

WCAG 2 sets the thresholds most audits check against:

  • 4.5:1 for normal body text (level AA).
  • 3:1 for large text — roughly 24px, or 18.66px if bold.
  • 3:1 for UI components and meaningful graphics, such as input borders, icons, and focus indicators (success criterion 1.4.11).

Level AAA raises normal text to 7:1. A common oversight: a pale placeholder or a thin grey button outline that looks tasteful often fails the 3:1 UI-component rule, even when the body text passes.

Alpha in hex: #RRGGBBAA and the 50% surprise

Modern CSS accepts an alpha channel appended to a hex colour: eight digits #RRGGBBAA, or the four-digit shorthand #RGBA. So #3366ff80 is that blue at about 50% opacity. All current browsers support it, so you rarely need rgba() just for transparency any more.

The catch is that the alpha byte is hexadecimal, not a percentage, and people write the wrong value. 50% opacity is 80 (128 of 255), not 50; the round-looking #…50 is actually about 31%. Handy anchors: FF = 100%, BF ≈ 75%, 80 ≈ 50%, 40 ≈ 25%, 00 = fully transparent. When in doubt, use rgb(51 102 255 / 50%), where the alpha really is a percentage and there is nothing to convert.

Frequently Asked Questions

Are HEX, RGB, and HSL different colours?

No — they are three ways of writing the same point in sRGB. HEX is RGB in base 16 (lossless to convert); HSL rearranges the same values into hue, saturation, and lightness for easier adjustment. None of them reach colours outside sRGB.

Why do two colours with the same HSL lightness look different in brightness?

HSL's lightness is a numeric average of RGB channels, not perceived brightness, so hsl(60 100% 50%) yellow looks far lighter than hsl(240 100% 50%) blue. Use OKLCH, whose L axis is perceptual, when you need swatches that look evenly light.

What contrast ratio do I need for accessible text?

WCAG 2 AA requires 4.5:1 for normal text and 3:1 for large text (about 24px, or 18.66px bold). UI components and meaningful graphics also need 3:1. AAA raises normal text to 7:1. Contrast comes from luminance, not from HSL lightness, so it must be measured.

How does the alpha value in an 8-digit hex colour work?

#RRGGBBAA appends a hex opacity byte (#RGBA is the shorthand). It is hexadecimal, not a percentage: 50% is 80, not 50. Use FF=100%, 80≈50%, 00=transparent, or switch to rgb(… / 50%) to write the alpha as a percentage.

Should I use OKLCH instead of HEX or HSL?

For a one-off colour, HEX or HSL is fine. For generating tints, shades, and evenly-spaced palettes, OKLCH is better because its lightness and chroma are perceptually uniform, and it can also describe wide-gamut P3 colours that sRGB notations cannot.

Does this tool upload my selected color?

No. Colour selection and format conversion run entirely in your browser; nothing about the colour you pick is sent anywhere.