Hex-коды цветов: полное руководство
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://colorfyi.com/iframe/entity//" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://colorfyi.com/entity//
Add a dynamic SVG badge to your README or docs.
[](https://colorfyi.com/entity//)
Use the native HTML custom element.
Если вы когда-либо открывали CSS-файл, дизайн-инструмент или брендовое руководство по стилю, вы видели hex-коды цветов: шестисимвольные строки вроде #3B82F6 или #FF5733, которые каким-то образом кодируют каждый цвет, который может отображать экран. Они выглядят как случайная последовательность букв и цифр, но за ними стоит точная система — и как только вы её поймёте, любой hex-код можно будет прочитать с первого взгляда.
Это руководство охватывает всё: от базовой структуры hex-кода до сокращённой нотации, прозрачности альфа-канала и практических техник конвертации.
Что означает «hex»?
Слово «hex» — сокращение от hexadecimal (шестнадцатеричная система) — системы счисления, использующей основание 16 вместо основания 10, привычного нам в повседневной жизни. В десятичной системе цифры идут от 0 до 9. В шестнадцатеричной системе цифры идут от 0 до 9, а затем продолжаются буквами от A до F, что даёт шестнадцать возможных значений на разряд.
| Шестнадцатеричное | Десятичное |
|---|---|
| 0 | 0 |
| 9 | 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
| 10 | 16 |
| FF | 255 |
Почему основание 16? Потому что оно точно соответствует компьютерной памяти. Один байт данных — 8 двоичных бит — может хранить значения от 0 до 255. В шестнадцатеричной системе тот же диапазон умещается ровно в двух разрядах: от 00 до FF. Эта компактность и стала причиной, по которой hex стал стандартом для задания цветов в вебе и дизайне.
Структура hex-кода цвета
Стандартный hex-код цвета имеет такую структуру:
# R R G G B B
Символ решётки (#) — это префикс, обозначающий «это цвет». После него идут три пары шестнадцатеричных цифр — по одной паре для каналов красного, зелёного и синего цветовой модели RGB. Каждая пара кодирует значение от 0 (00) до 255 (FF), управляя интенсивностью соответствующего канала.
Например, возьмём #3B82F6 — насыщенный средний синий:
| Часть | Значение | Десятичное | Смысл |
|---|---|---|---|
3B |
Красный | 59 | Мало красного — немного тепла |
82 |
Зелёный | 130 | Умеренный зелёный |
F6 |
Синий | 246 | Очень высокий синий — доминирующий канал |
Высокий синий канал и делает этот цвет синим. Умеренный зелёный сдвигает его немного в сторону голубого, а не чистого тёмно-синего. Низкий красный сохраняет прохладу.
Сравните с #FF5733 — коралловым красным:
| Часть | Значение | Десятичное | Смысл |
|---|---|---|---|
FF |
Красный | 255 | Максимальный красный |
57 |
Зелёный | 87 | Немного зелёного — добавляет оранжевость |
33 |
Синий | 51 | Мало синего — тёплый |
Максимальный красный с умеренным зелёным даёт оранжево-красный. Мало синего — тон остаётся тёплым.
Как читать hex-код с первого взгляда
Вам не нужно конвертировать в десятичную систему, чтобы быстро понять hex-цвет. Несколько правил:
00 = нулевая интенсивность (этого канала нет)
FF = полная интенсивность (максимум канала)
80 ≈ половина интенсивности (128 из 255)
Это позволяет приближённо декодировать hex-коды с первого взгляда:
- #FF0000 — полный красный, нет зелёного, нет синего → чистый красный
- #00FF00 — нет красного, полный зелёный, нет синего → чистый зелёный
- #0000FF — нет красного, нет зелёного, полный синий → чистый синий
- #FFFF00 — полный красный и зелёный, нет синего → жёлтый (красный + зелёный = жёлтый в свете)
- #FF00FF — полный красный и синий, нет зелёного → пурпурный
- #00FFFF — полный зелёный и синий, нет красного → голубой
- #FFFFFF — все каналы на максимуме → белый
- #000000 — все каналы на нуле → чёрный
- #808080 — все каналы наполовину → средний серый
Когда первые два разряда высокие, а остальные ниже, цвет тяготеет к красному. Высокие средние два разряда смещают к зелёному. Высокие последние два — к синему или фиолетовому.
Определение светлого vs тёмного
Если все три пары имеют высокие шестнадцатеричные значения (C, D, E, F), цвет будет светлым. Если все три низкие (0, 1, 2, 3) — тёмным. Равные значения во всех трёх каналах всегда дают нейтральный серый (или чёрный и белый на крайних значениях).
- #F0E6D3 — все значения высокие → светлый тёплый бежевый
- #1A1A2E — все значения низкие → очень тёмный тёмно-синий
- #A0A0A0 — равные средние значения → средний серый
Сокращённая hex-нотация
CSS позволяет использовать трёхсимвольное сокращение, когда каждая пара шестнадцатеричных цифр состоит из одного повторённого символа. Например, #AABBCC можно записать как #ABC. Каждая цифра в сокращении просто удваивается для получения полной шестисимвольной версии.
| Сокращение | Полный эквивалент |
|---|---|
#F00 |
#FF0000 (чистый красный) |
#0F0 |
#00FF00 (чистый зелёный) |
#00F |
#0000FF (чистый синий) |
#FFF |
#FFFFFF (белый) |
#000 |
#000000 (чёрный) |
#369 |
#336699 (стальной синий) |
Это сокращение работает только тогда, когда каждая пара является повторяющимся символом. #3B82F6 нельзя сократить, потому что 3B, 82 и F6 — не повторяющиеся пары. Но #336699 можно сократить до #369.
Когда использовать сокращение
Сокращённый hex — это допустимая функция CSS, которая будет отображаться идентично полной версии. Используйте её свободно, когда код поддерживает это. Однако многие дизайн-инструменты и брендовые руководства по стилю используют полный шестисимвольный формат для ясности и согласованности — сразу понятно, что представляет собой каждое значение канала, без мысленного разворачивания.
Hex с альфа-каналом: восьмисимвольные hex-коды
Стандартный шестисимвольный hex-код не включает информацию о прозрачности. Для добавления альфа-канала (непрозрачности) CSS поддерживает восьмисимвольный hex-формат, где последние два символа задают прозрачность.
Альфа-канал следует тому же диапазону 0–255, кодируемому как hex-пара:
| Hex альфа | Десятичное альфа | Непрозрачность |
|---|---|---|
FF |
255 | 100% (полностью непрозрачный) |
CC |
204 | 80% |
99 |
153 | 60% |
80 |
128 | ~50% |
66 |
102 | 40% |
33 |
51 | 20% |
00 |
0 | 0% (полностью прозрачный) |
Например, чтобы использовать синий #3B82F6 с 50% непрозрачностью: #3B82F680.
Для тёмного перекрытия #000000 с 70% непрозрачностью: #000000B3.
Четырёхсимвольное сокращение с альфа
Так же, как #RGB является сокращением для #RRGGBB, существует сокращение #RGBA для #RRGGBBAA. Каждая цифра удваивается:
#F00F=#FF0000FF(чистый красный, полностью непрозрачный)#0008=#00000088(чёрный при ~53% непрозрачности)#FFF0=#FFFFFF00(полностью прозрачный белый)
Альтернативы hex-альфа
До широкой поддержки восьмисимвольного hex, стандартным способом добавления прозрачности была функция rgba():
/* Эти записи эквивалентны */
background-color: #3B82F680;
background-color: rgba(59, 130, 246, 0.5);
Обе формы сейчас хорошо поддерживаются в современных браузерах. Форма rgba() часто более читаема, поскольку непрозрачность выражена как человекочитаемое десятичное число (от 0 до 1), а не hex-пара, требующая мысленного преобразования.
Конвертация hex в другие форматы
Hex-коды описывают те же RGB-цвета, что и нотация rgb() — просто в более компактном представлении. Конвертация между ними проста.
Hex в RGB
Для каждой пары hex-цифр конвертируйте из шестнадцатеричного в десятичное:
- #FF5733 → Красный:
FF= 255, Зелёный:57= 87, Синий:33= 51 - CSS:
rgb(255, 87, 51)
Hex в HSL
Эта конвертация сложнее. HSL (оттенок, насыщенность, светлота) — перцептивно интуитивный формат, где оттенок выражается как градус на цветовом колесе, а насыщенность и светлота — как проценты. Конвертер цветов обрабатывает это мгновенно — введите любой hex-код и получите RGB, HSL, CMYK и OKLCH эквиваленты одновременно.
Hex в OKLCH
OKLCH — наиболее современный формат цвета в CSS, разработанный для перцептивной равномерности. Он отлично подходит для программной работы с цветом — равные числовые шаги в OKLCH соответствуют равным воспринимаемым различиям. Конвертер цветов включает вывод OKLCH для любого введённого hex-кода.
Распространённые примеры конвертации
| Цвет | HEX | RGB | HSL |
|---|---|---|---|
| Небесно-голубой | #87CEEB | rgb(135, 206, 235) | hsl(197, 71%, 73%) |
| Томатный | #FF6347 | rgb(255, 99, 71) | hsl(9, 100%, 64%) |
| Оливково-зелёный | #6B8E23 | rgb(107, 142, 35) | hsl(80, 60%, 35%) |
| Серо-синий | #708090 | rgb(112, 128, 144) | hsl(210, 13%, 50%) |
Hex в CSS: практическое применение
Hex-коды работают везде в CSS, где принимается значение цвета:
/* Цвет текста */
color: #1A1A2E;
/* Фон */
background-color: #F0E6D3;
/* Рамка */
border: 2px solid #3B82F6;
/* Тень блока */
box-shadow: 0 4px 12px #0000001A; /* чёрный при ~10% непрозрачности */
/* С CSS-переменными */
:root {
--brand-primary: #3B82F6;
--brand-dark: #1D4ED8;
}
Регистронезависимость
Hex-коды цветов в CSS нечувствительны к регистру. #3B82F6, #3b82f6 и #3B82f6 обозначают один и тот же цвет. Большинство руководств по стилю стандартизируются на все-заглавные или все-строчные буквы для единообразия. Заглавные — традиционный выбор; строчные популярны в современных кодовых базах, и многие линтеры предпочитают их.
Как находить hex-коды
Дизайн-инструменты. Figma, Sketch и Adobe XD отображают hex-коды в панелях выбора цвета. Любой цветовой образец в этих инструментах можно скопировать как hex.
Браузерные DevTools. Щёлкните правой кнопкой мыши на любом элементе веб-страницы и проверьте его. Панель CSS показывает вычисленные значения цветов, которые можно щёлкнуть для переключения между форматами, включая hex.
Страницы цветов ColorFYI. Каждая страница с подробностями о цвете на ColorFYI — например, /color/3B82F6/ — отображает полный hex-код вместе с RGB, HSL, CMYK и OKLCH значениями, а также именем цвета, если оно есть.
Конвертер цветов. Если у вас есть цвет в RGB или HSL и нужен hex-эквивалент, вставьте его в Конвертер цветов для мгновенного перевода.
Ключевые выводы
- Hex-код цвета — это шестисимвольное шестнадцатеричное число, где первые два символа кодируют красный канал, средние два — зелёный, и последние два — синий.
- Каждая пара канала варьируется от
00(нулевая интенсивность) доFF(255 интенсивность), соответствуя полному диапазону 0–255 модели RGB. - Высокие шестнадцатеричные цифры означают высокую интенсивность канала; низкие — низкую. Равные значения во всех трёх каналах дают нейтральные цвета (чёрный, серый, белый).
- Трёхсимвольное сокращение (
#RGB) действительно, когда каждая пара повторяет один и тот же символ —#336699становится#369. - Восьмисимвольный hex (
#RRGGBBAA) добавляет альфа-канал прозрачности; последние два символа варьируются от00(прозрачный) доFF(непрозрачный). - Используйте Конвертер цветов для мгновенного перевода любого hex-кода в RGB, HSL, CMYK или OKLCH.
- Hex-коды в CSS нечувствительны к регистру. Стандартизируйтесь на одном соглашении (все заглавные или все строчные) для единообразия.