Конвертер HEX в RGB — это небольшая утилита, которая превращает HEX-код цвета (`#FF5733`) в три целочисленных значения каналов, которые он представляет (`rgb(255 87 51)`). HEX и RGB — это два формата, вокруг которых строились все веб-таблицы стилей, дизайн-инструменты и конвейеры обработки пикселей с конца 1990-х, и конвертация между ними — самая распространённая операция в инструментарии цвета. HEX — это лаконичный формат копи-паста, который Figma, Sketch, Photoshop и каждый PDF брендбука экспортируют по умолчанию: 6-символьная строка по основанию 16, которая комфортно умещается в CSS custom property и читается с одного взгляда, как только глаза учатся узнавать паттерны. RGB — это формат с адресацией по каналам, который ожидают аппаратные API, вызовы отрисовки canvas, манипуляции с буфером изображения, атрибуты цвета OpenGL и большинство графических SDK: три отдельных целых 0–255 (или нормализованных 0–1 float), которые напрямую отображаются на красный, зелёный и синий субпиксели LCD или люминофоры CRT. Конвертация между ними механическая: разделите HEX на три пары по 2 цифры и прочитайте каждую пару как число по основанию 16. Этот инструмент выполняет конвертацию вживую по мере ввода, без кнопки «Convert», и поднимает каждый другой распространённый формат цвета (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, плюс 148 именованных CSS-цветов) рядом с выводом RGB бесплатно.
**Сам формат RGB заслуживает более пристального взгляда.** Стандартный 24-битный sRGB кодирует каждый канал как 8-битное беззнаковое целое от 0 до 255 — 256 значений на канал, 16 777 216 цветов всего (256³). Эталонный стандарт — IEC 61966-2-1, спецификация sRGB 1996 года, привязанная к люминофорам CRT, которые доминировали на дисплеях того времени. CSS предоставляет RGB через функцию `rgb()` в трёх синтаксических разновидностях. Исходная форма CSS 1 использует запятые в качестве разделителей: `rgb(255, 87, 51)`. CSS Color 4 (W3C Candidate Recommendation с 2022 года) добавил современную форму через пробел: `rgb(255 87 51)`, с опциональным альфа-каналом после слэша: `rgb(255 87 51 / 0.5)`. Обе формы взаимозаменяемы и поставляются в каждом вечнозелёном браузере. RGB также принимает каналы в процентах: `rgb(100% 33% 20%)` эквивалентен `rgb(255 87 51)`, иногда предпочтительнее в рукописных таблицах стилей ради читаемости. Конкретно для альфы есть отдельная функция `rgba()` для legacy-поддержки — `rgba(255, 87, 51, 0.5)` — каноническая форма, которая работает везде вплоть до IE 9. CSS Color 4 также добавил синтаксис `color(srgb 1 0.341 0.2)` для явной адресации sRGB и параллельные функции `color(display-p3 ...)` и `color(rec2020 ...)` для значений с широким охватом, которые HEX закодировать не может.
Математика конвертации идёт чисто в обоих направлениях. **HEX в RGB**: распарсите 6-значный HEX `#RRGGBB` как три 2-значных числа по основанию 16 через `parseInt(hex.slice(1, 3), 16)`, `parseInt(hex.slice(3, 5), 16)`, `parseInt(hex.slice(5, 7), 16)`. Для 3-значного сокращения `#RGB` раскройте каждую цифру удвоением (`#F73` → `#FF7733`) перед парсингом — это *не* дополнение слева. Для 8-значной альфы `#RRGGBBAA` распарсите конечную пару тем же способом и разделите на 255, чтобы получить 0–1 float альфы. Для 4-значного альфа-сокращения `#RGBA` сначала раскройте каждую цифру (`#F738` → `#FF773388`). **RGB в HEX** — обратная операция: для каждого канала вызовите `value.toString(16).padStart(2, '0')`, чтобы получить 2-значную пару HEX (`padStart` важен — без него значение канала 5 сериализовалось бы как `'5'` вместо `'05'`, давая невалидный HEX), затем склейте. Оба направления бит-точные: 16² = 256, точно совпадая с байтовым диапазоном 0–255, который занимает каждый канал, поэтому переход туда-обратно HEX → RGB → HEX даёт исходный ввод дословно без дрейфа плавающей точки.
**Почему HEX, а не RGB?** HEX короче, нативен для дизайн-инструментов и это формат, который ваш глаз учится узнавать со временем — большинство frontend-разработчиков могут опознать `#3b82f6` как Tailwind blue-500 с одного взгляда. RGB — это явная адресация по каналам, проще вычислять против неё в JavaScript и единственный из двух, который чисто принимает альфу и проценты. Два формата сосуществуют, потому что решают разные задачи. Веб-таблицы стилей и брендбуки склоняются к HEX, потому что доминирует стоимость копи-паста. Вызовы отрисовки canvas, обработка изображений, API аппаратных LED и любой код, делающий поканальную арифметику, склоняются к RGB, потому что индексирование в кортеж быстрее, чем нарезка строки. Переключение между ними случается десятки раз в типичном веб-проекте — вставьте HEX из Figma, конвертируйте в целые RGB для вызова `ctx.fillStyle = ...`, конвертируйте обратно в HEX для определения CSS-переменной.
Рабочий процесс HEX → RGB в этом инструменте — это одно направление семейства из 5 спиц, которые все используют один и тот же базовый унифицированный конвертер цветов. Специализированный унифицированный конвертер цветов — это хаб: он показывает все 9 форматов одновременно редактируемыми и это правильный инструмент, когда вашему рабочему процессу нужно больше, чем HEX и RGB. Однонаправленные спицы целятся в конкретные поисковые интенты Google: обратный конвертер RGB в HEX для обратного направления, конвертер HEX в HSL для legacy designer-cognitive пространства, конвертер HEX в OKLCH для современных перцептивно-равномерных дизайн-систем (Tailwind v4 и shadcn оба сейчас по умолчанию используют OKLCH) и конвертер HEX в CMYK для приближений подготовки к печати. Все пять спиц и хаб используют один и тот же парсинговый движок и ту же математику конвертации, поэтому результаты гарантированно идентичны во всём семействе. Каждая конвертация выполняется локально в браузере — ваши HEX-коды никогда не загружаются, никогда не логируются и ноль сетевых запросов срабатывает по мере ввода. Проверьте в DevTools.