Convert color between different formats
Hex, RGB, HSL, HWB, LCH, CMYK, and CSS color names — all in your browser

Edit any row to convert to the others instantly
The Color Converter helps you translate the same color between the formats you actually encounter in real life: design mockups (Hex), CSS (RGB/HSL/HWB), printing (CMYK), and more perceptual spaces like LCH. Everything runs locally in your browser, so it’s fast and private.
A simple rule of thumb: if a tool asks for web colors, Hex/RGB is usually right. If it asks for how a color feels (lighter/darker, more saturated), HSL/LCH is often easier.
Who is this for?
Reliability note: conversions follow standard color-space math (sRGB as a baseline). If you’re dealing with raw number bases a lot, our Integer Base Converter is also handy for understanding how hexadecimal values work.
Suppose you have . In Hex, each pair is one channel:, , . So we decode , , into decimal.
Result: . That “looks right” for a medium-bright green — quick sanity checks like this help you catch typos.
Convert to Hex. We convert each channel to base and pad to 2 digits.
Result: . If you want to double-check any step, the Integer Base Converter is perfect for quick base conversions.
Background: you receive a brand color as Hex, but your CSS codebase uses HSL for easier theming.
Input:
Output example: (copy directly from the tool)
How you use it: paste the HSL string into CSS variables so you can adjust lightness for hover/focus states.
Background: a user pastes in one place and a name like somewhere else.
Inputs: and
Output: a single canonical value (copy from Hex row)
How you use it: store the canonical Hex in your database, and convert on display.
Background: you have a base color and need a hover state that’s “the same, just a bit lighter”.
Input: any starting format (e.g. )
Output: use HSL and adjust (lightness) while keeping hue similar.
How you use it: copy the new HSL/RGB into your UI tokens.
Background: you have a web color but need a rough CMYK value for a print spec sheet.
Input:
Output: (use as a starting point)
How you use it: send the CMYK values to a printer, then do a proof print if accuracy matters.
Small but useful workflow
If you’re debugging a UI bug, take the “canonical Hex” and put it into the share link. It gives teammates one exact input to reproduce.
You’re copying a color from CSS docs
Great for turning into Hex for a design handoff.
You want one “source of truth” value
Store a canonical and convert for display.
You’re tweaking lightness/saturation
HSL and LCH are often more intuitive for “make it a bit darker” adjustments.
You’re preparing something for print
Use CMYK as a starting point, then validate with proofs.
You’re reviewing a pull request
Convert all proposed colors to one format (usually Hex) so diffs are easy to compare.
You’re matching a color across apps
The same color may be presented as Hex in one app and RGB in another.
When it may not be a fit: if you need color management for specific monitors, camera profiles, or print ICC workflows. In those cases, professional color-managed tools are the right next step.
Not every color format is “more correct” — they’re just different ways to represent a color. Here are the most common building blocks used in conversions.
Hex stores each channel as a two-digit base- number:
Each pair converts by standard base expansion, e.g..
Many conversions start by mapping integer channels to unit values:
After you compute in the normalized space, you convert back to integers when needed.
CMYK varies by printing pipeline, but a widely used approximation from normalized RGB is:
Important: this is useful for a first pass, but it doesn’t replace proofing or ICC-managed workflows.
Practical takeaway: treat Hex/RGB/HSL as “screen-friendly” values; treat CMYK as “print-friendly starting points”.
Two common reasons:
Many tools normalize output (for example, using uppercase). The actual color stays the same.
It uses the common 6-digit format .
Yes. If a name maps to a known CSS color, the converter can normalize it to Hex/RGB. When a name isn’t recognized, the tool will tell you the format is invalid.
CMYK depends heavily on printer, paper, and ICC profiles. Browser-based conversions are best treated as starting points.
LCH is a perceptual color space that often matches how people describe color differences. It can be nicer for building smooth gradients or consistent lightness steps.
Yes: use the base expansion check in the examples above, or jump to the Integer Base Converter to verify each channel.
No — conversions run locally in your browser.
Note: references are provided for further reading; the tool’s outputs are designed for practical conversions, not for replacing a color-managed workflow.
Copy and paste emojis easily and get the unicode and code points value of each emoji. Runs locally in your browser.
Transform text into the NATO phonetic alphabet for oral transmission. Convert letters A–Z into Alpha/Bravo/Charlie… and copy instantly.
Convert text to ASCII (8-bit) binary and convert ASCII binary back to text. Clean input automatically and copy results instantly.
Convert text to Unicode decimal HTML entities (e.g., A) and convert them back to text. Runs locally in your browser with one-click copy.
Escape and unescape HTML entities for <, >, &, ", and ’. Runs locally in your browser with instant copy.
Convert an integer between bases 2–64 (binary, octal, decimal, hexadecimal, base64, and custom). Runs locally in your browser.