Valid HSL input
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle.
Convert HSL used for CSS color editing by hue, saturation and lightness into a normalized six-digit sRGB-style code, ready for compact web color codes and design tokens.
Values are converted in the page with local TypeScript functions. No color value needs to be uploaded for this calculation.
Choose a color visually, use sliders, or paste a value.
Quick Presets
#FF6347
tomato
PreviewOriginal
rgb(255, 99, 71)
Lighten 20%
rgb(255, 130, 108)
Darken 20%
rgb(204, 79, 57)
Complementary
rgb(71, 227, 255)
Aa
With White Text
Aa
With Black Text
Other Formats
Color Palette
Did you know?
You can pick a color from your screen in browsers that support the EyeDropper API.
Convert HSL used for CSS color editing by hue, saturation and lightness into a normalized six-digit sRGB-style code, ready for compact web color codes and design tokens. Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value.
Convert HSL used for CSS color editing by hue, saturation and lightness into a normalized six-digit sRGB-style code, ready for compact web color codes and design tokens. Use this focused route when your source is already HSL and the next system specifically expects HEX; use the general converter when you need several representations at once.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle.
a normalized six-digit sRGB-style code
Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value. Compare the result with the intended destination before reusing it.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. In “How to use the tool: Enter the source color”, apply this specifically to HSL to HEX Converter.
Use the sliders, direct field, preset swatches or system picker when available. The preview exposes normalization before HEX formatting.
Copy the HEX row. Alternate rows stay visible for comparison, but this page's intent remains HSL → HEX.
Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value. Compare the result with the intended destination before reusing it. Use the preview to catch a parsing mistake before copying the HEX row.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. In “Controls explained: Valid HSL input”, apply this specifically to HSL to HEX Converter.
a normalized six-digit sRGB-style code. HEX is notation for RGB channel values, not a separate color gamut.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. The workbench parses the source to an sRGB triple, then formats a normalized six-digit sRGB-style code. HSL is an RGB transform, not a perceptually uniform model; its saturation is not HSV saturation. HEX is notation for RGB channel values, not a separate color gamut.
Values are converted in the page with local TypeScript functions. No color value needs to be uploaded for this calculation.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. In “Troubleshooting: Why is my HSL input rejected?”, apply this specifically to HSL to HEX Converter.
Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value. In “Troubleshooting: Why does HSL differ after converting to HEX and back?”, apply this specifically to HSL to HEX Converter.
Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value. Reset the tool and retry with a known supported value before reporting an algorithm error.
Use this focused route when your source is already HSL and the next system specifically expects HEX; use the general converter when you need several representations at once. In “When should I use the focused HSL to HEX converter?”, apply this specifically to HSL to HEX Converter.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. In “Why is my HSL input rejected?”, apply this specifically to HSL to HEX Converter.
Channel normalization and integer/percentage formatting can make a HSL → HEX → HSL round trip differ from the starting value. In “Why does HSL differ after converting to HEX and back?”, apply this specifically to HSL to HEX Converter.
a normalized six-digit sRGB-style code. compact web color codes and design tokens. HEX is notation for RGB channel values, not a separate color gamut.
Enter hue in degrees and saturation/lightness as percentages. Hue wraps around the 0–360° circle. HSL is an RGB transform, not a perceptually uniform model; its saturation is not HSV saturation.
Values are converted in the page with local TypeScript functions. No color value needs to be uploaded for this calculation. Keep a copy of the original HSL value when comparing rounded HEX output.
Use this focused route when your source is already HSL and the next system specifically expects HEX; use the general converter when you need several representations at once. In “Continue your color workflow”, apply this specifically to HSL to HEX Converter.
Open the first related route when you need to continue beyond the focused HSL → HEX conversion.
Color Converter for HEX, RGB, HSL, LAB and OKLCH