← 블로그 목록

웹 색상 완벽 가이드: HEX, RGB, HSL, 색상 팔레트까지

웹 디자인에 사용되는 색상 형식부터 색상 이론까지. 아름다운 색 조합 만드는 방법을 배우세요.

색상, 디자인의 가장 중요한 요소

색상은 사용자의 감정을 조절하고, 브랜드를 전달하고, 사용성을 결정하는 가장 강력한 도구입니다. 하지만 많은 개발자와 디자이너가 색상 시스템을 정확히 이해하지 못합니다.

이 가이드에서는 웹에서 사용되는 모든 색상 형식과, 아름다운 색 조합을 만드는 방법을 배웁니다.

1부: 색상 형식

1. HEX (16진수) - 가장 일반적

#RRGGBB 형식 (각 자리는 0-9, A-F)

#000000 → 검정색
#FFFFFF → 흰색
#FF0000 → 빨강색
#00FF00 → 초록색
#0000FF → 파랑색
#FF6B6B → 밝은 빨강

단축형

#RGB 형식 (각 자리가 2배)

#ABC → #AABBCC
#FFF → #FFFFFF
#123 → #112233

2. RGB (빨강, 초록, 파랑)

rgb(red, green, blue)
각 값: 0~255

rgb(0, 0, 0) → 검정색
rgb(255, 255, 255) → 흰색
rgb(255, 0, 0) → 빨강색
rgb(255, 107, 107) → 밝은 빨강

3. RGBA (RGB + 투명도)

rgba(red, green, blue, alpha)
Alpha 값: 0(투명) ~ 1(불투명)

rgba(255, 0, 0, 0.5) → 50% 투명한 빨강
rgba(0, 0, 0, 0.8) → 80% 불투명한 검정

4. HSL (색상, 포화도, 밝기)

hsl(hue, saturation, lightness)

Hue: 0~360도 (색상 각도)
Saturation: 0~100% (색상 진하기)
Lightness: 0~100% (밝기)

hsl(0, 100%, 50%) → 빨강
hsl(120, 100%, 50%) → 초록
hsl(240, 100%, 50%) → 파랑
hsl(0, 0%, 50%) → 회색 (포화도 0은 회색)

5. HSLA (HSL + 투명도)

hsla(hue, saturation, lightness, alpha)

hsla(0, 100%, 50%, 0.5) → 50% 투명한 빨강

6. 색상 이름 (Named Colors)

red, blue, green, black, white
gray, silver, navy, teal, olive
tomato, salmon, gold, khaki, plum
orangered, darkviolet, lightblue

CSS에서 직접 사용 가능:
color: tomato;

2부: 색상 형식 변환

HEX ↔ RGB

HEX: #FF6B6B → RGB: (255, 107, 107)

변환 방법:
FF (빨강) = 255
6B (초록) = 107 (16진수)
6B (파랑) = 107

역변환:
255 (10진수) = FF (16진수)
107 = 6B

RGB ↔ HSL

RGB(255, 0, 0) → HSL(0, 100%, 50%)

변환 과정:
1. R, G, B를 0~1 범위로 정규화
2. Max, Min 값 계산
3. Hue, Saturation, Lightness 도출

3부: 웹 안전 색상

웹 안전 색상 (Web Safe Colors)

과거 256색 디스플레이에서 안정적으로 표시되던 216개 색상:

#000000, #000033, #000066, ... #FFFFFF

패턴: 00, 33, 66, 99, CC, FF 조합
총 6 × 6 × 6 = 216가지

현대: 모든 디바이스가 true color를 지원하므로 더 이상 필요하지 않음

4부: 색상 이론

1. 보색 (Complementary)

색상 환에서 정반대에 있는 색

빨강(0°) ↔ 시안(180°)
초록(120°) ↔ 자주(300°)

사용: 대비, 강조 효과

2. 유사색 (Analogous)

색상 환에서 인접한 색들

빨강 + 주황 + 노랑
파랑 + 청록 + 초록

사용: 조화롭고 부드러운 효과

3. 삼색 조합 (Triadic)

색상 환에서 120° 간격의 색

빨강(0°) + 초록(120°) + 파랑(240°)
주황(30°) + 자주(150°) + 청록(270°)

사용: 생동감 있고 균형잡힌 조합

4. 명도와 채도

높은 명도 + 높은 채도: 생생한 색 → 주의, 강조
낮은 명도 + 높은 채도: 진한 색 → 고급스러움
낮은 명도 + 낮은 채도: 어두운 회색 → 배경

5부: 아름다운 색 조합 만들기

1. 단색 (Monochrome)

같은 색의 다양한 명도

원색: HSL(0, 100%, 50%) - 빨강
밝은 버전: HSL(0, 100%, 80%) - 연한 빨강
어두운 버전: HSL(0, 100%, 30%) - 진한 빨강

사용: 자연스럽고 세련된

2. 명도 기반 조합

주요색 (Primary): #FF6B6B
밝은색 (Light): #FFE0E0
어두운색 (Dark): #CC5555
중간색 (Medium): #FF9999

계층을 명확히 함

3. 따뜻한 색상 팔레트

주요색: #FF6B6B (빨강)
보조색: #FFA500 (주황)
강조색: #FFD700 (금색)
배경색: #FFF8DC (베이지)

느낌: 따뜻하고 에너지 넘침

4. 차가운 색상 팔레트

주요색: #4ECDC4 (청록)
보조색: #44A08D (초록)
강조색: #1B4965 (진한 파랑)
배경색: #F7F9FC (밝은 회색)

느낌: 차갑고 신뢰감 있음

6부: 색상 접근성

1. 색약자 고려

❌ 빨강과 초록만으로 구분
(색맹자는 구분 불가)

✅ 빨강 + 초록 + 패턴이나 텍스트로 추가 구분

2. 명도 대비 (Contrast Ratio)

WCAG 기준:

AA 등급 (권장): 4.5:1 (텍스트)
AAA 등급 (우수): 7:1 (텍스트)

예:
검정(#000) 텍스트 + 흰색(#FFF) 배경: 21:1 ✓
회색(#666) 텍스트 + 흰색(#FFF) 배경: 4.1:1 ? (작은 텍스트는 OK)

3. 색상만으로 정보 전달 금지

❌ 빨간 에러 메시지만 표시

✅ 빨간색 + "❌ 에러: 이메일을 입력하세요"

7부: CSS에서 색상 사용

배경색

background-color: #FF6B6B;
background-color: rgb(255, 107, 107);
background-color: hsl(0, 100%, 71%);
background-color: tomato;

글자색

color: #333;
color: rgb(51, 51, 51);
color: hsl(0, 0%, 20%);

투명도

background-color: rgba(255, 107, 107, 0.5);
color: hsla(0, 100%, 71%, 0.8);

Gradient

background: linear-gradient(to right, #FF6B6B, #4ECDC4);
background: radial-gradient(circle, #FF6B6B, #4ECDC4);

8부: 색상 도구

색상 팔레트 생성기

  • Coolors.co: 자동 생성 및 공유
  • Adobe Color: 색상 규칙 기반 생성
  • Paletton: 색상 이론 기반

색상 대비 확인

  • WebAIM Contrast Checker: 접근성 확인
  • Color Contrast Analyzer: 자세한 분석

색상 변환기

색상 변환기로 HEX, RGB, HSL 간 변환을 쉽게 하세요.

자주 하는 실수

1. 색상만으로 정보 전달

❌ 빨강 = 에러, 녹색 = 성공 (색약자는 모름)

✅ 색상 + 아이콘 + 텍스트

2. 과도한 색상 사용

❌ 7가지 이상의 주요 색 사용

✅ 주요색 1개 + 보조색 2개 + 중립색 2개

3. 명도 대비 무시

❌ 연한 회색 텍스트 + 흰색 배경

✅ 짙은 회색 또는 검정 텍스트

4. 브랜드 색상 강요

❌ 브랜드 색상이 접근성 기준 미달도 강제 사용

✅ 브랜드 색상 + 접근성 색상 조합

마무리

색상은 감정, 사용성, 접근성의 교차점입니다. 이론을 이해하고 도구를 활용하면, 누구나 아름답고 기능적인 색 조합을 만들 수 있습니다.

색상 선택기로 원하는 색을 찾고, 색상 변환기로 다양한 형식으로 변환해보세요!