The instant RGB color picker.
Sample any pixel on your screen and read its rgb() value immediately — with HEX, HSL and OKLCH alongside. Works across PDFs, native apps, and design tools.
TL;DR
Screen Color Picker is a free color picker that runs entirely in your browser. Click once and sample any pixel on your screen, even outside the browser, then copy it as HEX, RGB, HSL or OKLCH. Picked colors never leave your device. Key limit: live picking needs desktop Chrome, Edge, Brave or Opera; other browsers use screenshot mode.
Last updated
Pick a color — instant, picks from anywhere on screen (even outside the browser).
Screenshot — when you need to pick from another tab without losing focus.
#171717 rgb(23, 23, 23) hsl(0, 0%, 9%) oklch(22.04% 0.0000 0.0) Recent palette (0)
Click Choose what to capture below. Your browser will show its picker for screens, windows, or tabs.
One quick heads-up
How screen capture works
After you click Continue, your browser will switch focus to the window you're sharing. Press Alt + Tab to come back here — your captured frame will be waiting.
The format
Reading an RGB colour value.
RGB describes a colour as three light intensities: rgb(61 165 255) means 61 units of red, 165 of green, 255 of blue, each on a 0–255 scale. It is additive — the channels add light together, so all three at maximum gives white and all three at zero gives black. This is the opposite of paint, where mixing everything gives mud.
Modern CSS uses space-separated syntax: rgb(61 165 255), with a slash before alpha — rgb(61 165 255 / 50%). The old comma form rgba(61, 165, 255, 0.5) still works everywhere and always will, but the space-separated version is what CSS Color Level 4 standardised and what you'll see in new codebases.
RGB and HEX carry identical information. rgb(61 165 255) and #3da5ff are the same three numbers in different bases. Choosing between them is a readability decision, not an accuracy one.
The gamma trap
Why RGB 128 is not half-brightness.
This catches almost everyone who writes colour code for the first time. The channel value 128 is not half as bright as 255. sRGB applies a gamma curve, and perceived half-brightness actually sits nearer 188.
The reason is historical and physiological at once. Human vision is far more sensitive to differences in dark tones than bright ones, so encoding brightness non-linearly spends more of the available 256 steps where the eye can actually see them. CRT phosphors happened to have a matching response curve, which is why the standard stuck.
The practical consequence: naive averaging of RGB values is wrong. Crossfade two colours by linearly interpolating channels and the midpoint comes out too dark, often passing through an ugly grey. Correct blending requires converting to linear-light first, interpolating there, and converting back:
linear = c ≤ 0.03928 ? c/12.92 : ((c+0.055)/1.055)^2.4
The same conversion is why luminance isn't the average of the channels. WCAG weights them 0.2126 red, 0.7152 green, 0.0722 blue — green carries over 70% of perceived brightness because human eyes have far more green-sensitive cones. This is exactly why pure blue looks dark despite rgb(0 0 255) maxing out a channel.
When to use it
RGB is the format for code that touches pixels.
If you're working with canvas ImageData, WebGL, image processing, or shader code, you're in RGB whether you chose it or not — that's how the hardware stores pixels. A canvas buffer is a flat array of red, green, blue, alpha bytes, and every read or write is in those terms.
RGB is also the better choice when you need readable alpha. rgb(61 165 255 / 50%) says what it means; the 8-digit hex equivalent #3da5ff80 requires you to know that 80 is 128 is roughly half.
Where RGB is the wrong tool is anything involving human perception. You cannot look at two RGB triples and know which is lighter. You cannot generate a colour scale by stepping channels. You cannot reason about contrast. For those, convert to OKLCH, where lightness is perceptually uniform and the numbers actually correspond to what you see.
Questions
RGB colour picker FAQ
How do I get the RGB value of a colour on my screen?
Click Pick a color and then click any pixel — inside the browser or outside it, in a PDF, a native application, a design tool, or a paused video. The RGB value appears immediately alongside HEX, HSL and OKLCH, each one click to copy. The browser itself reads the pixel; the page only receives the resulting colour.
What's the difference between rgb() and rgba()?
Functionally none in modern browsers. rgba() was the old separate function for adding an alpha channel. CSS Color Level 4 merged them, so rgb() now accepts an optional alpha after a slash: rgb(61 165 255 / 50%). Both forms work everywhere; the modern space-separated syntax is preferred in new code.
Is RGB the same as HEX?
Yes, mathematically. Hex is RGB written in base 16 with the punctuation removed. rgb(61 165 255) and #3da5ff produce pixel-identical output. Hex is more compact and better for handoff; RGB is easier to compute with and has clearer alpha syntax.
Why does rgb(0 0 255) look so much darker than rgb(0 255 0)?
Because human eyes are far more sensitive to green than blue. Perceived brightness weights the channels roughly 0.21 red, 0.72 green, 0.07 blue — so a maxed blue channel contributes only about 7% of possible luminance while a maxed green contributes 72%. This is physiology, not a display problem, and it is why blue text on white often fails contrast checks despite looking dark.
Can RGB represent every colour?
No. Standard 8-bit sRGB covers about 35% of visible colours. It cannot express the more saturated greens and cyans that wide-gamut displays can show. Newer formats like OKLCH and color(display-p3 ...) reach beyond sRGB into the P3 gamut that most modern laptops and phones support.
Does this picker work in Firefox or on mobile?
No. It relies on the browser's native EyeDropper API, which is Chromium desktop only — Chrome, Edge, Brave, Arc, Opera and Vivaldi on Windows, macOS, Linux and ChromeOS. Firefox and Safari have not shipped it, and no mobile browser has.
Also see: HEX picker · HSL picker · format comparison