Как пользоваться генератором палитры
- Нажмите «Новая палитра» (или пробел на клавиатуре) — появятся пять цветов, подобранных по правилу цветовой гармонии. Каждое нажатие даёт новую случайную палитру.
- Закрепите понравившиеся цвета замком под образцом. Закреплённые цвета остаются на месте, а остальные меняются; в случайном режиме первый закреплённый цвет становится опорным, и новые цвета подбираются под него.
- Начните со своего цвета: переключите «Начать с» на «Мой базовый цвет» и выберите его — например, фирменный цвет. Тогда в каждой палитре будет ровно этот цвет.
- Выберите гармонию (аналоговая, монохромная, комплементарная, расщеплённо-комплементарная, триада, тетрада или светлые и тёмные оттенки) или оставьте «Любая», чтобы она менялась каждый раз.
- Подправьте цвет карандашом — откроется выбор цвета вашего устройства; изменённый цвет закрепляется автоматически.
- Возьмите цвета с фотографии: нажмите «Цвета с изображения», перетащите файл на инструмент или вставьте скриншот. Пять основных цветов изображения будут найдены и закреплены.
- Копируйте и экспортируйте: нажмите на код, чтобы скопировать его, переключайте HEX, RGB, HSL и OKLCH, копируйте всю палитру как CSS-переменные или JSON или скачайте PNG с пятью образцами. «Скопировать ссылку» даёт адрес, который открывает ровно эту палитру.
Всё работает в браузере. Загруженное изображение читается на вашем устройстве, уменьшается до 100 пикселей по длинной стороне и анализируется там же; на сервер оно не отправляется.
Почему палитры строятся в OKLCH
Привычные цветовые круги — HSL в CSS, HSV/HSB в графических редакторах — лишь перестановка красного, зелёного и синего каналов, а не модель того, как видит человек. При одинаковой светлоте HSL 50 % чистый жёлтый кажется гораздо светлее чистого синего, поэтому палитра, построенная поворотом тона в HSL, прыгает от кричащих цветов к блёклым. Этот генератор работает в OKLCH — полярной форме OKLab, перцептивного цветового пространства, которое Бьёрн Оттоссон (Björn Ottosson) опубликовал в 2020 году и которое вошло в CSS Color Module Level 4 как функция oklch(). Три числа: L — воспринимаемая светлота (0–100 %), C — хрома, то есть насыщенность (0 — серый, цвета sRGB доходят примерно до 0,32), и H — угол цветового тона в градусах. Одинаковые шаги по L выглядят одинаковыми шагами яркости при любом тоне.
Перевод цвета идёт в три шага: снимается гамма-кривая sRGB, чтобы получить линейный свет, значения умножаются на фиксированную матрицу и из них извлекается кубический корень, затем вторая матрица даёт L, a и b. Хрома равна √(a² + b²), тон — atan2(b, a). Эталонные значения этого инструмента совпадают с опубликованными:
| Цвет | HEX | OKLCH |
|---|---|---|
| Красный | #ff0000 | oklch(62.8% 0.258 29.2) |
| Лаймовый | #00ff00 | oklch(86.6% 0.295 142.5) |
| Синий | #0000ff | oklch(45.2% 0.313 264.1) |
| Белый | #ffffff | oklch(100% 0 0) |
| Тёмно-синий | #1f4e79 | oklch(41.4% 0.088 249.1) |
Не каждый цвет OKLCH можно показать на экране. Если задуманный цвет выходит за охват sRGB, генератор сохраняет его светлоту и тон и уменьшает хрому, пока цвет не поместится, — та же идея, что и в отображении охвата в CSS Color 4. Поэтому тон в палитре никогда не съезжает из-за обрезки цвета.
Как строится палитра
Каждая палитра начинается с опорного цвета: вашего базового цвета, первого закреплённого или случайного цвета со светлотой от 45 до 80 % и умеренной хромой. Остальные четыре цвета получают тона выбранной гармонии и уровни светлоты, разнесённые от 30 до 90 % (ближайший к опорному цвету уровень пропускается, так что каждый цвет отличается от него по светлоте). Хрома меняется в пределах 30 % от хромы опорного цвета и уменьшается у очень светлых и очень тёмных цветов, которые при полной насыщенности выглядят кричаще. Все решения задаёт одно случайное число, которое выбирается при каждом нажатии «Новая палитра», и одно и то же число всегда даёт одну и ту же палитру — поэтому скопированная ссылка точно воспроизводит ваши цвета.
| Гармония | Тона относительно опорного цвета | Характер |
|---|---|---|
| Аналоговая | от −2 до +2 шагов по 18–32° | Спокойная, естественная, цельная |
| Монохромная | Один тон, пять уровней светлоты | Надёжна для интерфейсов и графиков |
| Комплементарная | 0° и 180° | Сильный контраст; противоположный тон — для акцентов |
| Расщеплённо-комплементарная | 0°, 150° и 210° | Контраст, который легче уравновесить |
| Триада | 0°, 120° и 240° | Яркая; один тон должен доминировать |
| Тетрада (квадрат) | 0°, 90°, 180° и 270° | Богатая; большинство цветов приглушить |
| Светлые и тёмные оттенки | Один тон, смешанный в OKLab с белым и чёрным | Один цвет для фона, рамок и текста |
Углы отсчитываются на круге OKLCH, поэтому дополнительный цвет может отличаться от того, что показывает круг HSL или художественный круг Иттена (красный — жёлтый — синий): для тёмно-синего #1f4e79 (тон 249°) дополнительный в OKLCH — тёплый оливково-оранжевый тон около 69°.
Пример: триада от #1f4e79
С базовым цветом #1f4e79 (светлота OKLCH 41,4 %, хрома 0,088, тон 249,1°) и гармонией «Триада» начальное случайное число страницы даёт такие цвета. Тона лежат около 249°, 9° и 129° — через 120° друг от друга, — а светлота меняется от 28,7 до 92,9 %:
| № | HEX | OKLCH | Белый текст | Чёрный текст |
|---|---|---|---|---|
| 1 | #1f4e79 | oklch(41.4% 0.088 249.1) | 8,66:1 | 2,42:1 |
| 2 | #461a23 | oklch(28.7% 0.068 9.7) | 14,66:1 | 1,43:1 |
| 3 | #758e58 | oklch(61.3% 0.082 128.8) | 3,64:1 | 5,76:1 |
| 4 | #ffdee2 | oklch(92.9% 0.037 9.5) | 1,25:1 | 16,79:1 |
| 5 | #a2b68d | oklch(75% 0.061 129) | 2,18:1 | 9,61:1 |
Столбцы контраста показывают, какой текст подойдёт к каждому цвету. На тёмном бордовом белый текст даёт 14,66:1, на бледно-розовом чёрный текст — 16,79:1, а средний зелёный с белым текстом достигает лишь 3,64:1: годится для крупных заголовков, но мало для основного текста.
Контраст и доступность
На каждом образце указан лучший из двух вариантов — белый или чёрный текст — с коэффициентом и уровнем, а таблица под палитрой показывает оба. Расчёт следует Руководству по доступности веб-контента (WCAG) 2.2 консорциума W3C (российский ГОСТ Р 52872-2019 основан на предыдущей версии 2.1 с теми же порогами): относительная яркость равна 0,2126 R + 0,7152 G + 0,0722 B линеаризованных каналов, а коэффициент контраста — (светлее + 0,05) / (темнее + 0,05), от 1:1 до 21:1. Обычному тексту нужно 4,5:1 для уровня AA и 7:1 для AAA; крупному (24 px или 18,7 px полужирным) — 3:1 для AA. Коэффициенты отбрасываются, а не округляются, до двух знаков после запятой, поэтому цвет никогда не показан прошедшим проверку, если он её не проходит.
Советы по использованию палитры
- Дайте каждому цвету роль. Распространённое деление — 60 % на фон или основной цвет, 30 % на дополнительный и 10 % на акцент; самый тёмный цвет часто подходит для текста.
- Проверьте текст, прежде чем решать. Таблица контраста сразу покажет, какие пары проходят по WCAG.
- Не полагайтесь только на тон. Около 8 % мужчин различают красный и зелёный хуже обычного; меняйте и светлоту.
- Используйте экспорт CSS как основу для дизайн-токенов: переименуйте
--color-1и остальные в роли вроде--brandили--surface.
Частые вопросы
Как подобрать палитру к фирменному цвету?
Переключите «Начать с» на «Мой базовый цвет», выберите цвет и гармонию. В каждой палитре будет ровно ваш цвет, а остальные четыре подбираются вокруг него. Нажимайте «Новая палитра», пока результат не понравится.
Как сохранить понравившийся цвет?
Нажмите на замок под ним. Закреплённые цвета остаются на месте при нажатии «Новая палитра» или пробела, а первый закреплённый цвет становится опорным для следующих палитр, поэтому новые цвета продолжают с ним сочетаться. Повторное нажатие на замок открепляет цвет.
Можно ли подобрать палитру по фото?
Да. Нажмите «Цвета с изображения», перетащите файл на инструмент или вставьте скриншот. Изображение уменьшается на вашем устройстве до 100 пикселей, пиксели группируются методом медианного сечения и уточняются методом k-средних, а пять самых крупных групп становятся палитрой — от самого частого цвета к редкому. Ничего не загружается на сервер.
Как поделиться палитрой или сохранить её?
Нажмите «Скопировать ссылку»: в адресе есть цвета, закрепления и случайное число, поэтому он открывает ту же палитру где угодно. Последняя палитра также запоминается на этом устройстве. Чтобы сохранить картинку, нажмите «Скачать PNG».
Почему OKLCH, а не HSL?
OKLCH — перцептивное пространство: одинаковое значение светлоты выглядит одинаково светлым при любом тоне, поэтому в палитрах ровный и продуманный разброс светлых и тёмных цветов. В HSL жёлтый и синий при светлоте 50 % выглядят совершенно по-разному. Коды oklch() к тому же работают прямо в CSS современных браузеров.
Что значат AAA, AA и «Низкий» на образцах?
Это оценка по WCAG 2.2 для лучшего из вариантов — белого или чёрного текста — на этом цвете: AAA — не меньше 7:1, AA — не меньше 4,5:1 (достаточно для основного текста), AA крупный — не меньше 3:1 (только заголовки), «Низкий» — меньше 3:1.
Обновлено: 15 октября 2026 г.