한국어

색상 변환기 — HEX RGB HSL OKLCH 변환과 WCAG 대비 검사

HEX·RGB·HSL·OKLCH 상호 변환, 미리보기, WCAG 명도 대비 검사

브라우저에서 처리 · 서버로 전송되지 않음

색상을 인식했어요: #1e90ff

HEX#1e90ff
RGBrgb(30, 144, 255)
HSLhsl(209.6, 100%, 55.9%)
OKLCHoklch(0.652 0.1901 253.21)

WCAG 대비

흰색 배경 위 Aa

3.24:1

  • AA 일반 글자 (4.5)미달
  • AA 큰 글자 (3)통과
  • AAA 일반 글자 (7)미달
  • AAA 큰 글자 (4.5)미달
검정 배경 위 Aa

6.49:1

  • AA 일반 글자 (4.5)통과
  • AA 큰 글자 (3)통과
  • AAA 일반 글자 (7)미달
  • AAA 큰 글자 (4.5)통과

소개

CSS 색을 쓰다 보면 HEX는 #1e90ff, 디자인 도구는 RGB, 팔레트는 HSL이나 OKLCH로 달라 매번 바꿔 써야 합니다. 이 도구는 어느 형식으로 입력해도 HEX, RGB, HSL, OKLCH를 한꺼번에 보여 주고 색 미리보기와 흰색·검정 배경 대비 검사까지 해 줍니다.

사용법

  1. 입력 칸에 색을 적거나 오른쪽 색상 선택기로 고릅니다. 예: #1e90ff, rgb(30 144 255), hsl(210 100% 56%), oklch(0.65 0.19 250).
  2. 아래에서 HEX, RGB, HSL, OKLCH 값을 확인하고 필요한 형식을 복사합니다.
  3. 대비 영역에서 흰색 배경과 검정 배경 위에서의 대비 비율과 AA·AAA 통과 여부를 봅니다. 실제로 쓸 배경색이 따로 있으면 배경색 칸에 적어 그 조합의 대비도 확인하세요.
  4. 투명도가 있는 값은 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% 검정은 흰 배경 위에서는 회색으로 보이므로 그 회색 기준으로 계산합니다.

필요한 도구가 있나요?