Color picker
The color picker for modern work: web, design systems, and game engines. Export HEX, RGB, OKLCh, GLSL, Unity, Unreal, and Godot. Paste any format back in and it converts to the rest. Built on CSS Color 4 color science: exact sRGB transfer and OKLCh gamut mapping, not approximations.
Paste any color format. Hex, CSS functions, shader vectors, engine constructors or raw numbers.
Mixer
Press C to copy · R to randomize
Conversions
Every format from the current color. Paste any of them back in.
The formats you reach for most often, plus the shader and engine pins.
Common Hex, RGB, HSL, HSV, OKLCh and CMYK.
- Hex
#00abe7 - RGB
rgb(0 171 231) - HSL
hsl(195.6 100% 45.3%) - HSV / HSB
hsv(195.6, 100%, 90.6%) - OKLCh
oklch(69.691% 0.14333 232.653) - CMYK
cmyk(100%, 26%, 0%, 9.4%)
Shaders GLSL and HLSL vectors, gamma or linear.
- GLSL vec3
vec3(0.0, 0.671, 0.906) - HLSL float3
float3(0.0, 0.671, 0.906)
Game engines Unity, Unreal and Godot at a glance.
- Unity
new Color(0.0f, 0.671f, 0.906f, 1.0f) - Unreal
FLinearColor(0.0f, 0.4072f, 0.7991f, 1.0f) - Godot Color
Color(0, 0.671, 0.906, 1)
Built for the cases other pickers miss
The conversions that actually change the color, not just the spelling.
- 01
Gamma and linear, always labeled
A
vec3destined for a lighting calculation is not the same as one written straight to the framebuffer. Both are shown, both are labeled, and the exact piecewise sRGB transfer function is used rather than apow(2.2)approximation. - 02
Paste anything
Hex,
rgb(),oklch(),vec4,FLinearColor,Color(0xFF…), or three bare numbers. When the input genuinely could mean two things, you get to choose instead of being guessed at. - 03
Correct by construction
Conversions follow CSS Color 4. Matrix inverses are derived rather than transcribed, out-of-gamut colors are mapped in OKLCh instead of clipped, and the test suite checks that every format round-trips through its own parser.
Questions
Straight answers to the questions other pickers leave implied.
Why are there two different vec3 values?
Because the same three numbers mean different colors depending on where they are used. The sRGB row holds encoded values, which is what you want when writing a color straight to the screen. The linear row has the sRGB transfer function removed, which is what you want when the value takes part in lighting, blending or filtering. Most tools only give you the first one, which is why shader colors so often come out too bright.
What formats can I paste in?
Hex in every shape including 0x and 8-digit ARGB, all the CSS color functions, HSV, CMYK, shader constructors like vec3, vec4, float3, half4 and vec3f, engine types like Unity Color, Unreal FLinearColor, Godot Color, Flutter Color, SwiftUI Color and Android Color.rgb, plus bare number triples in 0–1, 0–255 or percentages.
What happens if my input is ambiguous?
You get told. A bare “1, 0, 0” could be normalized floats or a 0–255 triple, so the tool picks the most likely reading, shows you which one it chose, and offers the alternatives as one-click buttons. No silent guessing.
Is the conversion math accurate?
Every conversion follows the CSS Color 4 specification, using the exact piecewise sRGB transfer function rather than an approximate 2.2 power curve. Reference values from the specification are checked in the test suite, and every format is verified to parse its own output back to the same color.
What happens to colors outside sRGB?
Colors from Display P3, Rec. 2020, Lab or OKLCh can fall outside what sRGB can show. Rather than clipping each channel, which shifts hue badly, the tool holds lightness and hue and walks chroma down until the color fits. Formats that can hold the original value, such as color(display-p3 …), still show it untouched.
Keep going
Guides, named colors, and dedicated conversion pages when you want to go deeper.
- Browse the format cheat sheetRanges, orderings and common traps.
- Browse the color libraryNamed colors, hex values, contrast and related shades.
- Convert between formatsDedicated hex-to-RGB, GLSL or engine pages.
- Read why shader colors look wrongIf the gamma and linear distinction is new to you.
- Learn OKLChEven tonal scales and palettes.