HEX, RGB, HSL 세 가지 형식 간에 색상을 변환합니다. 하나의 형식으로 값을 입력하면 나머지 두 형식의 동등한 코드를 확인하여 CSS에 붙여 넣을 수 있습니다.
입력
색상 입력
16진수 색상 코드로, 앞의 해시 기호(#)는 있어도 없어도 됩니다. 3자리 또는 6자리 형식을 지원합니다(예: #3B82F6 또는 #ABC).
결과
값을 입력하면 계산 결과가 표시됩니다.
변환된 값
6자리 16진수 코드로 표현된 색상입니다.
빨강, 초록, 파랑 채널 값이 각각 0에서 255 사이로 표현된 색상입니다.
색상이 도(°) 단위의 색상각과 퍼센트(%) 단위의 채도, 명도로 표현된 색상입니다.
색상 변환 (HEX, RGB, HSL)
색상 변환기는 하나의 색상을 웹에서 가장 많이 사용하는 세 가지 표기, 즉 HEX, RGB, HSL 사이에서 변환합니다. 세 형식 모두 동일한 색상을 서로 다른 방식으로 나타내며, 프런트엔드 개발자와 디자이너, 스타일시트를 편집하는 모든 사람은 디자인 도구의 HEX 코드를 RGB 함수에 붙여 넣거나, HSL에서 색상을 조정하는 등 형식 간 변환이 자주 필요합니다.
색상을 표현하는 세 가지 방법
RGB는 빨강, 초록, 파랑 빛의 혼합량으로 색상을 정의하며, 각 채널은 0에서 255 사이의 정수입니다. HEX는 동일한 세 채널을 16진수로 표현한 것으로, 채널당 2자리 16진수를 사용하여 #3B82F6과 같은 6자리 코드를 만듭니다. 두 형식 모두 채널당 동일한 8비트를 저장하므로 HEX와 RGB 사이의 변환은 정확하며 정보 손실이 없습니다.
HSL은 다른 관점으로 접근합니다. 원색을 혼합하는 대신 색상(Hue)(색상환에서 0에서 360도까지의 각도), 채도(Saturation)(0에서 100퍼센트, 회색에서 선명한 색상), 명도(Lightness)(0에서 100퍼센트, 검정에서 순수 색상을 거쳐 흰색까지)로 색상을 표현합니다. HSL은 "조금 더 밝고 채도가 낮은 파랑"과 같이 사람이 색상을 표현하는 방식에 더 가깝기 때문에 색상 조정에 편리합니다.
변환 방법
HEX 코드를 RGB로 분리하는 것은 자릿수 산술입니다. 두 자리 16진수 쌍을 각각 00에서 FF까지, 즉 0에서 255 사이의 숫자로 읽으면 됩니다. RGB를 HSL로 변환할 때는 먼저 채널 값을 단위 범위로 스케일하고, 가장 큰 채널과 가장 작은 채널의 중간값으로 명도를, 두 채널의 차이로 채도를, 가장 큰 채널이 무엇인지로 색상을 도출합니다.
#3B82F6을 변환합니다. 세 쌍은 3B, 82, F6으로 각각 59, 130, 246에 해당하므로 rgb(59, 130, 246)입니다. 각 채널을 단위 범위로 스케일하면 대략 0.231, 0.510, 0.965가 됩니다. 가장 큰 채널은 파랑이고 가장 작은 채널은 빨강이므로 다음과 같습니다.
RGB는 256개의 이산 값을 저장하고 HSL은 정수 각도와 퍼센트로 반올림하므로, 왕복 변환 시 값이 한 단계 이동할 수 있습니다. 육안으로는 구분되지 않지만 코드를 비교할 때 알아 두면 유용합니다. HEX 코드 뒤의 16진수 산술을 탐색하려면 진법 변환기를 참조하십시오.
자주 묻는 질문 (FAQ)
HEX 코드는 RGB에 어떻게 대응됩니까?
6자리 16진수 코드는 채널별로 2자리씩 세 쌍으로 구성됩니다. 순서대로 빨강, 초록, 파랑에 해당합니다. 각 쌍은 00에서 FF까지의 값으로, 10진수로는 0에서 255에 해당합니다. 예를 들어 #3B82F6은 3B, 82, F6으로 분리되며 각각 59, 130, 246에 해당하여 rgb(59, 130, 246)이 됩니다. 각 채널이 동일한 8비트를 저장하므로 HEX와 RGB 사이의 변환은 정확합니다.
HSL 값은 무엇을 의미합니까?
HSL은 원색의 혼합 대신 색상(Hue), 채도(Saturation), 명도(Lightness)로 색을 표현합니다. 색상(H)은 색상환에서 0에서 360도까지의 각도입니다(0은 빨강, 120은 초록, 240은 파랑). 채도(S)는 0퍼센트(회색)에서 100퍼센트(가장 선명한 색상)까지입니다. 명도(L)는 0퍼센트(검정)에서 50퍼센트(순수 색상)를 거쳐 100퍼센트(흰색)까지입니다.
HSL은 원시 채널 값을 직접 편집하는 것보다 색상을 밝게 하거나 채도를 낮추는 등의 조정 작업을 직관적으로 수행하기에 편리합니다.
3자리 HEX 코드도 지원됩니까?
지원됩니다. 3자리 코드는 각 자리를 반복하여 6자리 값으로 확장하는 축약 표기입니다. 예를 들어 #ABC는 #AABBCC로 확장됩니다. 이 축약 표기는 채널 값이 반복되는 자리로 이루어진 4,096가지 색상만 나타낼 수 있으므로, 변환기는 항상 6자리 형식으로 결과를 표시합니다.
변환을 반복하면 값이 미세하게 달라지는 이유는 무엇입니까?
RGB는 채널당 256개의 이산 값을 저장하고, HSL은 정수 각도와 정수 퍼센트를 사용합니다. RGB를 HSL로 변환했다가 다시 되돌리면 각 형식이 자체 격자로 반올림하므로 인접한 값으로 이동할 수 있습니다. 차이는 최대 한 단계이며 육안으로는 구분되지 않습니다. 그러나 코드를 비교할 때 왕복 변환 후 값이 하나씩 달라지는 이유로 알아 두면 유용합니다.