HEX RGB 변환기

입력하는 즉시 HEX 값을 RGB(으)로 변환해 보세요. 무료로 빠르게 변환할 수 있으며, 단계별 예제와 자주 쓰이는 색상표도 제공됩니다.

변환 예제

HEX #ff5733 = RGB 255, 87, 51

ff → 255 · 57 → 87 · 33 → 51

색상 변환 원리

  • HEX 코드는 동일한 세 개의 RGB 채널을 16진수로 표현한 것입니다. 채널당 두 자리씩 사용하며, 범위는 00(0)부터 ff(255)까지입니다.

자주 쓰이는 색상의 HEX 및 RGB 값

색상HEXRGB
빨간색#ff0000255, 0, 0
주황색#ffa500255, 165, 0
노란색#ffff00255, 255, 0
초록색#0080000, 128, 0
청록색 (Cyan)#00ffff0, 255, 255
파란색#0000ff0, 0, 255
보라색#800080128, 0, 128
분홍색#ffc0cb255, 192, 203
갈색#a52a2a165, 42, 42
흰색#ffffff255, 255, 255
회색#808080128, 128, 128
검정색#0000000, 0, 0

모든 변환은 브라우저에서 직접 실행됩니다. 입력한 어떤 데이터도 BroBroGo 서버로 전송되지 않습니다.

자주 묻는 질문(FAQ)

HEX 값을 RGB(으)로 어떻게 변환하나요?

위에 HEX 값을 입력하거나 붙여넣으면 입력하는 즉시 RGB 값이 업데이트됩니다. 색상 선택 도구(스워치)를 사용해 시각적으로 색상을 고를 수도 있습니다.

변환 결과가 정확한가요?

네, 그렇습니다. HEX와 RGB는 동일한 세 개의 채널을 다르게 표현한 것뿐이므로 양방향 모두 오차 없이 정확하게 변환됩니다.

헥스(HEX) 코드가 RGB로 변환되는 원리

이 페이지는 **16진수(hexadecimal)**로 표현된 색상 코드를 10진수(decimal) RGB 채널로 변환합니다. HEX 코드는 여섯 자리(#RRGGBB) 또는 세 자리 축약형(#RGB)으로 주어집니다. 각 채널은 0에서 255 사이의 정수로 출력되며, 이는 8비트 디스플레이가 표현할 수 있는 256단계의 밝기 값입니다.

변환은 순수한 수학 연산입니다. 예를 들어 #4f46e5를 보겠습니다. 첫 번째 쌍 4f는 16진수로 4 × 16 + 15 = 79입니다. 두 번째 쌍 464 × 16 + 6 = 70입니다. 세 번째 쌍 e514 × 16 + 5 = 229입니다. 따라서 RGB 값은 (79, 70, 229)가 됩니다. 16진수는 자리값이 16의 거듭제곱이므로, 이 계산은 반올림이나 클리핑 없이 정확하게 역산 가능합니다.

세 자리 축약형(예: #abc)은 각 자릿수를 두 배로 늘려 여섯 자리로 확장한 뒤 변환합니다. 즉 #abc#aabbcc가 되고, RGB 값은 (170, 187, 204)가 됩니다. # 접두사는 생략 가능하며, 도구는 접두사 유무와 무관하게 올바른 HEX 코드를 인식합니다.

입력 규칙: 유효한 HEX 코드와 오류 처리

입력 필드에 HEX 값을 직접 입력하거나 내장 색상 선택기를 사용할 수 있습니다. 허용되는 형식은 다음과 같습니다.

형식 예시 설명
여섯 자리 + # #4f46e5 표준 CSS HEX
여섯 자리 (접두사 없음) 4f46e5 접두사 생략 가능
세 자리 축약 + # #abc 각 자릿수 2배로 확장
세 자리 축약 (접두사 없음) abc 접두사 없이 축약형

여덟 자리 HEX 코드(알파 채널 포함)는 이 페이지에서 처리하지 않습니다. 입력 형식이 일치하지 않으면 다음 오류 메시지가 표시됩니다.

"Enter a hex color like #4f46e5 or #abc."

이 오류는 사용자가 #12345678과 같은 8자리 코드나 #xyz 같은 무효한 문자를 입력했을 때 발생합니다. 도구는 엄격하게 6자리 또는 3자리 16진수(0-9, a-f, A-F)만 허용합니다.

변환 결과의 정확성과 동시 업데이트

RGB 값은 정수(integer)로만 출력됩니다. 이는 16진수에서 10진수로의 변환이 결정론적(deterministic)이기 때문입니다. 각 16진수 쌍은 0에서 255 사이의 유일한 정수에 매핑되며, 반올림이나 근사치가 개입할 여지가 없습니다.

한 가지 중요한 특징은 모든 색상 필드가 동시에 업데이트된다는 점입니다. RGB 값이 변경되면 HSL, HSV, CMYK, LAB 필드도 즉시 새 값으로 갱신됩니다. 반대로 HSL 필드 값을 편집하면 RGB와 HEX가 자동으로 재계산됩니다. 이는 브라우저 내에서만 이루어지며, 입력된 데이터가 외부로 전송되거나 저장되지 않습니다.

HEX와 RGB의 관계: 왜 여섯 자리 코드인가

HEX 코드는 RGB 채널을 16진수로 압축한 표기법입니다. 각 채널은 8비트(0-255)로 표현되며, 이는 16진수 두 자리(16^2 = 256)로 완전히 기술됩니다. 따라서 세 채널을 합쳐 여섯 자리면 모든 sRGB 색상을 표현할 수 있습니다.

CSS에서는 color: #ff6600color: rgb(255, 102, 0)완전히 동일하게 브라우저에 의해 해석됩니다. 브라우저 내부 엔진은 두 표기법 모두를 동일한 24비트 정수로 변환합니다. 디자이너가 HEX를 선호하는 이유는 문자 길이가 짧고 16진수 체계가 웹 역사에 깊이 뿌리박혀 있기 때문입니다.

반면, JavaScript의 Canvas API나 CSS의 rgba() 함수에서는 개별 채널 값을 숫자로 다뤄야 합니다. 이때 HEX to RGB 변환이 필요해집니다.

실무에서 HEX-to-RGB 변환이 필요한 경우

프론트엔드 개발자는 CSS HEX 코드를 JavaScript에서 사용할 수 있는 RGB 배열로 변환해야 합니다. 예를 들어 Canvas API의 fillStyle은 CSS 색상 문자열도 받지만, 픽셀 단위 조작(putImageData)이나 애니메이션 로직에서는 숫자 채널이 필요합니다.

디자이너는 브랜딩 가이드라인에서 HEX 사양을 받아 RGB 슬라이더를 사용하는 디자인 도구(피그마, 스케치, 포토샵)에 입력해야 할 때가 많습니다. HEX 값을 RGB로 변환하면 슬라이더를 정확히 조정할 수 있습니다.

게임 개발자나 디지털 아티스트는 색상을 수학적으로 조작해야 합니다. 예를 들어 특정 채널을 강조하거나, 색상 혼합(blend), 또는 명도 조정을 위해 0-255 범위의 숫자 값이 필요합니다.

학습자는 HEX와 RGB의 매핑을 통해 16진수 체계와 가산 색상 모델(additive color model)의 관계를 이해할 수 있습니다. 예를 들어 #000000이 RGB(0,0,0)으로 검은색이고, #ffffff가 RGB(255,255,255)로 흰색임을 직접 확인할 수 있습니다.

접근성과 명도 계산에 HEX 값 사용

웹 접근성(WCAG) 명도 대비를 계산할 때 RGB 채널 값이 필수적입니다. 상대 휘도(luminance) 공식은 각 sRGB 채널에 선형화(linearization)와 가중치 계수를 적용합니다.

예를 들어 #4f46e5의 경우, R=79, G=70, B=229를 다음 공식에 대입합니다.

  1. 각 채널을 0-1 범위로 정규화: R=79/255≈0.310, G=70/255≈0.275, B=229/255≈0.898
  2. 감마 보정을 역으로 적용하여 선형 값으로 변환
  3. 가중치 합산: L = 0.2126 × R_lin + 0.7152 × G_lin + 0.0722 × B_lin

이 계산을 통해 배경과 텍스트 색상의 대비비를 구할 수 있습니다. 이 페이지의 RGB 출력값은 이러한 접근성 평가의 첫 단계로 직접 사용할 수 있습니다.

자주 묻는 질문(FAQ)

세 자리 HEX 코드는 항상 여섯 자리로 확장 가능한가요?

네. CSS 사양에 따라 세 자리 축약형(#RGB)은 각 자릿수를 반복하여 여섯 자리(#RRGGBB)로 확장합니다. 예를 들어 #f60#ff6600이 됩니다. 이는 항상 적용되며 예외가 없습니다.

알파 채널이 포함된 여덟 자리 HEX 코드는 변환할 수 없나요?

이 페이지는 여섯 자리 또는 세 자리 HEX 코드만 처리합니다. 여덟 자리 코드(예: #4f46e580)는 오류로 처리되며, 알파 채널 변환이 필요한 경우 다른 도구를 사용해야 합니다.

RGB 값이 항상 정수인 이유는 무엇인가요?

16진수에서 10진수로의 변환은 정수 기반 연산이기 때문입니다. 각 16진수 쌍은 0에서 255 사이의 유일한 정수에 매핑되며, 소수점이 개입하지 않습니다. 따라서 결과는 항상 정확하고 반올림이 필요 없습니다.

변환된 RGB 값을 CSS에서 바로 사용할 수 있나요?

네. 예를 들어 #4f46e5를 변환한 rgb(79, 70, 229)는 CSS color: rgb(79, 70, 229);로 직접 사용 가능합니다. 브라우저는 이 값을 HEX와 동일하게 해석합니다.

여러 색상 필드가 동시에 업데이트되는 이유는 무엇인가요?

사용자가 하나의 색상 형식(HEX, RGB, HSL 등)을 변경하면, 다른 모든 형식이 일관된 색상을 반영하도록 하기 위함입니다. 이는 색상 간의 항등 관계를 유지하며, 사용자가 선호하는 형식으로 값을 쉽게 복사할 수 있게 합니다.

입력한 데이터가 서버로 전송되나요?

아닙니다. 모든 색상 변환은 사용자의 브라우저 내에서만 이루어집니다. 입력된 어떤 데이터도 업로드되거나 저장되지 않으며, 네트워크 요청이 발생하지 않습니다.