색상 변환기 — HEX RGB HSL OKLCH 변환과 WCAG 대비 검사
HEX·RGB·HSL·OKLCH 상호 변환, 미리보기, WCAG 명도 대비 검사
브라우저에서 처리 · 서버로 전송되지 않음
색상을 인식했어요: #1e90ff
#1e90ffrgb(30, 144, 255)hsl(209.6, 100%, 55.9%)oklch(0.652 0.1901 253.21)WCAG 대비
3.24:1
- AA 일반 글자 (4.5)미달
- AA 큰 글자 (3)통과
- AAA 일반 글자 (7)미달
- AAA 큰 글자 (4.5)미달
6.49:1
- AA 일반 글자 (4.5)통과
- AA 큰 글자 (3)통과
- AAA 일반 글자 (7)미달
- AAA 큰 글자 (4.5)통과
소개
CSS 색을 쓰다 보면 HEX는 #1e90ff, 디자인 도구는 RGB, 팔레트는 HSL이나 OKLCH로 달라 매번 바꿔 써야 합니다. 이 도구는 어느 형식으로 입력해도 HEX, RGB, HSL, OKLCH를 한꺼번에 보여 주고 색 미리보기와 흰색·검정 배경 대비 검사까지 해 줍니다.
사용법
- 입력 칸에 색을 적거나 오른쪽 색상 선택기로 고릅니다. 예:
#1e90ff,rgb(30 144 255),hsl(210 100% 56%),oklch(0.65 0.19 250). - 아래에서 HEX, RGB, HSL, OKLCH 값을 확인하고 필요한 형식을 복사합니다.
- 대비 영역에서 흰색 배경과 검정 배경 위에서의 대비 비율과 AA·AAA 통과 여부를 봅니다. 실제로 쓸 배경색이 따로 있으면 배경색 칸에 적어 그 조합의 대비도 확인하세요.
- 투명도가 있는 값은 HEX는 8자리, 나머지는
rgba(),hsla(),/ 알파형식으로 나옵니다.
기준
- 입력은 HEX(3·4·6·8자리,
#생략 가능), CSS Color 4의 색 이름 148개(tomato,rebeccapurple등, 대소문자 무관)와transparent,rgb()/rgba()(쉼표 또는 공백 문법, % 가능),hsl()/hsla(),oklch()를 받습니다. - OKLCH 변환은 Björn Ottosson이 2020년에 발표한 OKLab 정의의 표준 행렬을 씁니다. sRGB를 선형으로 바꾼 뒤 LMS 값의 세제곱근을 거쳐 L, a, b를 얻고, C는 a·b의 크기, H는 각도입니다.
- 출력 정밀도는 HSL이 소수 첫째 자리, OKLCH가 L·C 소수 넷째 자리와 H 소수 둘째 자리라서 HEX로 되돌렸을 때 값이 그대로 돌아옵니다.
- sRGB 범위를 벗어난 OKLCH 입력은 채널을 0~255로 잘라 처리하고 안내 문구를 보여 줍니다.
- 대비는 WCAG 2.x의 상대 휘도와 대비 공식을 따릅니다. 표시 값은 소수 둘째 자리까지 반올림하지만 통과 여부는 반올림 전 값으로 판단해, 4.499가 4.5로 보이며 통과하는 일은 없습니다. 직접 지정한 배경이 반투명하면 흰 화면 위에 먼저 겹친 뒤 계산합니다.
예시
| 입력 | 비교 결과 |
|---|---|
#ffffff 와 검정 |
21:1, 모든 등급 통과 |
#777777 흰 배경 |
약 4.48:1, AA 일반 글자 미달, 큰 글자는 통과 |
#ff0000 |
oklch(0.628 0.2577 29.23) |
#ffffff |
oklch(1 0 0) |
참고
- 본문 글자에는 AA 일반 글자(4.5:1)를 최소 기준으로 삼는 것이 좋고, 18pt 이상이거나 14pt 굵은 큰 글자는 3:1이면 AA입니다.
- 색상만으로 정보를 구분하지 말고 아이콘이나 글자를 함께 쓰세요. 대비 검사는 글자와 배경의 밝기 차이만 확인합니다.
자주 묻는 질문
OKLCH는 왜 쓰나요?
HSL은 같은 명도 값이라도 색상마다 실제로 보이는 밝기가 달라 팔레트를 만들기 까다롭습니다. OKLCH는 사람의 지각에 맞춰 설계된 OKLab 색 공간을 기반으로 해서 L(밝기), C(채도), H(색상각)를 바꿀 때 보이는 변화가 비교적 고르게 나타납니다. CSS의 oklch() 함수로 바로 쓸 수 있습니다.
OKLCH 값이 sRGB 범위를 벗어나면 어떻게 되나요?
화면에 보이는 sRGB로 나타낼 수 없는 값이면 RGB 채널을 0~255로 잘라(clamp) 가장 가까운 색으로 바꾸고, 범위를 벗어났다는 안내를 띄웁니다. 채도를 줄여 가며 맞추는 방식(gamut mapping)이 아니라 단순 잘라내기라서 원래 의도한 색과 조금 다를 수 있습니다.
대비 비율은 어떻게 계산하나요?
WCAG 2.x의 상대 휘도 공식으로 계산합니다. 흰색과 검정 같은 두 색의 (밝은 쪽 휘도 + 0.05) ÷ (어두운 쪽 휘도 + 0.05)이며 1:1부터 21:1까지입니다. 일반 글자는 AA가 4.5:1 이상, AAA가 7:1 이상이고 큰 글자는 각각 3:1, 4.5:1 이상입니다.
투명도가 있는 색은 대비를 어떻게 보나요?
해당 배경(흰색 또는 검정) 위에 합성한 색으로 대비를 계산합니다. 불투명도 50% 검정은 흰 배경 위에서는 회색으로 보이므로 그 회색 기준으로 계산합니다.