색상 변환기
색상을 주요 표기법 중 어떤 형식으로든 입력하거나 직접 고르면 HEX, RGB, HSL, HWB, HSV, CMYK, OKLCH로 각각 보여 줍니다. 가장 가까운 CSS 색상 이름과 복사할 수 있는 CSS 사용자 지정 속성 블록도 함께 제공합니다. 변환은 CSS Color Module Level 4 공식을 따르며, 모두 브라우저에서 실행됩니다. 무료이며 회원가입이 필요 없습니다.
예: #336699, rgb(51 102 153), hsl(210 50% 40%), hwb(210 20% 40%), cmyk(67%, 33%, 0%, 40%), rebeccapurple. 투명도는 #rrggbbaa 또는 “/ 50%”로 추가하세요.
변환된 값
HEX
#336699
RGB
rgb(51 102 153)
HSL
hsl(210 50% 40%)
HWB
hwb(210 20% 40%)
HSV
hsv(210, 66.7%, 60%)
CMYK (단순 변환)
cmyk(66.7%, 33.3%, 0%, 40%)
OKLCH
oklch(49.93% 0.0987 250.43)
CSS 이름
steelblue (가장 가까운 색)
CSS 사용자 지정 속성
:root {
--color-hex: #336699;
--color-rgb: rgb(51 102 153);
--color-hsl: hsl(210 50% 40%);
--color-oklch: oklch(49.93% 0.0987 250.43);
}여기서 CMYK는 RGB에서 나온 단순 장치 변환입니다. 잉크, 종이, ICC 프로파일은 관여하지 않으므로 실제 인쇄 색과 일치하지 않습니다. 작업물을 보내기 전에 인쇄소에 프로파일을 요청하세요.
HSV와 CMYK는 CSS 색상 함수가 아닙니다. 이 페이지는 디자인 및 인쇄 도구를 위해 이 값을 보여 줍니다.
색상 변환기 사용 방법
- 1. 색상을 입력하세요. 상자가 받는 어떤 표기법으로든 붙여넣거나 입력하세요. 예를 들어
#336699,rgb(51 102 153),hsl(210 50% 40%),hwb(210 20% 40%),cmyk(67%, 33%, 0%, 40%)또는rebeccapurple같은 CSS 이름이 있습니다. 숫자만 쓰면(51 102 153) RGB로 읽습니다. - 2. 또는 선택기를 쓰세요. 선택기로 고른 색이 적용되며, 이미 입력해 둔 투명도는 그대로 유지됩니다.
- 3. 필요한 값을 복사하세요. 표기법마다 복사 버튼이 있고, CSS 복사를 누르면 HEX, RGB, HSL, OKLCH 값을 스타일시트용 사용자 지정 속성으로 받을 수 있습니다.
- 4. 이름을 확인하세요. 색이 CSS 키워드와 정확히 일치하면 그 키워드를 보여 주고(
rebeccapurple은 #663399입니다), 일치하지 않으면 가장 가까운 키워드를 보여 줍니다.
변환 방식
모든 변환은 브라우저가 화면에 그리는 색 공간인 sRGB를 거칩니다. HEX 코드는 16진수로 쓴 RGB입니다. 예를 들어 #336699에서 빨강 0x33은 51, 초록 0x66은 102, 파랑 0x99는 153입니다. 다른 표기법들은 같은 세 숫자를 다르게 배열할 뿐입니다.
- HSL은 색을 색상(색상환에서의 각도, 0–360°), 채도, 명도로 나타냅니다. 가장 큰 채널을 max, 가장 작은 채널을 min이라 하고 각각 255로 나누면, 명도는 (max + min) ÷ 2이고 채도는 (max − min) ÷ (1 − |2L − 1|)입니다. 색상은 어느 채널이 가장 큰지에 따라 정해집니다.
- HSV(HSB라고도 함)는 같은 색상을 쓰지만, 명도는 max로, 채도는 (max − min) ÷ max로 측정합니다. 대부분의 색상 선택기가 그리는 모델입니다.
- HWB는 순수한 색상 위에 흰색도(min)와 검정도(1 − max)를 얹은 값입니다. 명도나 음영을 생각할 때 HSL보다 다루기 쉽습니다. 흰색도와 검정도의 합이 100%에 이르면 결과는 회색입니다.
- CMYK는 단순 장치 변환으로 표시합니다. K = 1 − max이고, C, M, Y는 각각 (1 − 채널 − K) ÷ (1 − K)입니다. 잉크, 종이, 프로파일은 관여하지 않습니다.
- OKLCH는 Björn Ottosson의 OKLab 공간에서 명도, 채도, 색상을 나타내며, CSS Color 4는 이를
oklch()로 지원합니다. L의 같은 간격은 RGB나 HSL의 같은 간격보다 밝기 차이가 훨씬 고르게 느껴집니다.
한 색, 모든 표기법
HEX: #336699
RGB: rgb(51 102 153)
HSL: hsl(210 50% 40%)
HWB: hwb(210 20% 40%)
HSV: hsv(210, 66.7%, 60%)
CMYK: cmyk(66.7%, 33.3%, 0%, 40%)
OKLCH: oklch(49.93% 0.0987 250.43)
여기서 CMYK가 인쇄 색이 아닌 이유
화면은 빨강, 초록, 파랑 빛을 더해 색을 만들고, 인쇄기는 종이 위에 시안, 마젠타, 노랑, 검정 잉크를 올립니다. 두 색역은 서로 다르며, 실제로 찍히는 잉크의 색은 종이, 인쇄기, 그리고 이를 설명하는 ICC 프로파일에 따라 달라집니다. RGB만으로 계산하는 공식은 이런 정보를 알 수 없습니다. 그래서 위의 CMYK는 예측이 아니라 표기입니다. 예를 들어 순수한 화면 파랑 #0000ff는 시안 100%와 마젠타 100%가 되며, 이는 더 탁한 보라색으로 인쇄됩니다. 포스터나 인쇄 그림이라면 인쇄소에 RGB 원본을 주고 그들의 프로파일을 요청하거나, 디자인 프로그램에서 그 프로파일로 변환하세요.
반올림, 범위 제한, 투명도
- 반올림. HEX와
rgb()는 0에서 255 사이의 정수만 담습니다. 그래서hsl(210 50% 41%)로 입력한 색은 가장 가까운 8비트 값으로 반올림됩니다. 그 값을 다시 변환하면 HSL이 조금 달라지는데, 8비트 격자가 HSL보다 거칠기 때문입니다. - 범위를 벗어난 채널. 범위를 벗어난 값은 브라우저처럼 범위 안으로 맞춥니다. 예를 들어
rgb(300 0 0)는#ff0000이고, 음수 채널은 0이 됩니다. - 색상 단위.
deg,grad,rad,turn을 모두 받으며, 색상 각도는 순환합니다. −150°는 210°와 같습니다. - 투명도.
#rrggbbaa,#rgba,/ 50%모두 쓸 수 있습니다. 8자리 HEX에서 투명도는 8비트로 저장되므로 50%는80이 되고, 다시 읽으면 50.2%입니다.
자주 묻는 질문
- HEX를 RGB로 어떻게 변환하나요?
- 6자리 숫자를 두 자리씩 세 쌍으로 나누고, 각 쌍을 16진수로 읽으면 됩니다.
#336699는 33, 66, 99이며, 이는 51, 102, 153입니다. HEX 코드를 상자에 붙여넣으면 RGB 값이 HSL, HWB, HSV, CMYK, OKLCH와 함께 바로 나타납니다. - HSL과 HSV는 어떻게 다른가요?
- 둘 다 같은 색상 각도를 씁니다. HSL은 채도와 관계없이 명도가 최대일 때 흰색이 되므로, 중간값이 순수한 색입니다. HSV는 명도와 채도가 최대일 때 순수한 색이 되고, 채도가 0이면 흰색이 됩니다. HSL은 CSS의
hsl()로 지원되며, HSV(또는 HSB)는 대부분의 색상 선택기가 보여 주는 방식입니다. - CMYK 값은 인쇄에 정확한가요?
- 아닙니다. 잉크, 종이, ICC 프로파일 없이 RGB에서 단순 변환한 값이므로, 인쇄기가 실제로 찍을 색을 예측하는 것이 아니라 같은 숫자를 다른 방식으로 적은 것입니다. 밝은 화면 파랑이나 초록처럼 인쇄 색역을 벗어난 색은 더 탁하게 인쇄됩니다. 중요한 작업이라면 인쇄소의 프로파일을 사용하세요.
- 가장 가까운 CSS 이름은 무엇을 뜻하나요?
- CSS에는 148개의 색상 키워드가 정의되어 있습니다. 색이 정확히 그중 하나라면 조건 없이 보여 줍니다. 그렇지 않으면 OKLab에서 가장 가까운 키워드를 보여 줍니다. OKLab은 거리가 인지되는 차이와 맞도록 만들어진 색 공간입니다. 주석에서 색에 이름을 붙일 때는 유용하지만, 색상 코드를 대신하지는 않습니다.
- 왜 왕복 변환 후 HSL 값이 조금 달라지나요?
- HEX와 RGB는 각 채널을 256개 값 중 하나로 저장하는데, HSL은 이 격자와 일대일로 대응하지 않습니다. HSL로 입력한 색은 가장 가까운 RGB 값으로 반올림되며, 표시되는 HSL은 반올림된 값에서 계산됩니다. HEX 코드에서 시작하면 모든 변환은 표시된 정밀도까지 정확합니다.
- 입력한 색 데이터가 어디로 전송되나요?
- 전송되지 않습니다. 변환은 브라우저에서 이루어지는 단순한 계산이며, 입력한 내용은 업로드되거나 저장되지 않습니다.