색상 변환기/ HEX · RGB · HSL · HSV · CMYK

HEX, RGB, HSL, HSV, CMYK 색상 형식 간 변환 — 라이브 컬러 피커와 셰이드 팔레트 포함.

HEX
색조
HEX
#3b82f6
RGB
rgb(59, 130, 246)
HSL
hsl(217, 91%, 60%)
HSV
hsv(217, 76%, 96%)
CMYK
cmyk(76%, 47%, 0%, 4%)

이 도구가 도움이 되었나요?

코드 예제

CSS / Tailwind
/* CSS custom properties */
:root {
  --color-primary: #3b82f6;         /* HEX */
  --color-primary-rgb: 59, 130, 246; /* RGB values only */
}

/* Usage */
.button {
  background: var(--color-primary);
  color: hsl(210, 40%, 98%);        /* HSL */
  border: 1px solid rgb(59 130 246 / 30%); /* CSS 4 syntax */
}

/* Tailwind config */
// tailwind.config.js
colors: { brand: '#3b82f6' }
JavaScript
// HEX → RGB
function hexToRgb(hex) {
  const n = parseInt(hex.replace('#', ''), 16);
  return { r: (n >> 16) & 255, g: (n >> 8) & 255, b: n & 255 };
}

// RGB → HEX
function rgbToHex(r, g, b) {
  return '#' + [r, g, b]
    .map(v => v.toString(16).padStart(2, '0'))
    .join('');
}

// npm: chroma-js (full-featured)
import chroma from 'chroma-js';
chroma('#3b82f6').rgb()   // [59, 130, 246]
chroma('#3b82f6').hsl()   // [0.58, 0.89, 0.60]
chroma.scale(['white','#3b82f6']).colors(6)
Python
import colorsys

# HEX → RGB
hex_str = '#3b82f6'
rgb = tuple(int(hex_str[i:i+2], 16) for i in (1, 3, 5))
# (59, 130, 246)

# RGB → HSL (0-1 range)
r, g, b = (v / 255 for v in rgb)
h, l, s = colorsys.rgb_to_hls(r, g, b)
print(f"hsl({h*360:.0f}, {s*100:.0f}%, {l*100:.0f}%)")

# pip install colour-science
import colour
colour.sRGB_to_XYZ([0.23, 0.51, 0.96])
Swift / iOS
import SwiftUI

// HEX to Color
extension Color {
  init(hex: String) {
    let hex = hex.trimmingCharacters(
      in: .alphanumerics.inverted)
    var int = UInt64()
    Scanner(string: hex).scanHexInt64(&int)
    let r = Double((int >> 16) & 0xFF) / 255
    let g = Double((int >> 8)  & 0xFF) / 255
    let b = Double( int        & 0xFF) / 255
    self.init(red: r, green: g, blue: b)
  }
}

Color(hex: "#3b82f6")

자주 묻는 질문

HEX, RGB, HSL의 차이점은?
HEX(16진수)는 웹 개발에서 가장 흔한 색상 형식으로, 예를 들어 #FF5733처럼 표기합니다. 본질적으로 RGB의 16진수 표현입니다. RGB는 빨강, 초록, 파랑 채널의 강도(0-255)를 직접 지정합니다. HSL은 색상(Hue), 채도(Saturation), 명도(Lightness)를 사용하여 색상 조정이 직관적입니다.
HSV와 HSL의 차이점은?
HSV(색상, 채도, 명도/Value)와 HSL(색상, 채도, 밝기/Lightness)는 모두 인간 시각에 맞춘 색상 모델입니다. 주요 차이: HSV에서 V=100%는 가장 밝은 순색이고, HSL에서 L=50%가 가장 선명한 색입니다. L=100%는 흰색, L=0%는 검정입니다. Photoshop과 Figma는 HSB(HSV)를, CSS는 HSL을 사용합니다.
CMYK란? 웹에서 왜 사용하지 않나요?
CMYK는 인쇄 업계의 색상 모델로, C(시안), M(마젠타), Y(옐로우), K(블랙) 4색 잉크의 감산 혼합입니다. 웹과 화면은 가산 혼합 RGB(빛의 삼원색)를 사용하므로 CSS는 CMYK를 기본 지원하지 않습니다. 디자이너는 인쇄 전 RGB에서 CMYK로 변환해야 합니다.
CSS에서 HEX 색상을 사용하려면?
CSS는 세 가지 표기법을 지원합니다: 6자리 #RRGGBB(예: #3b82f6), 3자리 축약형 #RGB(예: #38f = #3388ff), 투명도 포함 8자리 #RRGGBBAA(예: #3b82f680은 50% 투명도). 최신 브라우저는 CSS Color Level 4의 color(srgb ...) 구문도 지원합니다.
색상 대비는 어떻게 계산하나요?
WCAG(웹 콘텐츠 접근성 지침)에서는 본문 텍스트와 배경의 대비율이 최소 4.5:1(AA) 또는 7:1(AAA)을 권장합니다. 대비는 상대 휘도로 계산됩니다: RGB 값을 선형화한 후 (L1 + 0.05) / (L2 + 0.05)로 비율을 구합니다.
색상 계열(Shades)은 어떻게 생성되나요?
본 도구의 색상 계열은 원래 색의 색상(H)과 채도(S)를 고정한 채 HSL 명도(L)를 변경하여 6가지 밝기 변형을 생성합니다. Tailwind CSS의 컬러 팔레트 생성 방식과 유사하며, 브랜드 색상 체계를 빠르게 구축하는 데 유용합니다.