Free online color picker
Color picker with every notation on screen
This color picker is free and needs no signup: drag the field, move the hue slider, or type a value, and the same color appears in HEX, RGB, HSL, HSV, CMYK and Lab side by side. Three of those six fields accept typed input, so a hex code from a brand guide goes straight in — including bare hex, the eight-digit alpha form and any of the 148 CSS color names. While you drag, the panel on the right scores the color against white and black to WCAG 2.1 and marks whether it clears 4.5:1 for body text, and Save swatch pins it to a strip of 24 that survives a reload.
- 100% free
- No signup
- 6 notations at once
- WCAG contrast live
- 24 saved swatches
#2664eb
Closest CSS name: royalblue (ΔE 9.0)
Press Ctrl+V anywhere on the page to drop in a hex code, rgb() or hsl() value — no need to click the field first.
Every notation, all editable where the notation allows it
- HEX
- RGB
- HSL
- HSV
- CMYK
- Lab
Contrast against black and white
On white: 5.13:1
Body text AA passLarge text AA passAAA fail
On black: 4.10:1
Body text AA failLarge text AA passAAA fail
Ratios follow the WCAG 2.1 relative-luminance formula: 4.5:1 for body text, 3:1 for text at 24px or 18.66px bold, and 3:1 for icons and borders.
All 66 color tools
66 tools for the part of the job that happens after you have the color: conversions between every notation, palettes and harmony, contrast and color-blindness checks, gradient and CSS generators, type units, and the icons and images a page ships with.
Pick & convert
12 toolsColor Picker
Hold one color in six notations at once — HEX, RGB, HSL, HSV, CMYK and Lab — type an exact value into any of them, and keep a row of swatches while you compare.
You are on this page
Hex Color Picker
Pick a color visually and get the hex code — six-digit, three-digit shorthand and eight-digit alpha — with one click to copy.
Hex Color Codes
A browsable chart of the codes worth knowing: all 148 CSS keywords, the neutral grays and the web-safe grid, each one click from your clipboard.
RGB to HEX
Three 0-255 channels become one six-digit code, with each byte shown in binary and hex so the mapping stops being a black box.
HEX to RGB
Split a hex code into red, green and blue bytes, including the shorthand #rgb form and the eight-digit form whose last pair is alpha.
RGB to CMYK
Separate a screen color into cyan, magenta, yellow and key — with the gamut warning and the missing-ICC-profile caveat that most converters quietly skip.
CMYK to RGB
Turn four ink percentages back into a screen color, and see why several different CMYK mixes can land on the same pixel.
RGBA to HEX
Fold an alpha channel into eight-digit hex, or flatten it against a chosen background to get the six-digit color it actually renders as.
HEX to HSL
Rewrite a hex code as hue, saturation and lightness — the form you want when the goal is a lighter version, not a different color.
Pantone to RGB
Look up the published screen approximation of a spot color, with the coated-to-uncoated shift in ΔE and a flag on the inks process printing cannot match.
RGB to HSL
Move three channels into the cylindrical model, one derivation step at a time — which branch sets the hue, and how saturation falls out of lightness.
HSL to RGB
Resolve hue, saturation and lightness back into the channels an ImageData buffer, a shader uniform or an older stylesheet expects.
Palettes
8 toolsColor Wheel
Drag around a 360° wheel and watch the complementary, triadic, tetradic and analogous partners move with you, each labeled with the angle it sits at.
Color Palette Generator
Grow a five-color palette from one seed, locking the swatches that work and re-rolling the rest under the harmony rule you picked.
Complementary Color
Find the exact opposite of a color on the wheel, plus the split and near-complements that are far easier to use in a real layout.
Random Color Generator
Roll colors inside a hue range and saturation and lightness bounds you set, so the output is usable rather than merely arbitrary.
Color Mixer
Blend two colors at any ratio in sRGB, linear light or Lab, and see the three genuinely different answers to “what is red plus green”.
Color Scheme Generator
Expand one brand color into a working interface set — background, surface, border, body text and accent — with every pair contrast-checked.
Tailwind Color Generator
Generate a 50-950 scale from a single hex value, following Tailwind's own uneven lightness curve instead of an even LCH ramp.
Shades Generator
Lay shades, tints and tones of one color side by side in a single table, so you can see what adding black, white and gray each do.
Color from images
2 toolsAccessibility
3 toolsColor Contrast Checker
Score a text and background pair against WCAG 2.1 and get the verdict for body copy, headings and non-text UI in one reading.
Color Blindness Simulator
See a color or a whole palette as protanopes, deuteranopes and tritanopes see it, with a severity slider for the far more common anomalous cases.
WCAG Contrast Checker
Audit a list of color pairs against 1.4.3, 1.4.6 and 1.4.11 at once, and get the nearest passing color for every row that fails.
Gradients & effects
13 toolsGradient Generator
Drag stops along a multi-stop gradient and interpolate in Lab to skip the gray dead zone that ruins a plain sRGB fade.
CSS Gradient Generator
Write out the linear, radial and conic CSS for a gradient, repeating variants included, with the angle convention each function uses.
Box Shadow Generator
Stack several shadows on one element and tune offset, blur, spread and inset until the elevation reads the way you meant it to.
Clip Path Generator
Drag the vertices of a polygon, circle, ellipse or inset and read the clip-path value back as percentages that survive a resize.
Border Radius Generator
Control all eight radii independently to build the organic blob shapes only the two-value slash syntax can express.
CSS Button Generator
Assemble padding, radius, border, shadow and color into a button and export the rule set with its :hover, :active and :focus-visible states.
CSS Arrow Generator
Generate the tooltip arrow that points from any edge at any size, in the border-trick form and the clip-path form side by side.
CSS Filter Generator
Stack blur, brightness, contrast, saturate, hue-rotate and drop-shadow over a live image and copy the filter chain in order.
Text Shadow Generator
Layer text shadows into glow, emboss, outline and retro 3-D effects, previewed at the weight and size you will actually ship.
CSS Triangle Generator
Work out the border widths that turn a zero-size element into a triangle pointing whichever way you need, at any size.
Glassmorphism Generator
Tune the backdrop-filter blur, translucency and hairline border that make frosted glass, and get the fallback for browsers without backdrop-filter.
Neumorphism Generator
Derive the matched light and dark shadow pair from your surface color, which is the entire trick behind the soft-UI look.
CSS Loader Generator
Build a spinner, dot or bar loader out of one element and its keyframes, with no image, no SVG and no library.
Layout & motion
8 toolsAspect Ratio Calculator
Solve for the missing width or height at a fixed ratio, and see which of the common ratios a size is closest to.
CSS Grid Generator
Lay out columns, rows and gaps by hand, place items across tracks, and export grid-template together with named areas.
Flexbox Generator
Toggle direction, wrap, justify and align on live boxes to see what each property does before the rule reaches your stylesheet.
CSS Animation Generator
Compose duration, delay, easing, iteration and fill into one animation shorthand and watch it loop while you edit.
Cubic Bezier Generator
Drag the two control handles of an easing curve and race it against ease, ease-in-out and a linear baseline in the same preview.
Keyframes Generator
Add percentage stops to an @keyframes block and edit transform and opacity at each one without hand-counting the percentages.
CSS Transform Generator
Combine translate, rotate, scale and skew in 2-D and 3-D, and watch the order of the functions change where the element lands.
Media Query Generator
Assemble breakpoint, orientation, hover, prefers-reduced-motion and prefers-color-scheme queries in the modern range syntax.
Units & typography
10 toolsPX to REM
Convert pixels to rem against any root size, with a reference table of the values a stylesheet reuses over and over.
Font Pairing
Study heading-and-body combinations that hold together, and the x-height and weight contrast that is doing the work in each one.
Golden Ratio Calculator
Divide or multiply a length by 1.618 across as many steps as you need, for type sizes, column widths and card proportions.
REM to PX
Work out what a rem value renders as at any root size, including the 62.5% trick and what it costs a reader who changed their font size.
EM to PX
Resolve em against the inherited size it is relative to, which is where nested ems quietly multiply into the wrong number.
Google Fonts Preview
Compare a shortlist of open-source families on your own sample text, rendered from fonts this site serves itself rather than fetched live.
Font Size Converter
Move one type size between px, pt, pc, em, rem, percent and the CSS absolute keywords — all seven side by side.
Line Height Calculator
Pick a line height for a given size and measure, with the 45-75 character window marked so you can see when a line is too long to track.
Typography Scale
Build a modular scale from a base size and a ratio, and read every step as rendered text rather than as a column of numbers.
Letter Spacing Calculator
Convert tracking between em, px and the thousandths design tools use, and see the negative tracking large headings need.
Web assets
10 toolsPNG to SVG
Trace flat-color artwork into real vector contours — actual paths you can edit, not a bitmap parked inside an svg wrapper.
SVG to PNG
Rasterize an SVG at any width, height or scale factor, keeping transparency and rendering at device pixel ratio for retina output.
Favicon Generator
Produce the icon sizes a browser tab, an iOS home screen and a web manifest each ask for, with the link tags to paste into head.
ICO Converter
Pack 16, 32 and 48 pixel frames into one multi-resolution .ico, which is what Windows and older browsers actually read.
Avatar Generator
Derive an identicon or initials avatar from a name or user id, so the same input always yields the same picture on every machine.
SVG Optimizer
Strip editor metadata, collapse transforms and round path coordinates, with the byte count before and after each choice.
Image to ICO
Convert a PNG, JPEG or SVG into a single-size .ico for the one case where a bare favicon file is all that is wanted.
Spritesheet Generator
Pack a set of images into one sheet and get the background-position rule for every frame, plus the steps() animation to play them.
Placeholder Image Generator
Draw a sized placeholder with your own label and colors locally, instead of pointing a mockup at a third-party placeholder host.
OG Image Generator
Compose a 1200×630 social card from a title, subtitle and background, and check the text still reads at the size a timeline shows it.
How to pick a color
Three steps, and the value is on your clipboard in a notation your stylesheet can read.
Land on the color
Drag inside the saturation field, or move the hue slider under it, and the swatch follows. Arrow keys nudge saturation and brightness one point at a time and Shift plus an arrow moves ten, which is how you land on a value a mouse keeps overshooting. On Chrome and Edge, “Pick from screen” hands you the EyeDropper API so you can lift a color from any window on the desktop, not just from this page.
Type the exact value if you already have one
The HEX, RGB and HSL fields accept input as well as showing it, so a code from a brand guide goes straight in. Bare hex without the # works, so do the three-digit and eight-digit forms, rgb(37 99 235 / 60%) in the modern slash syntax, and any of the 148 CSS keywords by name. The other three fields — HSV, CMYK and Lab — are read-outs, because a Lab value typed by hand is usually outside what a screen can show.
Check it, then keep it
The two panels on the right score the color against white and against black and mark whether it clears 4.5:1 for body text and 3:1 for large text. Press Save swatch to pin it to the strip under the picker; the strip holds 24 colors, persists across reloads and reloads any of them with one click.
Technical specifications
| Accepted input | #rgb, #rgba, #rrggbb, #rrggbbaa, the same four without the #, rgb() and rgba(), hsl() and hsla(), the CSS Color 4 slash-alpha syntax, all 148 named colors, and the keyword transparent |
|---|---|
| Notations shown | Six at once — HEX, RGB, HSL, HSV, CMYK and Lab. HEX, RGB and HSL are editable; HSV, CMYK and Lab are read-outs |
| Precision | 8 bits per channel, 16,777,216 colors, plus a 0-100% alpha channel |
| Contrast engine | WCAG 2.1 relative luminance, thresholds at 4.5:1 body text, 3:1 large text and 3:1 non-text |
| Closest-name match | Ranked by CIE76 distance in CIE Lab against the 148 CSS keywords |
| Saved swatches | 24 maximum, held in browser local storage under colorkit:swatches, cleared by one button |
| Screen picking | EyeDropper API where the browser has it — Chrome 95+, Edge 95+, Opera 81+; the button is hidden in Firefox and Safari |
| Price | Free, no signup, no cap on how many colors you pick |
Frequently asked questions
How do I find the hex code of a color on my screen?
Use “Pick from screen”, which opens the browser's EyeDropper and returns the hex of any pixel on your desktop, including pixels in other applications. It works in Chrome, Edge and Opera 95 and later; Firefox and Safari have not shipped the API, so the button is hidden there and the way in is a screenshot plus the image color picker instead.
Why does the hue slider not change anything when the swatch is white or black?
Because hue has no meaning at those points and the picker is remembering yours rather than resetting it. Pure white is saturation 0 and pure black is brightness 0, and every hue produces the same pixel in both cases, so hue is undefined there. Sliding hue at brightness 0 changes nothing visible until you raise brightness again — at which point the hue you chose is waiting.
What does the ΔE number next to the closest CSS name mean?
It is the perceptual distance between your color and that named color, measured in CIE Lab. Under about 2.3 the two are indistinguishable side by side, around 10 they read as related shades, and above 20 they are plainly different colors. The match is ranked in Lab rather than by RGB distance because equal steps in RGB are not equally visible — the eye resolves far more detail in green than in blue.
Can I type a color with transparency?
Yes, four ways: an eight-digit hex like #2563eb99, rgba(37, 99, 235, 0.6), the slash syntax rgb(37 99 235 / 60%), or the alpha slider. The swatch sits on a checkerboard so that 10% alpha and 0% alpha do not look identical against the page, and the HEX field switches to eight digits the moment alpha drops below 100%.
Are the saved swatches sent anywhere?
No — they are written to your browser's local storage under the key colorkit:swatches and never leave the machine. That is also their limit: they belong to this browser on this device, so they will not follow you to your phone, and Clear all removes them immediately.
Why do the CMYK numbers here differ from the ones in Illustrator?
Because Illustrator separates with an ICC profile behind it and this page has none. The values here come from the device-independent formula, which knows nothing about your press, your paper or your ink limit; a US Web Coated (SWOP) profile will disagree by several points on saturated colors and by more than that on anything outside the CMYK gamut. Treat the numbers as a starting point and see the RGB to CMYK page for what changes when a profile is involved.
What is the difference between HSL and HSV here?
They disagree about what the top of the scale means: at HSL lightness 100% you always get white, while at HSV brightness 100% you get the most vivid form of the hue. Design tools mostly expose HSV because a saturation-brightness square maps to it directly, and CSS speaks HSL, which is why both are on screen — the number you read off the square is not the number you paste into a stylesheet.
About picking a color precisely
A color picker is two tools wearing one coat. One of them is for exploring — a field you drag around until something looks right — and the other is for precision, where you already know the value and need it in a different notation before you can use it. Most pickers are built for the first job and treat the second as an afterthought, which is why so many of them show you a hex code and nothing else. The layout here gives both equal room: the field on the left for hunting, six simultaneous read-outs on the right for the moment the hunting is over.
The reason all six are visible at once is that the conversions are not interchangeable in practice. HSL is what CSS accepts, HSV is what the saturation-brightness square you just dragged actually represents, and the two disagree at the top of their scales: lightness 100% is white in HSL, while brightness 100% in HSV is the most saturated form of the hue. Lab is where the eye's own geometry lives, which is why the closest-name match is computed there rather than in RGB, and why the palette generator spaces its steps in Lab too. CMYK is the odd one out and is marked as a read-out deliberately: without an ICC profile it is arithmetic rather than an answer about ink, which the RGB to CMYK page explains in full.
The contrast read-out sits beside the picker rather than on a separate page because of what usually happens next. A color chosen purely on looks fails 4.5:1 against white more often than not — anything above roughly 60% lightness will — and finding that out three screens later means redoing the choice. Seeing the ratio move while you drag turns a compliance check into part of picking. When the pair you care about is not simply black or white on your color, the contrast checker takes both sides as input.
Where your colors are processed
Every number on this page is worked out by JavaScript running in the tab you are reading it in. Nothing you type, paste or open is uploaded, logged or kept, which is also why the tools carry on working after you disconnect from the network.
The one exception is the swatch strip. Saving a swatch writes the hex string to your browser's local storage under the key colorkit:swatches so it is still there next visit; it stays on the device, and Clear all deletes it on the spot.