Конвертер HEX в HSV

Преобразует цветовые коды HEX в значения HSV без ручных расчётов. Подходит для веб-разработчиков, дизайнеров и всех, кому нужно быстро и точно переходить между HEX и HSV.

Введите цвет в формате HEX, и вы увидите соответствующее значение HSV. HSV описывает тот же цвет, что и HEX или RGB, но через оттенок, насыщенность и яркость, что часто проще для правок.

Модель HSV широко используется в палитрах и графических редакторах. На этой странице разобрано, как работает HSV и как пошагово перевести любой HEX-цвет в HSV.

Что такое HEX-код цвета

HEX-цвет — это компактная запись значений RGB в шестнадцатеричной системе счисления. Он записывается в формате #RRGGBB, где каждая пара символов отвечает за один канал: красный, зелёный или синий.

Каждая пара принимает значения от 00 до FF. Значения ближе к 00 означают низкую интенсивность канала, ближе к FF — высокую. Например, #000000 отключает все каналы и даёт чёрный цвет, а #FFFFFF устанавливает максимальные значения и даёт белый.

Браузер читает HEX-строку, разбивает её на три части и переводит каждую в десятичное число от 0 до 255. В результате получается RGB-тройка, с которой работает движок рендеринга. HEX — это текстовое представление RGB, удобное для CSS и дизайн-инструментов.

Что такое HSV

HSV расшифровывается как Hue (оттенок), Saturation (насыщенность) и Value (яркость). Это цветовая модель, которая описывает цвет через базовый тон, насыщенность и общую яркость, а не через отдельные каналы RGB.

Оттенок задаётся в градусах от 0 до 360 по цветовому кругу. Насыщенность и яркость задаются в процентах от 0% до 100%. Насыщенность определяет, насколько цвет яркий или серый, а яркость — насколько он светлый по отношению к чёрному.

При низкой насыщенности цвет уходит в серый, при низкой яркости становится тёмным и близким к чёрному. Увеличение яркости делает цвет светлее, а увеличение насыщенности — более интенсивным. Вместе эти параметры образуют значения HSV, например hsv(210, 50%, 70%).

Формула преобразования HEX в HSV

#RRGGBB -> hsv(h, s, v)

1) Convert each pair to decimal:
   RR, GG, BB -> r, g, b in [0, 255]
2) Normalize to the range [0, 1]:
   r' = r / 255, g' = g / 255, b' = b / 255
3) Find max and min of r', g', b':
   max = max(r', g', b')
   min = min(r', g', b')
   delta = max - min
4) Compute value:
   v = max
5) Compute saturation:
   if max == 0 then s = 0
   else s = delta / max
6) Compute hue:
   if delta == 0 then h = 0
   else if max == r' then h = 60 * (((g' - b') / delta) mod 6)
   else if max == g' then h = 60 * (((b' - r') / delta) + 2)
   else if max == b' then h = 60 * (((r' - g') / delta) + 4)
7) Convert h to [0, 360), s and v to percentages:
   H = h
   S = s * 100
   V = v * 100

Алгоритм начинается с преобразования HEX в RGB, нормализации каналов и вычисления оттенка, насыщенности и яркости на основе разницы между минимальным и максимальным значениями каналов. Результат — HSV-тройка, описывающая тот же цвет в более наглядной форме.

Пример для #4FA3C2

1) HEX в RGB:
   #4FA3C2 -> (79, 163, 194)
2) Нормализация:
   r' = 79 / 255
   g' = 163 / 255
   b' = 194 / 255
3) Вычислите max, min, delta, затем h, s, v
4) Итоговый HSV (округлённый):
   hsv(196, 59%, 76%)

Как работает преобразование HEX в HSV по шагам

При преобразовании HEX в HSV всегда используется промежуточное представление RGB. HEX-значение разбивается на три пары, переводится в десятичные числа и затем подставляется в формулу HSV.

#1A2B3C
разделить на [1A, 2B, 3C]
-> rgb(26, 43, 60)
-> hsv(h, s, v)

Ниже показаны основные шаги на примере цвета #1A2B3C.

  • Шаг 1 — Разделить HEX-значение
    [1A] [2B] [3C]
  • Шаг 2 — Перевести каждую пару в десятичное число

    Каждая пара символов — это шестнадцатеричное число. После перевода в десятичную систему получаются значения каналов RGB в диапазоне от 0 до 255, которые используются в формуле HSV.

    1A = (1 * 16) + 10 = 26
    2B = (2 * 16) + 11 = 43
    3C = (3 * 16) + 12 = 60
  • Шаг 3 — Преобразовать RGB в HSV

    Значения RGB нормализуются в диапазон от 0 до 1, затем вычисляются максимум, минимум и разница между ними. После этого применяются формулы для H, S и V, а насыщенность и яркость переводятся в проценты.

    hsv(210, 57%, 24%)

Тот же процесс применяется к любому корректному HEX-цвету: перевод в RGB, вычисление HSV и округление результата до нужной точности для CSS или дизайн-системы.

Где используются HEX и HSV

HEX и HSV описывают одно и то же цветовое пространство с разных сторон. HEX — компактный формат, привычный разработчикам, а HSV ближе к тому, как цвет воспринимается при работе с ползунками и цветовыми кругами.

Когда использовать HEX

  • Короткие цветовые токены: HEX-значения легко читать и копировать, поэтому они хорошо подходят для токенов и документации.
  • Статичные палитры: Если цвет редко меняется, одной HEX-строки достаточно, и код остаётся аккуратным.
  • Совместимость с инструментами: Большинство графических редакторов и браузеров напрямую принимают HEX, поэтому это безопасный формат по умолчанию.

Когда использовать HSV

  • Интерактивные палитры: Во многих палитрах оттенок представлен кругом, а насыщенность и яркость — ползунками, что напрямую соответствует модели HSV.
  • Создание вариаций: Можно легко получить более светлые, тёмные или менее насыщенные варианты базового цвета, меняя только S и V.
  • Подбор палитр: При экспериментировании с цветами правка HSV часто понятнее, чем работа с тремя независимыми каналами RGB.

Итог

Используйте HEX, когда нужны компактные и стабильные коды цветов. Выбирайте HSV при работе с палитрами, генерации цветовых шкал и настройке яркости и насыщенности. Форматы можно свободно преобразовывать друг в друга без потери информации.

Практические советы по использованию HSV в CSS и дизайн-инструментах

CSS напрямую работает с RGB и HSL, но многие дизайнеры мыслят через HSV, так как именно его показывают большинство палитр. Эти советы помогают переключаться между форматами без путаницы.

Связь HSV с дизайн-системой

  • Выберите базовый оттенок: Зафиксируйте один оттенок для брендового цвета и меняйте насыщенность и яркость для состояний hover, active и disabled.
  • Используйте насыщенность для акцентов: Снижайте насыщенность для фонов и повышайте её для основных действий и акцентов.

Переход между HSV и другими форматами

  • Преобразуйте один раз: Используйте конвертер для перевода HSV в HEX или HSL и храните итоговые значения в одном формате внутри проекта.
  • Храните прозрачность отдельно: Если нужна прозрачность, используйте RGBA или HSLA в CSS, но базовый цвет подбирайте в HSV.

Частые ошибки

  • Путаница между value и lightness: В HSV параметр value показывает яркость относительно чёрного, а не баланс между чёрным и белым, как в HSL.
  • Использование только яркости: Меняйте насыщенность вместе с яркостью, чтобы избежать блеклых или слишком резких цветов.
  • Смешивание форматов: Выберите один основной формат (HEX, RGB или HSL) и используйте HSV только для подбора и расчётов.

Следование этим правилам делает работу с цветами более предсказуемой и упрощает поддержку, даже при использовании разных инструментов и цветовых моделей.

Таблица преобразования HEX в HSV

В таблице ниже приведены распространённые HEX-цвета и их значения HSV. Включены основные цвета, оттенки серого и несколько значений, часто встречающихся в интерфейсах.

Справочная таблица HEX → HSV
ОписаниеHEXHSV
Белый#FFFFFFhsv(0, 0%, 100%)
Чёрный#000000hsv(0, 0%, 0%)
Красный#FF0000hsv(0, 100%, 100%)
Зелёный#00FF00hsv(120, 100%, 100%)
Синий#0000FFhsv(240, 100%, 100%)
Жёлтый#FFFF00hsv(60, 100%, 100%)
Голубой#00FFFFhsv(180, 100%, 100%)
Пурпурный#FF00FFhsv(300, 100%, 100%)
Серый 1#111111hsv(0, 0%, 7%)
Серый 2#333333hsv(0, 0%, 20%)
Серый 3#555555hsv(0, 0%, 33%)
Серый 4#777777hsv(0, 0%, 47%)
Серый 5#999999hsv(0, 0%, 60%)
Серый 6#CCCCCChsv(0, 0%, 80%)
Светло-серый#F0F0F0hsv(0, 0%, 94%)
UI-серый#E0E0E0hsv(0, 0%, 88%)
Тёмный UI-серый#1A1A1Ahsv(0, 0%, 10%)
Тёмно-красный#800000hsv(0, 100%, 50%)
Тёмно-зелёный#008000hsv(120, 100%, 50%)
Тёмно-синий#000080hsv(240, 100%, 50%)
Оранжевый#FFA500hsv(39, 100%, 100%)
Фиолетовый#800080hsv(300, 100%, 50%)
Бирюзовый#008080hsv(180, 100%, 50%)

Значения HSV в таблице округлены для удобства чтения. Для точных расчётов используйте конвертер для любого корректного HEX-цвета.

FAQ: HEX → HSV

  • Зачем переводить HEX в HSV

    HEX удобен для хранения цветовых токенов, но HSV проще при настройке яркости и насыщенности. Преобразование позволяет сочетать компактность и контроль.

  • В каких диапазонах задаются H, S и V

    Оттенок задаётся в градусах от 0 до 360. Насыщенность и яркость — в процентах от 0 до 100. Во многих инструментах HSV отображается как три числовых поля или ползунка.

  • Точнее ли HSV, чем HEX или RGB

    Нет. Все эти форматы описывают один и тот же набор цветов. Разница только в способе представления и удобстве ручной правки.

  • Чем HSV отличается от HSL

    В обеих моделях используются оттенок и насыщенность, но третий параметр разный. В HSL это lightness — баланс между чёрным и белым, а в HSV — value, яркость относительно чёрного.

  • Можно ли использовать HEX, HSV, RGB и HSL в одном проекте

    Да. Часто выбирают один основной формат для токенов, а остальные используют при необходимости. Главное — сохранять единый подход и использовать конвертеры вместо ручных расчётов.

Связанные конвертеры: