MCP로 연결 →

계산 입력

공식

광고

결과

HSL 색상
hsl(9.13, 100%, 63.92%)
색상, 채도, 명도
색상 (H) 9.13°
채도 (S) 100%
명도 (L) 63.92%

RGB → HSL 변환기란?

이 도구는 RGB 모델(빨강·초록·파랑, 각 0~255)로 표현된 색상을 HSL 모델(색상·채도·명도)로 변환합니다. HSL은 색의 색조(Hue)와 선명함(채도), 밝고 어두운 정도(명도)를 분리해서 다루기 때문에 디자이너에게 더 직관적인 경우가 많습니다. 이 변환은 특정 기기나 국가에 종속되지 않는 보편적인 계산 방식입니다.

겹쳐진 RGB 원을 HSL 색상 원기둥으로 변환하는 다이어그램
RGB 값은 색상, 채도, 명도로 이루어진 HSL 모델로 변환됩니다.

사용 방법

변환할 색상의 빨강·초록·파랑 값을 각각 0~255 사이로 입력하세요. 계산 버튼을 누르면 대응하는 HSL 값이 나오며, CSS에 hsl(H, S%, L%) 형식으로 바로 붙여 넣을 수 있습니다.

변환 공식 설명

먼저 각 채널을 255로 나눠 0~1 범위로 정규화합니다. 세 값 중 가장 큰 값을 max, 가장 작은 값을 min이라 하고 \(\Delta = \max - \min\)으로 둡니다. 명도는 \(L = (\max + \min) / 2\) 입니다. 채도는 \(S = \Delta / (1 - \lvert 2L - 1 \rvert)\) 이며, \(\Delta = 0\)일 때(즉 회색일 때)는 0이 됩니다. 색상(Hue)은 어느 채널이 가장 큰지에 따라 계산한 뒤 60°를 곱하고, 0~360° 범위로 맞춰 줍니다.

$$ L = \frac{C_{\max} + C_{\min}}{2}, \quad S = \frac{C_{\max} - C_{\min}}{1 - \lvert 2L - 1 \rvert} $$ $$ \text{where}\quad \left\{ \begin{aligned} R^{\prime} &= \frac{\text{Red}}{255}, \;\; G^{\prime} = \frac{\text{Green}}{255}, \;\; B^{\prime} = \frac{\text{Blue}}{255} \\ C_{\max} &= \max(R^{\prime}, G^{\prime}, B^{\prime}), \;\; C_{\min} = \min(R^{\prime}, G^{\prime}, B^{\prime}) \end{aligned} \right. $$ $$ H = 60^{\circ} \times \begin{cases} \dfrac{G^{\prime} - B^{\prime}}{\Delta} \bmod 6 & C_{\max} = R^{\prime} \\[0.6em] \dfrac{B^{\prime} - R^{\prime}}{\Delta} + 2 & C_{\max} = G^{\prime} \\[0.6em] \dfrac{R^{\prime} - G^{\prime}}{\Delta} + 4 & C_{\max} = B^{\prime} \end{cases} $$
광고
색상 각도, 채도 반지름, 명도 높이를 보여주는 HSL 원기둥
색상은 각도, 채도는 축으로부터의 거리, 명도는 수직 위치입니다.

계산 예제

토마토 레드 RGB(255, 99, 71)을 예로 들어 보겠습니다. 정규화하면 \(R=1\), \(G=0.388\), \(B=0.278\) 입니다. \(\max=1\), \(\min=0.278\), \(\Delta=0.722\) 가 됩니다.

$$ L = (1 + 0.278)/2 = 0.639 \rightarrow 63.9\% $$ $$ S = \frac{0.722}{1 - \lvert 2 \cdot 0.639 - 1 \rvert} = \frac{0.722}{0.722} = 1 \rightarrow 100\% $$

max가 R이므로

$$ H = 60 \times \left( \frac{0.388 - 0.278}{0.722} \right) = 60 \times 0.1525 \approx 9.13^{\circ} $$

결과: hsl(9.13, 100%, 63.92%).

자주 묻는 질문

회색은 왜 채도가 0인가요? 세 채널 값이 모두 같으면 \(\Delta = 0\)이 되어 색 정보가 없습니다. 이때 채도는 수학적으로 정의되지 않으므로 관례에 따라 0으로 둡니다.

H, S, L 값은 반올림되나요? 화면에는 소수점 둘째 자리까지 표시되지만, 실제 계산값은 전체 정밀도를 그대로 유지합니다.

다시 RGB로 되돌릴 수 있나요? 네. HSL → RGB는 색상 구간(sector)과 채도(chroma)를 이용한 역변환 과정으로 가능합니다.

최종 업데이트: