Генератор случайных цветов

Сгенерируйте до 50 случайных цветов одновременно — любой цвет или только яркие, пастельные либо тёмные — каждый с кодом HEX, RGB или HSL и значком контрастности, созданные в вашем браузере с безопасной случайностью.

Нажмите «Сгенерировать», чтобы получить результат
Расширенные настройки
Оттенок (°)
Насыщенность (%)
Светлота (%)

Нужен цвет для макета, диаграммы или пустого холста, и вы предпочитаете не выбирать его по привычке? Этот бесплатный генератор случайных цветов берёт цвета из полного 24-битного диапазона, который может показать экран, и размещает каждый на образце рядом с его кодом. Выберите в поле Количество, сколько цветов вам нужно — от 1 до 50, — отметьте нужные форматы и нажмите кнопку Сгенерировать. Страница открывается с одним цветом в HEX, так что первый результат — это всего один клик. Флажок Код HEX отмечен с самого начала, рядом с ним стоят флажки Код RGB и Код HSL, и можно включить любую комбинацию этих трёх одновременно. Кнопка с шестерёнкой рядом с кнопкой Сгенерировать открывает раздел Расширенные настройки, где можно ограничить цвета одним типом или диапазоном, исключить повторения и изменить способ записи HEX.

Каждый цвет создаётся в вашем браузере с помощью Web Crypto API (crypto.getRandomValues), который предоставляет криптографически стойкие случайные байты из собственного источника случайности вашей системы, а не с помощью псевдослучайной функции вроде Math.random(). Цвет на экране — это три канала: красный, зелёный и синий, каждый — целое число от 0 до 255, а один случайный байт может принимать ровно 256 значений. Поэтому каждый канал — это просто один байт, без промежуточных шагов: остаток не берётся, и ни один шаг преобразования не отдаёт предпочтение какому-либо оттенку. Это делает все 16 777 216 цветов, которые может создать страница, абсолютно равновероятными каждый раз, когда вы нажимаете Сгенерировать. Более узкий диапазон в разделе Расширенные настройки сохраняет это свойство в пределах диапазона: цвета по-прежнему выбираются из всего пространства, а те, что выходят за его пределы, отбрасываются, так что каждый цвет, допустимый диапазоном, имеет одинаковый шанс. Ничего не отправляется на сервер, ничего не записывается, и как только страница загрузилась, она продолжает работать даже без подключения.

Три формата описывают один и тот же цвет тремя способами. Формат Код HEX — это шестизначная форма, используемая в CSS и большинстве инструментов дизайна, например #0778ff; она записывается строчными буквами с # в начале, а опции Заглавные буквы и Без # в разделе Расширенные настройки меняют это для инструментов, которые ожидают другой записи. Формат Код RGB расписывает три канала, как в rgb(7, 120, 255), что подходит для кода, работающего с каждым каналом отдельно. Формат Код HSL описывает цвет через оттенок, насыщенность и светлоту, как в hsl(213, 100%, 51%) — это форма, которую проще всего скорректировать вручную впоследствии. Все три вставляются прямо в таблицу стилей. Однако они не одинаково точны. HEX и RGB точны; HSL округлён. Страница записывает оттенок, насыщенность и светлоту целыми числами, и примерно для 89% цветов это округлённое значение не даёт при обратном пересчёте точно тот же цвет: #646503 показывается как hsl(61, 94%, 20%), что при обратном пересчёте даёт #616303. Разница никогда не превышает 5 шагов в канале и обычно составляет 1 или 2 — незаметная на экране, но реальная, если вы сохраняете значение HSL и рассчитываете получить исходный HEX. Поэтому сохраняйте лучше значение HEX или RGB.

Один цвет отображается в виде отдельного блока в середине результата; несколько цветов отображаются в виде пронумерованного списка, по одному цвету в строке, с выбранными форматами рядом и небольшим значком контрастности в конце. Список из более чем трёх цветов прокручивается внутри рамки, а стрелка в её углу раскрывает его на полную высоту; страница запоминает, в каком виде вы его оставили. Нажмите на любой код, чтобы скопировать только этот код. Кнопка копирования в конце строки копирует все коды этого цвета в одну строку, разделённые пробелами. Нажмите на сам образец, и откроется встроенное окно выбора цвета вашего браузера: выберите там другой цвет, и все коды в этой строке перепишутся соответственно, в каждом включённом формате, вместе со значком. Кнопка Скопировать всё копирует всю партию, по одному цвету в строке, а кнопка Сохранить в файл записывает тот же текст в обычный файл .txt; обе учитывают любой цвет, изменённый в окне выбора цвета. Панель История хранит ваши последние 10 партий в этом браузере точно такими, какими они были сгенерированы, а кнопка Очистить очищает результат. Ваши настройки, включая настройки в разделе Расширенные настройки, запоминаются для следующего визита.

Равновероятные цвета не выглядят равномерно распределёнными, а знание того, чего ожидать, убережёт от нажатия Сгенерировать по неверной причине. По измерениям на всём диапазоне около 35% цветов яркие и насыщенные, с насыщенностью HSL не менее 70% и светлотой от 35% до 65%. Почти серые цвета с насыщенностью ниже 20% составляют только около 4%, а очень тёмные цвета (светлота ниже 20%) и очень светлые (выше 80%) составляют примерно по 3%. Поэтому партия из десяти цветов с опцией Все цвета обычно будет содержать несколько насыщенных цветов и редко — пастельный или угольно-серый. Когда вам нужен определённый тип, выберите его в поле Тип цвета: опция Яркие соответствует именно этой группе, а опции Пастельные, Тёмные, Приглушённые и Оттенки серого — каждая своей. Опция Свои позволяет задать собственные диапазоны для полей Оттенок, Насыщенность и Светлота, и диапазон оттенка может проходить через 0, так что диапазон от 330 до 30 даёт красные тона. Диапазон проверяется относительно кода HSL, который показывает страница, так что ни один код не выходит за его пределы, а если в нём слишком мало цветов для вашего значения в поле Количество, страница просит расширить его, а не повторять цвета. В остальном повторения возможны, но редки: отметьте опцию Без повторений, чтобы исключить их, а без неё вероятность того, что два из 50 цветов из полного диапазона совпадут, составляет около 1 к 13 700.

Случайный цвет часто нужен в качестве фона, и тут возникает вопрос, на который образец не может ответить на глаз: будет ли текст на нём читаемым? Руководство по веб-доступности WCAG требует коэффициента контрастности не менее 4,5:1 для обычного текста. По измерениям на всех цветах, которые может создать эта страница, чёрный текст достигает этого примерно на 65% из них, а белый текст — примерно на 36%, и нет ни одного цвета, на котором оба варианта не проходят: лучший из двух всегда достигает не менее 4,58:1. Поэтому для любого случайного фона подойдёт либо чёрный, либо белый текст, и страница показывает, какой именно. Рядом с каждым цветом отображается небольшой значок с надписью Aa более читаемым из двух цветов текста, а за ним — коэффициент контрастности. Коэффициент округляется в меньшую сторону, поэтому он никогда не завышается и обновляется, когда вы меняете цвет в окне выбора цвета. Значок сравнивает только чёрный и белый текст; для фирменного цвета или любого другого цвета текста воспользуйтесь сервисом проверки контрастности.

Случайность — не то же самое, что гармоничность. Каждый цвет в партии выбирается независимо, без знания об остальных, поэтому генератор никогда не строит палитру в дизайнерском смысле — ни комплементарных пар, ни аналоговых рядов, ни общей светлоты. Более узкий диапазон меняет характер партии, а не это правило: пастельные тона или ряд синих оттенков по-прежнему появляются один за другим, и ничто их не связывает. В этом и смысл: генератор даёт вам цвет, который вы бы сами не выбрали, и именно это помогает выйти из привычки или творческого застоя. Чтобы превратить случайную находку во что-то полезное, сохраните понравившийся цвет и стройте на его основе, а не нажимайте Сгенерировать, пока весь набор случайно не совпадёт. Зафиксируйте его оттенок и меняйте светлоту, чтобы получить более светлые и более тёмные варианты, или поверните оттенок на 180 градусов, чтобы получить контрастную пару. Формат Код HSL превращает эти действия в арифметику, а не в угадывание.

Почему стоит выбрать этот генератор случайных цветов?

Случайные цвета оказываются полезны везде, где цвет нужен ещё до того, как кто-то его выбрал. Дизайнеры используют их, чтобы преодолеть творческий застой и найти отправную точку, до которой их привычная палитра никогда бы не добралась. Разработчики заполняют макеты, заглушки и аватары, дают каждой серии на графике собственный цвет, пока настоящая тема ещё не определена, и проверяют, как интерфейс справляется с фонами, для которых он не был спроектирован, — партия из 50 цветов с опцией Все цвета почти всегда включает хотя бы один очень тёмный или очень светлый цвет, а опция Тёмные или Пастельные направляет проверку в одну из этих крайностей. Генеративные художники и те, кто прототипирует игры, передают значения прямо в код, где форма RGB подходит для большинства графических библиотек. Преподаватели размещают три формата рядом, чтобы показать, что один цвет можно записать как код, как три канала или как позицию на цветовом круге, и почему версия HSL округлена. А любой, кто маркирует, тегирует или раскрашивает список по цветам, получает различимые цвета, не мучаясь над выбором.

Стоит знать несколько честных ограничений. Это генератор, а не инструмент для палитр: он не строит цветовые гармонии и не удерживает один цвет неизменным, пока остальные меняются, а более узкий диапазон даёт цвета одного типа, а не цвета, подобранные для сочетания друг с другом. Значок контрастности сравнивает только чёрный и белый текст. Страница работает с цветами sRGB, которые показывает экран, — HEX, RGB и HSL, — без прозрачности и без CMYK, Pantone, OKLCH или именованных цветов CSS; для печати сверяйте цвет в вашем процессе печати, а не полагайтесь на экранный код. Один и тот же код может также выглядеть немного по-разному на разных экранах, потому что экраны откалиброваны неодинаково. Значения HSL округлены, как описано выше, и если опция Без повторений не отмечена, партия не проверяется на повторения. То, что страница действительно гарантирует, — скромнее, но точно: каждый из её 16 777 216 цветов, или каждый цвет в пределах заданного вами диапазона, имеет одинаковый шанс при каждом нажатии, полученный из криптографического источника вашего браузера и никогда никуда не отправленный.

FAQ

Как сгенерировать случайный цвет?

Выберите в поле Количество, сколько цветов вам нужно, от 1 до 50, отметьте нужные форматы — Код HEX, Код RGB, Код HSL или любую комбинацию — и нажмите кнопку Сгенерировать. Страница открывается с одним цветом в HEX, так что первый результат требует всего одного клика. Каждый цвет отображается на образце рядом со своим кодом.

Действительно ли цвета случайны и одинаково ли вероятен каждый цвет?

Да. Каждый цвет поступает из Web Crypto API вашего браузера (crypto.getRandomValues) — криптографически безопасного источника, используемого там, где случайность должна быть непредсказуемой. Каждый канал — это один случайный байт, который может принимать ровно те 256 значений, что нужны каналу, так что ни один шаг преобразования не может отдать предпочтение какому-либо оттенку. Все 16 777 216 цветов абсолютно равновероятны, а когда вы сужаете диапазон, то же верно для каждого цвета внутри него.

В чём разница между HEX, RGB и HSL?

Это три способа записи одного и того же цвета. HEX — это шестизначный код вроде #0778ff, используемый в CSS и большинстве инструментов дизайна. RGB задаёт красный, зелёный и синий каналы, как в rgb(7, 120, 255). HSL задаёт оттенок, насыщенность и светлоту, как в hsl(213, 100%, 51%) — это форма, которую проще всего скорректировать вручную. Все три можно вставить прямо в CSS.

Почему код HSL не даёт при обратном пересчёте точно тот же цвет?

Потому что страница записывает HSL целыми числами, а округление отнимает немного точности. Примерно 89% цветов не пересчитываются обратно точно: #646503 показывается как hsl(61, 94%, 20%), что при обратном пересчёте даёт #616303. Разница никогда не превышает 5 шагов в канале и обычно составляет 1 или 2. HEX и RGB точны; HSL округлён. Сохраняйте HEX или RGB, когда важен точный цвет.

Могу ли я генерировать только пастельные, тёмные или яркие цвета?

Да. Откройте раздел Расширенные настройки кнопкой с шестерёнкой и выберите в поле Тип цвета: Яркие, Пастельные, Тёмные, Приглушённые или Оттенки серого. Опция Свои позволяет задать собственные диапазоны для полей Оттенок, Насыщенность и Светлота, и диапазон оттенка может проходить через 0, так что диапазон от 330 до 30 даёт красные тона. Каждый цвет внутри диапазона одинаково вероятен, и ни один код не выходит за его пределы; если в диапазоне слишком мало цветов для вашего значения в поле Количество, страница просит его расширить.

Как скопировать один цвет или всю партию?

Нажмите на любой код, чтобы скопировать только этот код, или воспользуйтесь кнопкой копирования в конце строки, чтобы скопировать все коды этого цвета в одну строку. Кнопка Скопировать всё копирует всю партию, по одному цвету в строке, а кнопка Сохранить в файл сохраняет тот же текст как файл .txt. Опции Заглавные буквы и Без # в разделе Расширенные настройки меняют способ записи HEX везде, где он копируется или сохраняется.

Могу ли я изменить цвет после того, как он сгенерирован?

Да. Нажмите на его образец, чтобы открыть встроенное окно выбора цвета вашего браузера, и выберите другой цвет. Все коды в этой строке обновятся соответственно, в каждом включённом формате, как и значок контрастности; кнопка Скопировать всё и кнопка Сохранить в файл используют изменённый цвет. Панель История хранит партию такой, какой она была сгенерирована изначально.

Может ли один и тот же цвет появиться дважды в одной партии?

Нет, если вы отметите опцию Без повторений в разделе Расширенные настройки: тогда все цвета в партии будут разными. Без неё страница этого не проверяет, и при 16 777 216 возможных цветов вероятность того, что два из 50 окажутся одинаковыми, составляет около 1 к 13 700.

Будет ли текст читаемым на случайном цвете фона?

Всегда подойдёт один из двух цветов текста, и страница показывает, какой именно. Согласно рекомендации WCAG о коэффициенте 4,5:1 для обычного текста, чёрный текст читаем примерно на 65% цветов, а белый текст — примерно на 36%, и при каждом цвете хотя бы один из двух соответствует требованию, с коэффициентом не менее 4,58:1. Рядом с каждым цветом отображается значок, написанный более читаемым из двух цветов, с коэффициентом, округлённым в меньшую сторону. Значок охватывает только чёрный и белый, так что любой другой цвет текста проверяйте в сервисе проверки контрастности.

Создаёт ли генератор цветовые палитры, которые сочетаются друг с другом?

Нет. Каждый цвет выбирается независимо, поэтому партия — это набор не связанных между собой цветов, а не гармоничная палитра — даже если вы сужаете её до пастельных тонов или одного оттенка. Случайность — не то же самое, что гармоничность. Чтобы построить палитру, сохраните понравившийся цвет и выведите остальные из него — например, меняя только светлоту в его коде HSL.

Могу ли я получить цвета CMYK, Pantone или прозрачные цвета?

Нет. Страница создаёт только экранные цвета sRGB в форматах HEX, RGB и HSL, без прозрачности, и не поддерживает CMYK, Pantone, OKLCH или именованные цвета CSS. Для печати сверяйте цвет в вашем процессе печати, а не полагайтесь на экранный код.

Отправляется ли что-то из того, что я генерирую, на сервер и сохраняется ли оно?

Нет. Цвета генерируются локально в вашем браузере, ничего не отправляется и не записывается, и страница продолжает работать офлайн после загрузки. Панель История хранит только ваши последние 10 партий в этом браузере, и вы можете отключить её или очистить.