Skip to content

RGB HEX 변환기

브라우저에서 RGB를 HEX로 변환합니다. 0-255 정수, 백분율, rgba 알파를 모두 지원합니다. 무료, 즉시, 가입 불필요, 색상 값은 페이지를 벗어나지 않습니다.

트래킹 없음 브라우저 실행 무료
모든 색상 변환은 브라우저 안에서 로컬로 실행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
색역: sRGB Display P3 Rec2020
명암비 대비:
AA AA-Lg AAA AAA-Lg · APCA Lc
색각 이상 시뮬레이션 (8가지 유형)
Protanopia (적색맹)
Deuteranopia (녹색맹)
Tritanopia (청색맹)
Achromatopsia (전색맹)
Protanomaly (적색약)
Deuteranomaly (녹색약)
Tritanomaly (청색약)
Achromatomaly (부분 색각 이상)
Tints / Shades / Tones / Harmonies

틴트

셰이드

조화 색상

코드로 복사
자주 쓰는 색상 레퍼런스
CSS Color 4 적합성, 정수 + 백분율 + 알파 RGB 입력 지원, 8자리 HEX 알파 내보내기 정확성, 그리고 0-255 범위 전반에 걸친 RGB와 HEX 사이 왕복의 비트 단위 정확성에 대해 리뷰되었습니다. — Go Tools 엔지니어링 팀 · May 27, 2026

RGB HEX 변환기란 무엇인가요?

RGB HEX 변환기는 세 개의 0-255 정수 채널 값(`rgb(255 87 51)`)을 같은 색상을 인코딩하는 6글자 HEX 코드(`#FF5733`)로 바꿔 주는 소형 유틸리티입니다. RGB와 HEX는 1990년대 후반 이후 모든 웹 스타일시트, 디자인 도구, 이미지 픽셀 파이프라인이 그 주위에 세워진 두 형식이며, 둘 사이의 변환은 색상 도구에서 가장 흔한 단일 연산입니다. 역방향과 짝을 이뤄, 바로 이 변환은 웹 상의 모든 Figma 플러그인, CSS 프리프로세서, 디자인 토큰 빌드, 색상 피커 UI에서 하루에 수백만 번 실행됩니다. RGB는 하드웨어 API, canvas 그리기 호출, 이미지 버퍼 조작, OpenGL 색상 속성, 그리고 대부분의 그래픽 SDK가 네이티브로 보고하는 채널 주소 지정 형식입니다. 세 개의 별도 0-255 정수로, LCD의 빨강·초록·파랑 서브픽셀이나 CRT의 형광체에 직접 매핑됩니다. HEX는 Figma, Sketch, Photoshop, 그리고 모든 브랜드 가이드라인 PDF가 출력으로 기대하는 간결한 복사·붙여넣기 형식입니다. CSS 사용자 정의 속성에 편하게 들어맞는 6글자 16진수 문자열이며, 눈이 패턴을 익히면 한눈에 읽힙니다. 둘 사이의 변환은 기계적입니다. 각 정수를 2자리 16진수 쌍으로 변환하고 앞에 `#`을 붙여 이어 붙이면 됩니다. 본 도구는 입력하는 동안 그 변환을 실시간으로 실행하며 클릭할 "변환" 버튼이 없고, 다른 모든 흔한 색상 형식(HSL, OKLCH, OKLAB, HSV, HWB, CMYK, 그리고 148개의 CSS 이름 있는 색상)을 HEX 출력과 함께 무료로 노출합니다.

**HEX 형식 자체를 좀 더 자세히 볼 가치가 있습니다.** 표준 CSS HEX는 네 가지 법적 형태로 나옵니다. 정규 6자리 형식 `#RRGGBB`는 세 개의 8비트 채널을 6개의 16진수 자릿수로 묶습니다. 총 16,777,216 색상(256³)입니다. 3자리 축약 `#RGB`은 압축 형식으로, 각 자리가 복제되어 6자리 등가물을 만듭니다. `#F73`은 `#FF7733`으로 확장되며, *`#000F73`이 아닙니다*(이는 CSS 색상 구문에서 가장 자주 잘못 이해되는 규칙 중 하나입니다). 8자리 알파 형식 `#RRGGBBAA`은 0-`FF` 척도의 2자리 알파 쌍을 덧붙입니다. `00`은 완전 투명, `FF`는 완전 불투명입니다. 4자리 알파 축약 `#RGBA`은 알파 자리를 포함해 각 자리를 복제하는 방식으로 3자리 축약을 거울처럼 따라갑니다. HEX는 대소문자 무관입니다. `#ff5733`과 `#FF5733`은 동일하게 파싱되지만, 대부분의 브랜드 가이드라인은 대소문자 관례를 정해 그것을 고수합니다. 진수 16 선택은 편리합니다. HEX 자릿수 하나 = 니블 = 4비트, 두 자릿수 = 바이트 = 0-255이므로, 단일 2자리 쌍이 패딩 낭비 없이 8비트 채널 하나에 깔끔하게 매핑됩니다.

변환 수학은 양방향 모두 깔끔합니다. **RGB → HEX**: 각 채널에 대해 `value.toString(16).padStart(2, '0')`을 호출해 2자리 HEX 쌍을 얻습니다(`padStart`가 중요합니다. 빠뜨리면 채널 값 5가 `'05'`가 아니라 `'5'`로 직렬화되어 잘못된 HEX가 됩니다). 그런 다음 이어 붙입니다. 알파 포함 RGB(`rgb(R G B / A)` 또는 `rgba(R, G, B, A)`)의 경우, 0-1 알파 부동소수점을 255로 곱하고, 가장 가까운 정수로 반올림하고, 네 번째 쌍으로 HEX 인코딩한 뒤 8자리 형식을 내보냅니다. **HEX → RGB**는 역방향입니다. 6자리 HEX `#RRGGBB`를 세 개의 2자리 16진수 숫자로 파싱합니다. `parseInt(hex.slice(1, 3), 16)` 등을 통해. 양방향 모두 비트 단위로 정확합니다. 16² = 256으로 각 채널이 차지하는 0-255 바이트 범위와 정확히 일치하므로, RGB → HEX → RGB 왕복은 원래 정수를 부동소수점 드리프트 없이 한 글자도 다르지 않게 만들어 냅니다.

**CSS에서 왜 RGB보다 HEX인가요?** 세 가지 이유가 있습니다. HEX가 더 짧습니다. `#FF5733`은 7글자, `rgb(255, 87, 51)`은 16글자입니다. CSS 사용자 정의 속성이나 Tailwind 설정 객체에 묶일 때 의미 있는 차이입니다. HEX는 공백 버그가 없습니다. CSS 미니파이어, JSON 직렬화기, 명령줄 도구 모두 괄호 매칭이나 콤마 이스케이프 걱정 없이 7글자 문자열을 깔끔하게 다룹니다. 그리고 HEX는 디자인 도구 생태계 전체가 네이티브로 사용하는 형식입니다. Figma의 색상 패널, Sketch의 스와치, Photoshop의 색상 피커, 모든 브랜드 가이드라인 PDF, 모든 Dribbble 샷의 색상 호출까지 모두 기본으로 HEX를 내보냅니다. 디자이너에서 개발자로 가는 복사·붙여넣기 경로는 HEX 모양입니다. RGB → HEX 변환이 그토록 잦은 이유입니다. 개발자는 디자인 도구가 아닌 곳에서 RGB를 받고(canvas 호출, 스크린샷 eyedropper, 하드웨어 센서), 나머지 스택이 기대하는 HEX 형식으로 바꿔야 합니다.

본 도구의 RGB → HEX 작업 흐름은 동일한 기반 통합 색상 변환기를 공유하는 5개 스포크 패밀리의 한 방향입니다. 전용 통합 색상 변환기가 허브입니다. 9가지 형식을 동시에 편집 가능한 상태로 보여 주며, 작업 흐름이 단순한 RGB와 HEX 이상을 필요로 할 때 적절한 도구입니다. 단방향 스포크는 특정 Google 검색 의도를 겨냥합니다. 반대 방향용 HEX RGB 변환기(Figma에서 가져온 HEX에서 0-255 정수를 뽑아내는 데), 레거시 디자이너 인지 공간용 HEX HSL 변환기, 최신 지각 균일 디자인 시스템용 HEX OKLCH 변환기(Tailwind v4와 shadcn 모두 이제 OKLCH를 기본값으로 둡니다), 그리고 인쇄 시안 근사용 HEX CMYK 변환기. 다섯 스포크와 허브 모두 동일한 파싱 엔진과 동일한 변환 수학을 공유하므로, 패밀리 전체에서 결과가 동일함이 보장됩니다. 모든 변환은 브라우저 안에서 로컬로 실행됩니다. RGB 값은 결코 업로드되지도, 로그에 남지도, 입력 동안 어떤 네트워크 요청도 발사되지 않습니다. 개발자 도구에서 확인할 수 있습니다.

// Serialize {r, g, b, alpha} → canonical hex string
// Emits 6-digit #RRGGBB when alpha === 1, 8-digit #RRGGBBAA otherwise.
function formatHex({ r, g, b, alpha = 1 }) {
  const pair = (v) => Math.round(v).toString(16).padStart(2, '0').toUpperCase();
  const rgb = pair(r) + pair(g) + pair(b);
  if (alpha >= 1) return `#${rgb}`;
  const a = pair(alpha * 255);
  return `#${rgb}${a}`;
}

console.log(formatHex({ r: 255, g: 87, b: 51 }));              // '#FF5733'
console.log(formatHex({ r: 59, g: 130, b: 246 }));             // '#3B82F6'
console.log(formatHex({ r: 255, g: 87, b: 51, alpha: 0.5 })); // '#FF573380'
console.log(formatHex({ r: 5, g: 0, b: 0 }));                  // '#050000' — padStart matters

주요 기능

모든 RGB 입력 형태를 동일하게 파싱

최신 공백 구분 `rgb(255 87 51)`, 레거시 콤마 구분 `rgb(255, 87, 51)`, 백분율 채널 `rgb(100% 34% 20%)`, 슬래시를 통한 최신 알파 `rgb(255 87 51 / 0.5)`, 그리고 레거시 `rgba(255, 87, 51, 0.5)` 모두 동일하게 파싱됩니다. 파서는 HEX 직렬화 전에 모든 입력 형태를 동일한 내부 RGB 튜플로 정규화하므로, 소스가 만들어 내는 형태가 무엇이든(Photoshop의 정수 트리플, 스타일시트의 `rgba()`, Canvas API 튜플) 수작업 재포맷 없이 그대로 붙여넣을 수 있습니다.

대문자 6자리 또는 8자리 형식의 HEX 출력

HEX 입력란은 불투명 색상에 `#FF5733`, 알파 포함 색상에 `#FF573380`(8자리 형식)으로 값을 노출합니다. 대부분의 브랜드 가이드라인과의 일관성을 위해 기본적으로 대문자입니다. 스타일 가이드가 요구한다면 기계적인 치환 한 번으로 소문자로 뒤집을 수 있습니다. 두 형식 모두 유효한 CSS이며 모든 에버그린 브라우저에 탑재됩니다. 8자리 알파 형식은 2018년에 모든 주요 브라우저에 도입되었습니다. IE 11 폴백을 위해서는 레거시 `rgba()` 형식이 여전히 RGB 입력란에 그대로 있습니다.

비트 단위 정확, 부동소수점 드리프트 없음

RGB → HEX는 정수 대 문자열 수학입니다. `value.toString(16).padStart(2, '0')`은 부동소수점 개입 없이 정규 2자리 HEX 쌍을 만들어 냅니다. 역방향 (`parseInt(pair, 16)`)도 마찬가지로 정확합니다. RGB → HEX → RGB → HEX 왕복은 원래 입력을 한 글자도 다르지 않게 무한히 만들어 냅니다. 내부 OKLCH 단일 사실 출처는 RGB → HSL → OKLAB → HEX 같은 더 긴 사슬조차 비트 안정적으로 유지된다는 뜻이며, HSL을 거치는 레거시 변환기는 이를 보장하지 못합니다.

알파 채널을 깔끔하게 인코딩

알파 포함 RGB (`rgb(255 87 51 / 0.5)` 또는 `rgba(255, 87, 51, 0.5)`)는 자동으로 8자리 HEX 형식 (`#FF573380`)을 내보냅니다. 알파 부동소수점은 HEX 인코딩 전에 255로 곱해지고 가장 가까운 정수로 반올림됩니다. `0.5 × 255 = 128 = 0x80`. 알파가 1과 같을 때는 스타일시트에 후행 `FF` 쌍이 새지 않도록 출력이 6자리 HEX로 되돌아갑니다. `rgba()` 안의 알파 값이 최신 8자리 HEX 형식으로 왕복해야 하는 디자인 토큰 이주에 유용합니다.

다른 여덟 가지 형식이 동시에 표시

붙여넣은 동일한 RGB가 HSL, HSV, HWB, OKLCH, OKLAB, CMYK, 그리고 가장 가까운 CSS 이름 있는 색상도 함께 채웁니다. 같은 페이지에서 한눈에 모두 보입니다. RGB → HEX 한 방향에 묶이지 않습니다. 팀원이 Tailwind v4 토큰용 OKLCH 트리플, 문서 산문용 가장 가까운 이름 있는 색상, 또는 인쇄 견적용 CMYK 근사를 필요로 한다면, 값들은 자체 복사 버튼과 함께 이미 거기에 있습니다.

WCAG + APCA 명암비 내장

RGB 튜플을 통과시키면 명암비 행이 즉시 WCAG 2.1 (규제 하한선: 본문 텍스트 4.5:1, AAA 7:1)과 APCA Lc(WCAG 3의 후속 제안: 본문 텍스트 목표 `|Lc| ≥ 75`)를 사용해 흰색과 검은색에 대해 점수를 매깁니다. RGB 튜플을 HEX로 막 변환했고, 결과 브랜드 색상이 출시 전에 본문 텍스트 색상으로 실제로 읽기 쉬운지 확인하고 싶을 때 유용합니다.

CSS / Tailwind v4 / SwiftUI / Compose / Flutter로 복사

피커 아래의 코드로 복사 섹션은 현재 색상을 다섯 플랫폼용 즉시 붙여넣기 가능 스니펫으로 바꿔 줍니다. CSS 사용자 정의 속성 (`--color-brand: #FF5733`), Tailwind v4 `@theme` 토큰, SwiftUI `Color(red:green:blue:)` 리터럴, Jetpack Compose `Color(0xFFFF5733)` 상수, Flutter `Color(0xFFFF5733)`. 각 플랫폼이 기대하는 정확한 구문으로, iOS 에셋 카탈로그, Android 테마 파일, 또는 Flutter `ThemeData`에 바로 떨어뜨릴 수 있습니다.

100% 브라우저 내 실행 — 업로드 없음, 추적 없음

모든 RGB 파싱, HEX 직렬화, 명암비 점수 산출, 팔레트 생성이 브라우저 안에서 로컬로 실행됩니다. RGB 값은 결코 전송되지도, 어떤 서버에 로그로 남지도, 분석되지도 않습니다. 입력하는 동안 네트워크 요청이 전혀 발생하지 않습니다. 개발자 도구에서 확인할 수 있습니다. 발표 전 브랜드 팔레트, 사내 디자인 토큰, NDA 하의 초안 목업, 그 외 기밀 색상 작업에 안전합니다.

정확한 색상을 위한 공유 가능 URL 해시

현재 색상은 변경 시마다 자동으로 URL 해시에 `#hex=ff5733` 형태로 인코딩됩니다. URL을 복사해 Slack 스레드나 GitHub 이슈에 붙여넣으면, 그것을 여는 모든 사람이 동일한 RGB 튜플의 동일한 HEX 결과에 도달합니다. 해시는 주소창 안에만 존재하고 서버로 전송되지 않으므로(브라우저는 URL 프래그먼트를 HTTP 요청에 담지 않습니다), 링크를 공유해도 어떤 제3자에게도 색상이 새지 않습니다.

RGB HEX 변환기 대안 비교

RapidTables RGB to Hex

브라우저 도구

"rgb to hex"에 대한 기본 Google 결과입니다. 세 개의 RGB 숫자 박스 입력과 HEX 출력의 단방향 폼이며 다른 형식은 표시되지 않습니다. 검색에서 도착해 일회성 조회에 유용합니다. OKLCH, 명암비 검사, 색역 감지, 알파 처리, 다중 형식 동시 뷰가 없습니다. 본 도구는 가장 단순한 단일 변환 사례를 제외한 모든 축에서 앞섭니다.

ColorHexa

브라우저 도구

오랫동안 운영된 색상별 SEO 페이지로, 어떤 RGB를 조회하든 변환·팔레트·조화·그래디언트 등 깊은 메타데이터를 제공합니다. UI가 오래되었고(2010년대 초), OKLCH 지원·APCA 명암비·광색역 처리가 없습니다. Google을 통한 특정 색상의 SEO 발견에는 강하지만, 통합 입력란 UX로 입력하는 편이 더 빠른 적극적 변환 작업 흐름에서는 약합니다.

W3Schools RGB Calculator

브라우저 도구

교육 중심 페이지의 초보자 친화적 HEX/RGB/HSL 토글로, 검색 결과에 어디에나 등장합니다. OKLCH가 없고, rgba 너머의 알파 처리가 없으며, 고급 기능이 없습니다. W3Schools 해설 콘텐츠 옆의 레퍼런스로 유용합니다. 본 도구는 다른 모든 축에서 앞섭니다. 더 많은 형식, 지각 수학, 색역 + 명암비 + CVD 기능, Tailwind v4 / SwiftUI / Compose / Flutter용 최신 코드 내보내기.

브라우저 개발자 도구 색상 피커

내장 브라우저 기능

Chrome, Firefox, Safari 개발자 도구 모두 CSS 패널의 색상 스와치를 클릭하면 RGB를 HEX로 인라인 변환하는 색상 피커를 탑재합니다. 무료, 설치 불필요, 항상 사용 가능. OKLCH가 없고, 공유 가능한 URL이 없으며, 비웹 플랫폼(SwiftUI, Compose)용 코드 내보내기가 없습니다. 이미 CSS를 디버깅 중이라면 개발자 도구를, 크로스 플랫폼 출력이 필요하다면 본 도구를 잡으십시오.

macOS Digital Color Meter

macOS 네이티브 앱

OS X 이후 모든 Mac에 번들로 제공됩니다. 어떤 픽셀 위에 올려놓아도 RGB / HEX / 선형 값을 읽어 줍니다. 화면 위 어떤 앱에서든 픽셀 색상을 샘플링하기에 훌륭합니다. 붙여넣은 RGB 트리플을 변환하지는 않으며, 변환기가 아니라 화면 샘플러입니다. 브라우저 내부에서 동일한 화면 샘플링 기능을 쓰려면 본 도구의 피커에 있는 EyeDropper 버튼(Chromium 브라우저만 해당)을 사용하십시오.

ConvertingColors

브라우저 도구

많은 공간(HEX, RGB, HSL, HSV, CMYK, XYZ, CIELAB)을 다루는 색상별 SEO 페이지입니다. 최신 OKLCH 지원과 통합 입력란 편집 UX가 없습니다. 자동 생성된 콘텐츠 페이지가 콘텐츠 팜 같은 느낌이지만 변환 데이터 자체는 정확합니다. Google을 통한 개별 색상 메타데이터 탐색에는 좋고, 본 도구는 적극적 작업 흐름에 더 빠릅니다.

RGB HEX 변환 예시

CSS rgb() 입력 → SwiftUI용 HEX

rgb(255 87 51)

HEX 출력: `#FF5733`. 전형적인 크로스 플랫폼 작업 흐름입니다. CSS 스타일시트가 최신 `rgb()` 구문으로 브랜드 색상을 선언하고, iOS 팀은 그것을 SwiftUI `Color(hex:)` 확장이나 에셋 카탈로그에 떨어뜨릴 HEX가 필요한 상황입니다. 각 채널이 독립적으로 변환됩니다. `255 → FF`, `87 → 57`, `51 → 33`이 앞에 `#`이 붙은 채로 이어 붙여집니다. 동일한 HEX는 Android Compose, Flutter, Figma에도 그대로 붙여넣을 수 있습니다. 2026년에도 HEX는 크로스 플랫폼 색상 전달의 공통어입니다.

디자이너의 Photoshop RGB 정수 → CSS 변수

rgb(59 130 246)

HEX 출력: `#3B82F6`. Adobe의 컬러 피커는 RGB를 세 개의 0-255 정수로 보고합니다 (Photoshop, Illustrator, InDesign에서). 프런트엔드 팀은 그것을 `--color-brand: #3B82F6` 같은 CSS 사용자 정의 속성에 떨어뜨릴 HEX가 필요합니다. 이 특정 트리플은 Tailwind의 `blue-500`입니다. `59 = 0x3B`, `130 = 0x82`, `246 = 0xF6`. 여기에 한 번 붙여넣으면 일치하는 HEX와 Tailwind v4 토큰 이주용 OKLCH 트리플이 한 단계로 생성됩니다.

알파 포함 RGB → 8자리 HEX

rgb(255 87 51 / 0.5)

HEX 출력: `#FF573380`. 알파 부동소수점을 255로 곱하고(`0.5 × 255 = 127.5`, 반올림하여 128), 2자리 HEX 쌍(`128 = 0x80`)으로 변환해 RGB HEX 뒤에 덧붙입니다. 알파 포함 CSS 8자리 HEX는 2018년에 모든 에버그린 브라우저에 네이티브로 도입되었습니다 (Chrome 62, Firefox 49, Safari 9.1, Edge 79). 2018년 이전 브라우저 지원이 필요하다면, 레거시 `rgba(255, 87, 51, 0.5)` 형식이 여전히 사용 가능합니다. 변환은 기계적이며 동일한 색상을 정확하게 보존합니다.

백분율 RGB 채널 → HEX

rgb(100% 50% 0%)

HEX 출력: `#FF8000`. CSS Color 4는 백분율 채널을 허용합니다. 각 백분율은 `값 × 255 / 100`으로 0-255 범위에 매핑된 뒤 가장 가까운 정수로 반올림됩니다 (`50% × 255 = 127.5 → 128 = 0x80`). 백분율과 정수 형식은 서로 교환 가능하며 동일한 HEX 출력을 만들어 냅니다. 백분율 구문은 채널 비율이 원시 정수 값보다 중요할 때 가독성을 위해 손으로 쓰는 스타일시트에서 종종 선호됩니다. HEX 출력은 두 입력을 동일한 정규 6자리 문자열로 정규화합니다.

자주 쓰이는 RGB → HEX 변환

가장 자주 변환되는 10개의 RGB 튜플과 그 HEX 등가물의 레퍼런스 표입니다. 순수 원색, 순수 보색, 그리고 Tailwind 팔레트에서 가져온 실제 브랜드 색상 두 개를 포함합니다.

검정

rgb(0 0 0) #000000

순수 검정. 세 채널 모두 0입니다. 방출되는 빛이 없는 상태입니다. HEX 코드 (#000000).

rgb(0 0 0) #000000

화면에서 순수 검정은 좀처럼 적절한 디자인 선택이 되지 못합니다. 본문 텍스트에는 부드러운 `#111`이나 OKLCH 명도 0.1-0.15를 시도해 보십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

흰색

rgb(255 255 255) #FFFFFF

순수 흰색. 세 채널 모두 최대값(255)입니다. sRGB에서 가장 밝은 색상입니다.

rgb(255 255 255) #FFFFFF

어두운 환경에서 순수 흰색 배경은 눈의 피로를 유발할 수 있습니다. 더 따뜻한 대안으로 `#fafafa`나 OKLCH 0.98을 고려해 보십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

빨강

rgb(255 0 0) #FF0000

순수 빨강. R 채널이 최대, G와 B가 0입니다. 세 sRGB 원색 중 첫 번째입니다.

rgb(255 0 0) #FF0000

순수 빨강은 채도가 매우 높아 브랜드 팔레트에 좀처럼 들어맞지 않습니다. 대부분의 "빨강" 브랜드 색상은 #DC2626이나 #E53935에 더 가깝습니다.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

초록

rgb(0 255 0) #00FF00

순수 초록. G 채널이 최대, R과 B가 0입니다. CSS 이름 있는 색상 `lime`이며(`green`이 아님. `green`은 #008000입니다).

rgb(0 255 0) #00FF00

CSS 키워드 `green`은 #008000(절반 밝기)으로 결정되며 #00FF00이 아닙니다. 자주 혼동되는 부분입니다. 순수 RGB 초록에는 `lime`을 쓰십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

파랑

rgb(0 0 255) #0000FF

순수 파랑. B 채널이 최대, R과 G가 0입니다. 세 번째 sRGB 원색입니다.

rgb(0 0 255) #0000FF

흰색 배경 위의 순수 파랑은 WCAG AA 명암비(3.7:1)를 통과하지 못합니다. 본문 텍스트에는 #1D4ED8(Tailwind blue-700) 같은 더 어두운 브랜드 파랑을 고려해 보십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

시안

rgb(0 255 255) #00FFFF

시안. 초록과 파랑이 최대, 빨강이 0입니다. 세 sRGB 보색 중 하나입니다. CSS 이름 있는 색상 `cyan` (또는 동등하게 `aqua`).

rgb(0 255 255) #00FFFF

시안과 aqua는 CSS에서 정확히 동의어입니다. 둘 다 #00FFFF로 결정됩니다. 하나를 선택해 스타일시트 전체에서 일관성을 유지하십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

마젠타

rgb(255 0 255) #FF00FF

마젠타. 빨강과 파랑이 최대, 초록이 0입니다. CSS 이름 있는 색상 `magenta` (또는 동등하게 `fuchsia`).

rgb(255 0 255) #FF00FF

마젠타와 fuchsia는 CSS에서 정확히 동의어입니다. 둘 다 #FF00FF로 결정됩니다. 테스트 패턴과 개발자 도구 오버레이에서 흔히 쓰입니다.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

노랑

rgb(255 255 0) #FFFF00

노랑. 빨강과 초록이 최대, 파랑이 0입니다. 지각 휘도 기준으로 세 sRGB 보색 중 가장 밝습니다.

rgb(255 255 0) #FFFF00

노랑은 화면에서 흰색이 아닌 색상 중 가장 휘도가 높습니다. HEX가 종이에서는 괜찮아 보여도 흰색 배경의 노랑 텍스트는 거의 보이지 않습니다.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

Tailwind blue-500

rgb(59 130 246) #3B82F6

Tailwind CSS의 기본 blue-500 브랜드 색상입니다. 2020년대 중반의 정규 "웹 파랑"이며, 수많은 대시보드, 마케팅 사이트, 관리 도구에 쓰입니다.

rgb(59 130 246) #3B82F6

Tailwind v4는 지각 균일 램프를 위해 blue-500을 OKLCH로 재정의합니다 (`oklch(0.629 0.193 263.4)`). HEX는 폴백으로 동일하게 유지됩니다.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

Tailwind rose-500

rgb(244 63 94) #F43F5E

Tailwind CSS의 기본 rose-500입니다. 채도가 높은 분홍빛 빨강으로, 강조 버튼·경고 상태·브랜드 대비에 흔히 쓰입니다.

rgb(244 63 94) #F43F5E

rose-500은 흰색 대비 큰 텍스트의 WCAG AA(4.6:1)는 통과하지만 본문 텍스트는 통과하지 못합니다. 흰색 위 본문 카피에는 rose-600(#e11d48) 또는 더 어두운 값을 함께 쓰십시오.

대신 OKLCH가 필요하다면? 지각 균일 출력을 위한 전용 HEX OKLCH 변환기를 시도해 보십시오.

RGB HEX 변환기 사용 방법

  1. 1

    RGB 입력란에 RGB 튜플 입력하거나 붙여넣기

    어떤 `rgb()` 값이든 RGB 입력란에 떨어뜨리십시오. 최신 공백 구분 `rgb(255 87 51)`, 레거시 콤마 `rgb(255, 87, 51)`, 슬래시를 통한 알파 `rgb(255 87 51 / 0.5)` 또는 `rgba(255, 87, 51, 0.5)` 형식, 또는 백분율 채널 `rgb(100% 34% 20%)`. 본 도구는 HEX를 계산하기 전에 모든 입력 형태를 동일한 내부 RGB 튜플로 정규화합니다. 잘못된 문자, 범위를 벗어난 정수, 또는 형식이 어긋난 구문은 조용한 인라인 오류를 발생시키고, 유효한 RGB는 다른 모든 형식 입력란을 실시간으로 업데이트합니다.

  2. 2

    HEX 입력란에서 HEX 코드 읽기

    RGB 입력란 위의 HEX 입력란은 일치하는 HEX 값을 보여 줍니다. 불투명 색상에는 `#FF5733`, 알파가 포함된 색상에는 `#FF573380`(8자리 형식). 출력은 대부분의 브랜드 가이드라인과의 일관성을 위해 기본적으로 대문자 HEX 자릿수를 사용합니다. 소문자(`#ff5733`)는 기계적인 치환 한 번 거리이며 동등하게 유효한 CSS입니다. 변환은 비트 단위로 정확합니다. RGB → HEX → RGB 왕복은 원래 튜플을 한 글자도 다르지 않게 부동소수점 드리프트 없이 복원합니다.

  3. 3

    복사를 클릭해 HEX 문자열 가져오기

    각 형식 카드의 오른쪽에는 복사 버튼이 있습니다. 한 번 클릭하면 값이 클립보드로 들어가고, 버튼 레이블이 잠시 "복사되었습니다!"로 바뀌어 알려 줍니다. 복사된 문자열은 앞의 `#`을 포함하므로 CSS 규칙, Figma 색상 입력란, SwiftUI HEX 확장, 또는 Android `colors.xml`에 바로 붙여넣을 수 있습니다. 플랫폼별 구문(SwiftUI `Color(red:green:blue:)`, Compose `Color(0xFF...)`, Tailwind v4 `@theme` 토큰)은 피커 아래의 코드로 복사 섹션을 사용하십시오.

  4. 4

    함께 표시되는 형식: HSL, OKLCH, OKLAB, CMYK, 이름 있는 색상

    붙여넣은 동일한 RGB가 다른 형식 입력란도 함께 채웁니다. 레거시 CSS용 HSL, 지각 균일 디자인 시스템용 OKLCH와 OKLAB, 디자이너 색상 피커 작업 흐름용 HSV와 HWB, 인쇄 견적용 CMYK, 그리고 문서와 산문용 가장 가까운 CSS 이름 있는 색상까지. RGB → HEX 한 방향에 묶이지 않습니다. Tailwind v4 `@theme` 블록용 OKLCH 트리플이 함께 필요하다면, OKLCH 입력란에 자체 복사 버튼과 함께 바로 노출되어 있습니다.

  5. 5

    시각적 조정에는 피커 사용

    형식 그리드 아래에는 시각적 탐색용으로 SL 정사각형 + 색조 슬라이더 + 알파 슬라이더가 있습니다. 어떤 컨트롤이든 드래그하면 시작했던 RGB와 HEX를 포함한 모든 텍스트 입력란이 실시간으로 업데이트됩니다. Chromium 기반 브라우저(Chrome, Edge, Brave)에서는 EyeDropper 버튼이 네이티브 `EyeDropper` API를 활성화해, 브라우저 창 바깥을 포함한 화면 어디든 픽셀을 샘플링할 수 있습니다. 다른 앱의 UI에서 RGB 튜플을 먼저 스크린샷 없이 캡처하고 곧바로 HEX를 읽고 싶을 때 유용합니다.

자주 발생하는 RGB / HEX 실수

RGB를 HEX로 직렬화할 때 padStart 잊기

RGB를 HEX로 변환할 때 각 채널의 `toString(16)`이 2자리로 왼쪽 패딩되어야 합니다. `padStart(2, '0')` 없이는, 한 자리 채널 값이 잘못된 HEX를 만들어 냅니다. `rgb(5, 87, 51)`은 `#055733`(6자) 대신 `#55733`(5자)으로 직렬화됩니다. 많은 임시 변환기가 패딩을 건너뛰고 16 미만의 채널에 대해 망가진 출력을 만들어 냅니다. 표준 관용구는 R, G, B 각각에 대해 `value.toString(16).padStart(2, '0')`이며, 그런 다음 이어 붙이고 `#`을 앞에 붙이는 것입니다.

✗ 오류
padStart 건너뛰기:
[5, 87, 51].map(v => v.toString(16)).join('') → '55733'
잘못된 5자 HEX 발생.
✓ 정상
padStart(2, '0') 사용:
[5, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('') → '055733'
유효한 6자 HEX. 0-255 모든 채널 값에서 정확하게 동작.

HEX 인코딩 전에 부동소수점 RGB 반올림 잊기

RGB 튜플이 정규화된 0-1 부동소수점에 255를 곱한 값에서 왔다면(OpenGL, SwiftUI, 정규화된 이미지 데이터에서 흔합니다), 결과는 종종 `127.5`나 `204.7` 같은 부동소수점입니다. 부동소수점에 `toString(16)`을 호출하면 `'7f.8'`이나 `'cc.b333...'` 같은 10진수 HEX가 나오며, 이는 유효한 CSS HEX가 아닙니다. `toString(16)` 단계 전에 항상 부동소수점을 정수로 `Math.round`(또는 반올림 정책에 따라 `Math.floor`/`Math.ceil`)하십시오.

✗ 오류
반올림 건너뛰기:
(0.5 * 255).toString(16) → '7f.8'
소수점이 있는 잘못된 HEX 발생.
✓ 정상
먼저 정수로 반올림:
Math.round(0.5 * 255).toString(16).padStart(2, '0') → '80'
유효한 2자리 HEX 쌍. CSS Color 4 정규화와 일치.

8자리 HEX 알파 순서 혼동

CSS 8자리 HEX는 `#RRGGBBAA`이며, 알파는 *후행* 쌍입니다. 일부 색상 라이브러리(특히 구형 Android `Color.parseColor()`)는 반대 순서 `#AARRGGBB`를 사용해 알파를 *선행* 쌍에 둡니다. 이는 CSS HEX와 호환되지 않습니다. 50% 알파의 RGB 값을 CSS HEX로 직렬화하면 `#FF573380`이 나옵니다. Android의 선행 알파 형식으로 내보내면 `#80FF5733`이 됩니다. 8자리 HEX를 만들어 내기 전에 항상 타깃 플랫폼의 알파 순서를 검증하십시오.

✗ 오류
Android 선행 알파 HEX를 CSS에 내보내기:
rgb(255 87 51 / 0.5) → #80FF5733 (Android 형식)
CSS는 alpha=128, R=255, G=87, B=51로 파싱 — 색상이 완전히 잘못됨.
✓ 정상
타깃 플랫폼이 문서화한 형식 사용:
CSS: #FF573380 (알파가 마지막 바이트)
Android Compose: Color(0x80FF5733) (알파가 첫 바이트)
순서 재정렬 없이 둘 사이를 그대로 옮기지 말 것.

블렌딩을 위해 RGB 채널을 직접 평균하기

RGB 채널은 감마 인코딩되어 있고 선형이 아닙니다. 두 RGB 값을 평균하면 지각적으로 잘못된 중간점이 나옵니다. `(255, 0, 0)`을 `(0, 255, 0)`과 평균하면 `(127, 127, 0)`이 나오며, 이는 빨강과 초록 빛을 섞을 때 예상되는 밝은 노랑 중간점이 아니라 탁한 진한 올리브색입니다. 올바른 블렌딩을 위해서는 먼저 sRGB 전송 함수를 통해 선형 RGB로 디코딩하고(CSS Color 4 §11.2), 선형 공간에서 평균을 낸 뒤, 다시 인코딩하십시오. 또는 지각 거리가 균일한 OKLAB / OKLCH에서 작업하십시오.

✗ 오류
감마 인코딩 RGB를 직접 평균:
(rgb(255,0,0) + rgb(0,255,0)) / 2 = rgb(128, 128, 0)
밝은 노랑이 아니라 진한 올리브색으로 보임.
✓ 정상
선형 RGB에서 평균:
디코딩 → 선형 RGB → 평균 → 재인코딩 → rgb(188, 188, 0)
물리적 빛 혼합이 만들어 내는 결과와 일치하는 시각적으로 밝은 노랑.

누가 RGB HEX를 사용하나요

Canvas RGB를 CSS HEX로 변환하는 프런트엔드 개발자
Canvas API 그리기 함수는 색상을 RGB 튜플로 보고하고 받아들이지만 (`ctx.fillStyle = 'rgb(255 87 51)'`), 주변 CSS 스타일시트는 HEX 변수를 원합니다 (`--color-fill: #FF5733`). RGB를 한 번 붙여넣으면 일치하는 HEX가 만들어져 CSS 사용자 정의 속성에 떨어뜨릴 준비가 됩니다. canvas로 렌더링된 차트나 데이터 시각화에서 정적 UI에 재사용할 브랜드 색상을 추출할 때 유용합니다.
Photoshop RGB를 Figma HEX로 변환하는 디자이너
Adobe의 컬러 피커(Photoshop, Illustrator, InDesign 안)는 세 채널 박스에 걸쳐 RGB를 0-255 정수로 보고합니다. Figma는 대조적으로 디자인 패널에서 기본적으로 색상 값을 HEX로 표시합니다. Photoshop 정수 세 개를 여기에 `rgb(...)`로 붙여넣고, HEX 출력을 복사해 Figma의 색상 입력란에 떨어뜨리십시오. 스크린샷과 eyedropper 우회 없이 원래의 Photoshop 색상과 정확히 일치합니다.
LED 센서 RGB를 웹 HEX로 변환하는 하드웨어 개발자
주소 지정 가능 LED 스트립, 색상 센서, 하드웨어 RGB 카메라는 모두 채널 값을 0-255 정수로 보고합니다. 측정값이 웹 대시보드를 구동해야 할 때 ("램프가 현재 이 색으로 빛나고 있습니다"), CSS `style="background: ..."` 속성이 기대하는 것은 일치하는 HEX 코드입니다. 센서의 RGB 트리플을 붙여넣고, HEX를 복사해, 대시보드 마크업에 꽂으십시오.
Unity 색상을 웹 목업으로 내보내는 게임 개발자
Unity의 `Color`와 Unreal의 `FLinearColor` 생성자는 정규화된 0-1 부동소수점을 받습니다. 각각에 255를 곱하면 일치하는 RGB 정수가 나옵니다. 결과로 나온 `rgb(...)`를 여기에 붙여넣고, HEX를 복사해, 게임 내 강조 색상과 정확히 일치해야 하는 웹 목업이나 마케팅 사이트에 떨어뜨리십시오. 동시에 보이는 OKLCH 뷰는 지각 명도도 노출해, 목업 팔레트를 게임의 밝기 수준에 맞게 손으로 조정할 수 있게 해 줍니다.
Photoshop 브랜드 색상을 감사하는 접근성 엔지니어
브랜드 스타일 가이드가 색상을 RGB 정수 트리플로 보고하지만 ("브랜드 주황은 RGB 255 / 87 / 51") WCAG 감사 도구가 HEX 코드를 원할 때, 이 변환기가 다리 역할을 합니다. RGB 트리플을 붙여넣고, HEX를 복사해, 감사에 통과시키십시오. 본 도구의 WCAG와 APCA 명암비 배지도 한 단계로 판정을 노출하므로, 세 개의 별도 도구 사이를 오갈 필요가 없습니다.
rgba()를 8자리 HEX로 이주시키는 이메일 개발자
최신 이메일 클라이언트 HTML은 알파 포함 색상에 8자리 HEX (`#FF573380`)를 지원하지만, 레거시 템플릿은 종종 동일한 값을 `rgba(255, 87, 51, 0.5)`로 저장합니다. 여기에 rgba()를 붙여넣고 8자리 HEX 출력을 읽으면 이주가 기계적으로 진행됩니다. HEX 입력란은 50% 알파의 경우 `#FF573380`을 보여 줍니다. 레거시 `rgba()` 형식은 여전히 필요한 폴백 컨텍스트를 위해 RGB 입력란에 그대로 남습니다.
브랜드 토큰을 두 형식으로 문서화하는 개발자
디자인 토큰 문서는 종종 동일한 색상을 RGB와 HEX 두 형식으로 보여 줍니다. CSS 코드 블록용 HEX, 산문 주석용 RGB ("브랜드 주황은 `#FF5733`이며, RGB 255 / 87 / 51과 동등합니다"). 두 값을 나란히 볼 수 있으면 문서 작성자가 두 도구를 돌리지 않고 한 번에 각각을 복사할 수 있습니다. 공유 가능한 URL 해시는 또한 독자가 논의 중인 정확한 색상으로 클릭해 도달할 수 있게 해 줍니다.
HEX 명세에 대해 픽셀 색상을 단언하는 QA 엔지니어
시각 회귀 테스트는 때때로 픽셀 색상을 RGB 정수로 캡처하지만 (`expect(pixel).toMatchRgb([255, 87, 51])`), 기반 명세는 HEX로 주어집니다 ("버튼은 `#FF5733`으로 렌더링되어야 함"). 캡처된 RGB를 여기에 붙여넣으면 일치하는 HEX가 만들어져, QA 엔지니어가 명세와 직접 비교할 수 있습니다. 변환의 비트 단위 정확성은 부동소수점 드리프트 차이로 인해 비교가 흔들리지 않음을 뜻합니다.

RGB HEX 수학과 직렬화

toString(16).padStart(2, '0')이 한 줄짜리 구현
전체 RGB → HEX 변환은 채널당 한 식에 들어맞습니다. `value.toString(16).padStart(2, '0')`. JavaScript의 `toString(16)`은 10진 정수를 16진수 문자열 표현으로 변환합니다. `padStart(2, '0')`은 잊기 쉬운 디테일입니다. 빠뜨리면 채널 값 5가 `'05'`가 아니라 `'5'`로 직렬화되어, 다른 채널과 합쳤을 때 `#55733` 같은 잘못된 5자 HEX가 만들어집니다. 표준 관용구는 `[r, g, b].map(v => v.toString(16).padStart(2, '0')).join('')` 뒤에 `'#'` 접두사를 붙이는 것입니다.
백분율 정규화: × 255 / 100 뒤 반올림
CSS Color 4는 `rgb()`에서 백분율 채널을 허용합니다. `rgb(100% 34% 20%)`는 `rgb(255 87 51)`과 동등합니다. 정규화 규칙은 `Math.round(percent × 255 / 100)`입니다. `50% × 255 / 100 = 127.5`는 128로 반올림됩니다(.5에서 멀어지는 은행가의 반올림). 동일한 규칙이 백분율로 표현된 알파에도 적용됩니다 (`rgb(255 87 51 / 50%)` ↔ `rgb(255 87 51 / 0.5)`). 정수와 백분율 형식은 정규화 후 동일한 HEX 출력을 만들어 냅니다. 본 도구는 재정규화 뒤 RGB 입력란에 정규 정수 형식을 노출합니다.
알파의 HEX화: 255로 곱하고, 반올림하고, 후행 쌍으로 인코딩
알파 포함 RGB (`rgb(255 87 51 / 0.5)`)는 알파를 255로 곱하고, 가장 가까운 정수로 반올림하고, RGB 뒤에 덧붙는 네 번째 HEX 쌍으로 인코딩해 8자리 HEX를 내보냅니다. `0.5 × 255 = 127.5`, 128로 반올림 = `0x80`, 출력 `#FF573380`. CSS Color 4 명세는 이 변환에 은행가의 반올림(반은 짝수로 반올림)을 사용하며, 본 도구도 이를 따릅니다. 알파가 정확히 1일 때는 스타일시트에 후행 `FF` 쌍이 새지 않도록 8자리 형식이 6자리로 되돌아갑니다.
RGB 입력: CSS Color 4 공백 구분과 레거시 콤마 둘 다 허용
파서는 최신 CSS Color 4 형식 `rgb(255 87 51)`과 레거시 CSS 1 형식 `rgb(255, 87, 51)` 모두를 받아들입니다. 최신 형식은 모두 공백 구분과 알파용 슬래시를 사용하는 다른 CSS Color 4 함수형 표기법(`hsl()`, `lab()`, `oklch()`, `color()`)과 정렬됩니다. 레거시 콤마 형식은 모든 에버그린 브라우저에서 여전히 지원되며 구형 코드베이스에서 흔합니다. 두 형식 모두 동일한 HEX 출력을 만들어 냅니다. 본 도구의 HEX 직렬화기는 어떤 입력 형태가 들어왔는지 신경 쓰지 않습니다.
왕복 안정성을 위한 OKLCH 내부 단일 사실 출처
이 스포크가 RGB → HEX를 구체적으로 타기팅하더라도, 공유된 기반 변환기는 내부적으로 정규 색상을 OKLCH 트리플로 유지합니다. 덕분에 RGB → HEX → HSL → OKLAB → CMYK → RGB 왕복이 단계별 부동소수점 드리프트 없이 이뤄집니다. HSL이나 sRGB를 피벗으로 거치는 레거시 변환기는 각 변환마다 반올림 오차를 누적합니다. (OKLAB이 아닌) OKLCH 선택은 색조(hue)를 안정적인 축으로 보존하므로, 색조 슬라이더를 드래그해도 회색을 통과해 크로스페이드되는 일이 없습니다. Björn Ottosson의 2020년 OKLAB 논문에 따른 것입니다.
채널 인코딩: 8비트 부호 없음, sRGB 감마 인코딩
각 RGB 채널은 IEC 61966-2-1(1996)이 정의한 sRGB 색 공간에 인코딩된 8비트 부호 없는 정수(0-255)입니다. 값은 *감마 인코딩되어* 있습니다. 즉, 채널 값과 지각 밝기의 관계가 비선형이며, 조각별 sRGB 전송 함수(0 근처의 작은 선형 구간을 가진 대략 2.4 지수)를 따릅니다. 이것은 색상 수학을 할 때 중요합니다. 감마 인코딩 형식의 두 RGB 값을 평균하면 잘못된 지각 중간점이 나옵니다. 올바른 색상 블렌딩을 위해서는 먼저 선형 RGB로 디코딩하고(CSS Color 4 §11.2), 평균을 낸 뒤, 다시 인코딩하십시오. 본 도구의 OKLCH 내부 모델이 이를 투명하게 만들어 줍니다.

RGB / HEX 작업 모범 사례

브랜드 가이드라인에는 대문자 HEX, 코드에는 소문자 선호
브랜드 가이드라인, 마케팅 PDF, 디자이너 대상 문서는 일반적으로 시각적 일관성을 위해 대문자 HEX (`#FF5733`)를 사용합니다. 전체 대문자 외양이 브랜드 식별자로 읽힙니다. 코드(CSS, JSON, JavaScript 소스)는 관례적으로 소문자 (`#ff5733`)를 사용합니다. 소문자가 입력하기 더 빠르고 자동 생성된 린터 출력에서 더 흔하기 때문입니다. 두 형식 모두 유효한 CSS이며 동일하게 파싱됩니다. 각 컨텍스트에 하나를 선택해 일관성을 유지하십시오. 본 도구는 기본적으로 대문자를 내보냅니다. 기계적인 치환 한 번으로 소문자로 뒤집을 수 있습니다.
알파 < 1일 때만 8자리 HEX 내보내기
알파가 1(완전 불투명)일 때는 6자리 형식으로 되돌아가십시오. 후행 `FF` 쌍 (`#FF5733FF`)은 법적인 CSS이지만 스타일시트를 시각적으로 어지럽히고 일부 레거시 파서가 잘못 렌더링하도록 혼동시킵니다. 8자리 형식은 알파가 의미 있게 투명할 때만 등장해야 합니다. 본 도구는 이 규칙을 자동으로 따릅니다. 불투명 색상은 6자리 HEX를, 알파 포함 색상은 8자리 HEX를 내보내며, 컷오프는 정확합니다 (알파 = 1.0이면 6자리, 알파 = 0.9999면 데이터를 보존하기 위해 8자리).
색상 수학에서 RGB 채널을 직접 평균하지 말 것
RGB 채널은 감마 인코딩되어 있습니다. 두 RGB 값을 평균하면 잘못된 지각 중간점이 나옵니다. `(255, 0, 0)`을 `(0, 255, 0)`과 평균하면 `(127, 127, 0)`이 나오며, 이는 예상한 시각적으로 밝은 노랑 중간점이 아니라 탁한 진한 올리브색입니다. 올바른 색상 블렌딩을 위해서는 먼저 선형 RGB로 디코딩하고(CSS Color 4 §11.2), 평균을 낸 뒤, 다시 인코딩하십시오. 더 나은 방법은 지각 거리가 균일한 OKLAB이나 OKLCH에서 작업하는 것입니다. 디자인 시스템 팔레트 생성기가 정확히 이렇게 합니다.
CSS 변수에는 HEX, 하드웨어에는 RGB 선호
CSS 사용자 정의 속성이나 Tailwind 설정 토큰을 작성할 때는 HEX를 선호하십시오. 더 간결하고 JSON이나 YAML에 깔끔하게 들어맞습니다. 소비 코드가 채널별 산술(canvas 호출, 이미지 조작, 하드웨어 LED 드라이버, OpenGL 색상 속성)을 수행한다면, RGB 정수 형식이 소비하기 더 빠릅니다. 두 형식은 동일한 색상을 기술합니다. 선택은 정확성이 아니라 누가 읽고 쓰느냐에 관한 것입니다. 본 도구의 동시 입력란 뷰는 두 형식 모두를 동등하게 저렴하게 만들어 줍니다.
255로 곱하기 전에 알파 범위 검증
자체 RGB → 8자리 HEX 변환기를 구현할 때는 `× 255` 단계 전에 알파 부동소수점이 `[0, 1]` 안에 들어가는지 검증하십시오. 범위를 벗어난 알파(음수 또는 > 1)는 일부 파서가 받아들이고 일부가 거부하는 잘못된 HEX 쌍을 조용히 만들어 냅니다. 취약한 실패 모드입니다. 먼저 클램프하고(`Math.max(0, Math.min(1, alpha))`), 곱하고, 반올림하고, HEX로 인코딩하십시오. 본 도구는 망가진 HEX 문자열을 내보내는 대신 범위를 벗어난 알파에 대해 조용한 인라인 오류를 노출합니다.
실시간 색상 결정 공유에 URL 해시 사용
모든 색상 변경은 URL 해시를 `#hex=ff5733` 형태로 자동 업데이트합니다. URL을 Slack 스레드나 GitHub 이슈에 복사하면, 그것을 여는 모든 사람이 동일한 HEX의 동일한 색상에 도달합니다. 채팅에 RGB 튜플을 붙여넣는 것보다 더 안정적이며(수신자가 값을 수작업으로 입력할 때 가끔 콤마를 잘못 치거나 채널을 빠뜨립니다), 디자인 리뷰 스레드가 "화요일에 논의한 그 주황색"이 아니라 정확한 색상을 참조할 수 있게 해 줍니다. 해시는 서버로 전송되지 않습니다.

자주 묻는 질문

RGB를 HEX로 어떻게 변환하나요?
각 0-255 채널 정수를 2자리 16진수 문자열로 변환한 뒤, 앞에 `#`을 붙여 이어 붙이십시오. JavaScript에서는 `[255, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('')`이 `'ff5733'`을 반환합니다. `padStart(2, '0')`은 중요합니다. 빠뜨리면 `5` 같은 한 자리 값이 `'05'`가 아니라 `'5'`로 직렬화되어 잘못된 HEX가 만들어집니다. 본 도구는 입력하는 동안 변환을 실시간으로 실행합니다. 어떤 `rgb()` 값이든 (공백 유무, 콤마 또는 최신 공백 구문, 알파 유무) 붙여넣으면 HEX 입력란이 일치하는 `#RRGGBB` 또는 8자리 `#RRGGBBAA` 값으로 즉시 업데이트됩니다.
HEX로 표현한 RGB는 무엇인가요?
HEX로 표현한 RGB는 동일한 색상을 6글자의 16진수 문자열로 인코딩한 것입니다. 두 형식 모두 sRGB 색 공간에 고정된 0-255 척도의 세 채널(빨강, 초록, 파랑)로 색상을 기술합니다. `rgb(255 87 51)`과 `#FF5733`은 CSS에서 ``가 허용되는 모든 곳에서 서로 교환 가능하며, 무손실로 왕복합니다. HEX는 동일한 정보를 더 간결한 형식으로 묶어 CSS 변수에 깔끔하게 들어맞고 Figma, Sketch, Photoshop, 그리고 코드 사이를 깔끔하게 복사할 수 있게 해 줍니다. `rgb()`는 canvas 호출과 하드웨어 API용으로 채널을 별도의 정수로 주소 지정 가능하게 유지합니다.
RGB에서 HEX 코드를 어떻게 얻나요?
각 채널 값(0-255)에 대해 `toString(16)`을 호출해 16진수 표현을 얻고, 2자리로 0 왼쪽 패딩한 뒤, 앞에 `#`을 붙여 이어 붙이십시오. `rgb(255 87 51)`은 다음과 같이 됩니다. `255 → 'ff'`, `87 → '57'`, `51 → '33'`, 결과 `#ff5733`. 스타일 가이드가 요구한다면 대문자로 (`#FF5733`). 두 형식 모두 유효한 CSS입니다. `rgb(255 87 51 / 0.5)` 같은 알파 포함 RGB의 경우, 알파를 255로 곱하고 반올림한 뒤 결과로 나온 2자리 HEX 쌍을 덧붙입니다. `0.5 × 255 = 128 = 0x80`, 결과 `#ff573380`. 본 도구는 두 변환 모두를 자동으로 수행합니다.
RGB를 HEX로 변환하는 공식은 무엇인가요?
각 채널에 대해 `value.toString(16).padStart(2, '0')`입니다. `toString(16)`은 정수를 16진수 표현으로 변환하고, `padStart(2, '0')`은 결과가 정확히 2글자가 되도록 보장합니다 (16 미만의 값에는 필수입니다. 그렇지 않으면 1글자로 직렬화됩니다). 세 결과를 이어 붙이고 앞에 `#`을 붙이면 정규 HEX가 됩니다. 수학적으로는, `[0, 255]` 범위의 채널 `n`에 대해 HEX 자릿수는 `Math.floor(n / 16)`과 `n % 16`이 `'0123456789abcdef'`를 통해 매핑됩니다. 반올림 손실은 없습니다. 16² = 256으로 각 채널이 차지하는 0-255 바이트 범위와 정확히 일치하기 때문입니다.
rgb(0,0,0)은 #000000과 같은가요?
네, 정확히 같습니다. `rgb(0, 0, 0)`과 `rgb(0 0 0)`(최신 공백 구분 CSS Color 4 구문) 모두 `#000000`으로 직렬화됩니다. 세 채널 모두 0인 순수 검정입니다. 모든 채널 쌍이 `00`으로 인코딩되어 6글자 HEX `000000`으로 이어 붙여집니다. 반대 극단에서도 같은 동치가 성립합니다. `rgb(255, 255, 255)` ↔ `#FFFFFF`(순수 흰색). 모든 RGB 트리플은 정확히 하나의 정규 6자리 HEX 표현을 가지며, 모든 6자리 HEX는 정확히 하나의 RGB 트리플을 가집니다. 16,777,216 색상의 전체 sRGB 공간에 걸쳐 매핑은 일대일 대응입니다.
RGB에 알파 채널을 둘 수 있나요?
네. 레거시 형식 `rgba(255, 87, 51, 0.5)` 또는 최신 CSS Color 4 슬래시 구문 `rgb(255 87 51 / 0.5)`을 사용하십시오. 두 형식 모두 0(완전 투명)부터 1(완전 불투명)까지의 알파 부동소수점을 인코딩합니다. HEX로 변환할 때 알파는 RGB 뒤에 덧붙는 네 번째 2자리 쌍이 됩니다. 255로 곱하고, 반올림하고, HEX로 인코딩하십시오. `0.5 × 255 = 128 = 0x80`이므로, `rgb(255 87 51 / 0.5)`은 `#FF573380`이 됩니다. 알파 포함 8자리 HEX는 2018년에 모든 에버그린 브라우저에 도입되었습니다. 그 이전에는 `rgba()` 형식이 CSS에서 알파를 표현하는 유일한 방법이었습니다.
HEX와 RGB는 어떻게 다른가요?
두 형식은 동일한 색상을 다른 표기법으로 인코딩합니다. HEX는 세 개의 0-255 채널을 6글자의 16진수 문자열(`#FF5733`)로 묶고, `rgb()`는 채널을 10진수로 풀어 씁니다(`rgb(255 87 51)`). HEX는 더 짧고 디자인 도구 네이티브입니다. Figma, Sketch, Photoshop, 그리고 모든 브랜드 가이드라인 PDF가 기본으로 HEX를 내보내며, 대부분의 프런트엔드 개발자는 `#3b82f6`을 한눈에 Tailwind blue-500으로 알아봅니다. RGB는 명시적 채널 주소 지정으로 JavaScript에서 계산하기 더 쉽고, 백분율 채널과 네이티브 구문 알파를 받아들이는 유일한 형식입니다. 두 형식 모두 동등하게 유효한 CSS이며 무손실로 왕복합니다.
RGB → HEX는 얼마나 정확한가요?
비트 단위로 정확합니다. RGB → HEX는 부동소수점 개입이 전혀 없는 정수 대 문자열 수학입니다. `toString(16).padStart(2, '0')`은 0-255의 모든 값에 대해 정규 2자리 HEX 쌍을 만들어 내며, 역방향(`parseInt(pair, 16)`)은 원래 정수를 정확하게 복원합니다. RGB → HEX → RGB → HEX 왕복은 원래 튜플을 한 글자도 다르지 않게 무한히 만들어 냅니다. 16² = 256으로 바이트 범위와 정확히 일치하므로 양방향 모두 반올림 손실이 없습니다. 백분율 RGB 입력은 먼저 가장 가까운 정수로 반올림됩니다 (`50% × 255 / 100 = 127.5 → 128`). 이는 표준 CSS Color 4 정규화 규칙입니다.