Clew

ГлавнаяИнструментыПродуктовый дизайнГенератор доступной палитры

Генератор доступной палитры из фирменного цвета

Введите фирменный цвет — и получите шкалу из десяти шагов от 50 до 900, построенную в перцептивном пространстве OKLCH. Для каждого шага виден контраст с белым и чёрным текстом, отдельно перечислены пары шагов, которые проходят WCAG AA, а результат выгружается в CSS-переменные, конфиг Tailwind или дизайн-токены.

● Бесплатно, без регистрацииОбновлено:

HEX, rgb(), hsl() или oklch().
Латиницей, для имён переменных: --brand-500.
Автоматически — там, где светлота подходит лучше всего; можно закрепить 500 или 600 под существующую систему.

—

 

Шаг бренда— 
AA с белым текстом— 
AA с чёрным текстом— 
Пар AA внутри— 
Шаги палитры и их контраст с белым и чёрным
ТокенЦветOKLCH Белый текстЧёрный текстAPCA Lc Б / Ч

Пары текста и фона, проходящие AA (4,5:1)

Шаг фона → шаги той же палитры, которые можно ставить на него текстом.

    Метод. Шаги равномерно распределены по светлоте OKLCH между фирменным цветом и краями шкалы (L ≈ 97,5 % для 50, ≈ 25 % для 900); оттенок не меняется, хрома убывает к белому, цвета вне охвата sRGB теряют хрому, пока не поместятся. Контраст — коэффициент WCAG 2.2 без округления вверх.

    Расчёт идёт в вашем браузере — введённые данные никуда не отправляются.

    Как пользоваться

    1. Введите фирменный цветВставьте HEX из брендбука или выберите цвет в палитре. Генератор найдёт шаг с подходящей светлотой и построит светлые тона выше и тёмные ниже.
    2. Проверьте таблицу контрастаДля каждого шага показан контраст с белым и с чёрным текстом. «AA» — 4,5:1 для обычного текста, «Крупный» — только 3:1 для крупного текста и элементов интерфейса.
    3. Подберите пары текста и фонаСписок пар показывает, какие шаги можно использовать текстом на каждом фоне, — например, текст 700 на фоне 50 для информационной плашки.
    4. Выгрузите результатВыберите CSS-переменные, конфиг Tailwind, JSON или дизайн-токены W3C, задайте название палитры и скопируйте код в проект.

    Почему оттенки строят в OKLCH

    Проще всего осветлить или затемнить цвет, смешав его с белым или чёрным в sRGB или изменив L в HSL. Оба способа дают неровные шкалы. Светлота HSL не перцептивна: жёлтый с L = 50 % выглядит намного ярче синего с теми же 50 %, и «одинаковый» шаг у разных оттенков даёт совсем разный контраст. Смешивание с белым в sRGB сдвигает оттенок: синий уходит в фиолетовый, красный — в розовый.

    OKLCH — цилиндрическая форма пространства OKLab, которое Бьёрн Оттоссон опубликовал в 2020 году; сейчас оно входит в CSS Color Level 4. Пространство разделяет три параметра, важных дизайнеру:

    oklch(L C H) L — воспринимаемая светлота, от 0 % (чёрный) до 100 % (белый) C — хрома, насыщенность (0 — серый, цвета sRGB доходят примерно до 0,32) H — угол оттенка в градусах

    L отражает то, насколько светлым цвет кажется глазу, поэтому равные шаги по L дают шкалы, которые выглядят ровно у любого оттенка, а контраст с белым и чёрным меняется от шага к шагу предсказуемо. По этой причине Tailwind CSS v4 описывает стандартную палитру в OKLCH.

    Как генератор строит шкалу

    1. Фирменный цвет переводится в OKLCH и ставится на шаг с ближайшей опорной светлотой (или на выбранный вами шаг). Его HEX сохраняется точно.
    2. Светлые шаги равномерно распределяются по L между фирменным цветом и L ≈ 97,5 % (шаг 50), тёмные — между фирменным цветом и L ≈ 25 % (шаг 900).
    3. Оттенок не меняется. Хрома убывает к светлому краю — очень светлые тона с полной насыщенностью выглядят кислотно — и снижается максимум на треть к тёмному.
    4. Цвет вне охвата sRGB возвращается в него уменьшением хромы при сохранении L и H, как рекомендует CSS Color 4.
    5. Каждый HEX округляется до 8 бит на канал, и контраст считается по округлённому значению — тому, что попадёт в код.

    Как читать столбцы контраста

    Для каждого шага таблица показывает коэффициент контрастности WCAG 2.2 с чисто белым (#fff) и чисто чёрным (#000) текстом:

    • AA — не меньше 4,5:1: подходит для основного текста, подписей и ссылок.
    • Крупный — от 3:1 до 4,5:1: только для текста от 24 px (18,66 px жирным) и нетекстовых элементов — иконок, рамок, фокусной обводки (WCAG 1.4.11).
    • Нет — ниже 3:1: только декоративные элементы, не текст.
    L = 0,2126 · R_lin + 0,7152 · G_lin + 0,0722 · B_lin контраст = (L_светлого + 0,05) / (L_тёмного + 0,05)

    Шаги распределены по воспринимаемой светлоте, поэтому у большинства оттенков результат похож: белый текст проходит AA на шагах 600–900, чёрный — на 50–500. С обоими цветами одновременно почти ничего не проходит: 4,5:1 и с белым, и с чёрным возможно только в очень узкой полосе относительной яркости — от 0,175 до 0,183. Поэтому в дизайн-системах основные кнопки с белым текстом делают на 600 или 700, а 400–500 оставляют для заливок, графиков и крупного текста.

    Столбец APCA показывает контраст светлоты Lc из черновика WCAG 3 для белого и чёрного текста. Значения выше 75 комфортны для основного текста, выше 60 — для подписей интерфейса, выше 45 — для заголовков. APCA пока не стандарт: используйте его, чтобы выбрать из вариантов, уже прошедших WCAG 2.2.

    Пары внутри палитры

    В тонированных интерфейсах — информационных плашках, выделенных строках, тегах, подсказках онбординга — тёмный шаг ставят на светлый шаг того же оттенка. Список пар показывает для каждого фона, какие шаги текста дают 4,5:1. Ориентир: шаги, между которыми пять и больше ступеней (50 и 600, 100 и 700), обычно проходят, соседние — никогда.

    Как использовать палитру в дизайн-системе

    • Называйте по роли, а не по значению. Выгрузите шкалу как --brand-50 … --brand-900, а поверх назначьте роли: --color-primary: var(--brand-600), --color-primary-text: var(--brand-700), --color-info-bg: var(--brand-50). Если бренд поменяется, правка затронет один список.
    • Зафиксируйте разрешённые пары. Запишите, какой шаг текста можно ставить на какой фон, чтобы никто в спешке не поставил текст 400 на фон 100.
    • Тёмная тема — отдельное сопоставление. Используйте ту же шкалу в обратную сторону — светлые шаги для текста, тёмные для поверхностей — и снова проверьте пары: тёмные сочетания, проходящие WCAG 2, всё равно могут казаться блёклыми, и APCA показывает это лучше.
    • Состояниям тоже нужен контраст. Наведение и нажатие обычно сдвигают цвет на шаг темнее; фокусной обводке нужно 3:1 относительно окружающего фона.
    • Семантические цвета — успех, предупреждение, ошибка — строятся так же, из одного базового цвета каждый. Жёлтый и салатовый узнаваемы только на светлых шагах, где белый текст не проходит, — ставьте на них тёмный текст.

    Чтобы проверить отдельную пару, в том числе цвета вне палитры или полупрозрачные подложки, воспользуйтесь проверкой контраста цветов.

    Источники

    1. Ottosson B. A perceptual color space for image processing, 2020 — пространства OKLab и OKLCH, матрицы преобразования.
    2. W3C. CSS Color Module Level 4 — запись oklch() и приведение к охвату уменьшением хромы.
    3. W3C. Web Content Accessibility Guidelines (WCAG) 2.2 — критерии 1.4.3, 1.4.6 и 1.4.11, относительная яркость и коэффициент контрастности.
    4. Somers A. APCA — Accessible Perceptual Contrast Algorithm, apca-w3 0.0.98G-4g — значения Lc.
    5. W3C Design Tokens Community Group. Design Tokens Format Module, черновик — структура $type и $value в экспорте токенов.

    Частые вопросы

    Что означают числа от 50 до 900 в палитре?

    Это шаги светлоты одного оттенка, которые популяризировали Material Design и Tailwind CSS: 50 — самый светлый тон, 900 — самый тёмный, а 500 или 600 обычно близки к фирменному цвету. Числа — названия, а не измерения, поэтому любой шаг можно подстроить.

    Почему оттенки лучше строить в OKLCH, а не в HSL?

    Светлота OKLCH соответствует воспринимаемой яркости, а светлота HSL — нет: жёлтый и синий с одинаковой светлотой HSL выглядят совсем по-разному и дают разный контраст. Равные шаги в OKLCH дают шкалы, ровные для любого оттенка и без сдвига тона при осветлении.

    Какой шаг палитры брать для текста на белом?

    Первый шаг, у которого в таблице не меньше 4,5:1 с белым. В палитрах этого генератора обычно это 600, потому что шаги следуют воспринимаемой светлоте; в палитрах на основе HSL жёлтому, салатовому и бирюзовому часто нужен 800 и темнее. Для крупного текста и иконок достаточно 3:1, поэтому может подойти шаг светлее.

    Почему ни один шаг не проходит и с белым, и с чёрным текстом?

    Чтобы получить 4,5:1 одновременно с белым и с чёрным, цвету нужна относительная яркость от 0,175 до 0,183 — полоса настолько узкая, что шаги палитры в неё почти не попадают. Это нормально: на тёмных шагах используйте белый текст, на светлых — тёмный.

    Мой фирменный цвет точно будет в палитре?

    Да. Фирменный цвет сохраняет точный HEX на шаге, где его светлота подходит лучше всего, или на выбранном вами шаге, а остальные шаги строятся вокруг него.

    Как подключить экспорт в Tailwind CSS?

    Для Tailwind v3 вставьте экспорт «Конфиг Tailwind» в theme.extend.colors в tailwind.config.js и используйте классы вроде bg-brand-600. Для Tailwind v4 выгрузите CSS-переменные и переименуйте их в --color-brand-600 внутри блока @theme.

    Ещё в разделе «Продуктовый дизайн»

    Открыть подборку →

    Подсказки, туры и чеклисты, эффект которых видно в цифрах.

    Попробовать Clew бесплатноКак это работаетFree — бесплатно навсегда · Pro и Business — 14 дней без карты

    Туры, попапы и онбординг в эпоху ИИ

    7 паттернов с числом шагов, правилами текста и метриками, что меняет ИИ, чек-лист перед публикацией. PDF, 2 страницы. Что внутри гайда →