Конвертер 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 брендбука ожидают на выходе — 6-символьная строка по основанию 16, которая комфортно умещается в CSS custom property и читается с одного взгляда, как только глаза учатся узнавать паттерны. Конвертация между ними механическая: конвертируйте каждое целое в 2-значную пару по основанию 16 и склейте с ведущим `#`. Этот инструмент выполняет конвертацию вживую по мере ввода, без кнопки «Convert», и поднимает каждый другой распространённый формат цвета (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` приписывает 2-значную альфа-пару по шкале 0–`FF`, где `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 сериализовалось бы как `'5'` вместо `'05'`, давая невалидный HEX), затем склейте. Для RGB с альфой (`rgb(R G B / A)` или `rgba(R, G, B, A)`) умножьте float альфы 0–1 на 255, округлите до ближайшего целого, закодируйте в HEX как 4-ю пару и выдайте 8-значную форму. **HEX в RGB** — обратная операция: распарсите 6-значный HEX `#RRGGBB` как три 2-значных числа по основанию 16 через `parseInt(hex.slice(1, 3), 16)` и так далее. Оба направления бит-точные: 16² = 256, точно совпадая с байтовым диапазоном 0–255, который занимает каждый канал, поэтому переход туда-обратно RGB → HEX → RGB даёт исходные целые дословно без дрейфа плавающей точки.
**Почему HEX, а не RGB в CSS?** Три причины. HEX короче — `#FF5733` это 7 символов против `rgb(255, 87, 51)` на 16 символов, заметная разница при упаковке в CSS custom property или объект конфигурации Tailwind. У HEX нет багов с пробелами — CSS-минификаторы, JSON-сериализаторы и инструменты командной строки все обрабатывают 7-символьную строку чисто, не беспокоясь о соответствии скобок или экранировании запятых. И HEX — это формат, на котором вся экосистема дизайн-инструментов говорит нативно — панель цвета Figma, образцы Sketch, пипетка Photoshop, каждый PDF брендбука, каждая выноска цвета в шоте Dribbble — все они экспортируют HEX по умолчанию. Путь копи-паста от дизайнера к разработчику имеет HEX-форму, поэтому конвертация RGB-в-HEX так частотна: разработчики получают RGB из не-дизайн-инструмента (вызов canvas, пипетка скриншота, аппаратный датчик) и нужно превратить его в HEX-форму, которую ожидает остальной стек.
Рабочий процесс RGB → HEX этого инструмента — это одно направление семейства из 5 спиц, которые все используют один и тот же базовый унифицированный конвертер цветов. Специализированный унифицированный конвертер цветов — это хаб: он показывает все 9 форматов одновременно редактируемыми и это правильный инструмент, когда вашему рабочему процессу нужно больше, чем RGB и HEX. Однонаправленные спицы целятся в конкретные поисковые интенты Google: обратный конвертер HEX в RGB для обратного направления (взять HEX из Figma и вытащить целые 0–255), конвертер HEX в HSL для legacy designer-cognitive пространства, конвертер HEX в OKLCH для современных перцептивно-равномерных дизайн-систем (Tailwind v4 и shadcn оба сейчас по умолчанию используют OKLCH) и конвертер HEX в CMYK для приближений подготовки к печати. Все пять спиц и хаб используют один и тот же парсинговый движок и ту же математику конвертации, поэтому результаты гарантированно идентичны во всём семействе. Каждая конвертация выполняется локально в браузере — ваши RGB-значения никогда не загружаются, никогда не логируются и ноль сетевых запросов срабатывает по мере ввода. Проверьте в DevTools.