Color Name Finder

Найдите ближайший CSS-цвет с именем для любого HEX или RGB значения

Попробовать пример

Цвет (HEX)

Ближайшие CSS-цвета с именами

MediumSlateBlueближайший
#7B68EE
Δ 24
RoyalBlue
#4169E1
Δ 38
SlateBlue
#6A5ACD
Δ 39
CornflowerBlue
#6495ED
Δ 47
MediumPurple
#9370DB
Δ 54

Δ = расстояние между цветами (меньше — ближе)

Что такое CSS-цвет с именем?

CSS определяет 148 именованных цветов, которые браузеры распознают по ключевому слову вместо числового кода. Вместо #ff6347 в таблице стилей можно написать Tomato. Вместо #6a5acd — SlateBlue. Эти имена были стандартизированы в рамках CSS Color Level 3 (2011) и Level 4 (2022) на основе исходных 17 цветов из CSS 2.1 и 140 цветов X11, унаследованных от ранних Unix-систем с оконным интерфейсом.

Инструмент поиска имён цветов принимает произвольный hex или RGB и находит ближайший именованный CSS-цвет. Алгоритм вычисляет расстояние между двумя цветами в пространстве RGB — как правило, евклидово расстояние: sqrt((r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2). Побеждает именованный цвет с наименьшим расстоянием до входного значения. Если расстояние равно нулю — ваш цвет точно совпадает с этим именем.

Это полезно, когда нужен читаемый, самодокументирующийся CSS. Правило background-color: Tomato передаёт намерение быстрее, чем background-color: #ff6347. Это также удобно, когда цвет нужно назвать устно — на ревью дизайна, аудите доступности или в документации. Вместо «тот красновато-оранжевый» можно сказать «Tomato».

Зачем использовать этот инструмент?

Искать ближайший именованный цвет вручную означает листать справочную таблицу из 148 записей и на глаз сравнивать hex-значения. Этот инструмент выполняет расчёт расстояния и возвращает 5 ближайших совпадений с точными hex-кодами и оценками расстояния.

🔍
Определите любой цвет по имени
Вставьте hex-код из дизайн-файла, палитры или скриншота и мгновенно получите ближайший именованный CSS-цвет. Инструмент возвращает 5 совпадений, отсортированных по расстоянию, чтобы выбрать наиболее подходящий.
🔒
Обработка без передачи данных
Сопоставление цветов выполняется полностью в браузере. Никакие значения цветов не отправляются на сервер. Инструмент работает офлайн после загрузки страницы.
Мгновенные результаты
Расчёт расстояния выполняется при каждом нажатии клавиши. Измените один символ в hex-поле — отсортированные результаты обновятся немедленно без задержки на обращение к серверу.
📋
Копируйте имена и hex-коды
Нажмите на любой результат, чтобы скопировать имя цвета или hex-значение в буфер обмена. Вставляйте напрямую в CSS, переменные Sass, конфигурацию Tailwind или поля дизайн-инструментов.

Сценарии использования Color Name Finder

Читаемый CSS
Frontend-разработчики, заменяющие hex-литералы именованными цветами, получают таблицы стилей, которые проще читать при ревью кода. Именованные цвета передают намерение без необходимости устанавливать расширение для предпросмотра цветов.
Метки в ответах API
Backend-разработчики, создающие API для работы с цветами, могут возвращать человекочитаемую метку вместе с hex-кодом. Нахождение ближайшего CSS-имени цвета даёт пользователям понятную точку отсчёта без необходимости вести собственный словарь имён.
Документация по доступности
QA-инженеры, документирующие проблемы контрастности цветов, могут ссылаться на цвета по имени в отчётах об ошибках. «Текст Crimson на фоне DarkSlateGray не проходит критерий AA по контрастности» понятнее, чем перечисление hex-пар.
Легенды на графиках
Инженеры по данным, подписывающие серии графиков именованными цветами, получают легенды, читаемые без образца цвета. Имя «CornflowerBlue» полезнее при печати или в монохромном контексте, чем «#6495ed».
Передача в разработку
Когда дизайнер передаёт цвет из Figma или Sketch в виде hex-значения, разработчик может найти ближайшее CSS-имя и обсудить его по названию в Slack или комментарии к pull request.
Изучение CSS-цветов
Студенты, изучающие CSS, могут вводить произвольные hex-значения и находить ближайшие именованные цвета. Просматривая результаты по расстоянию, они знакомятся со 148 встроенными ключевыми словами цветов.

Справочник именованных CSS-цветов по группам

Спецификация CSS Color Level 4 определяет 148 именованных ключевых слов для цветов. Таблица ниже группирует их по оттенку с количеством и несколькими примерами имён на группу. Каждое имя в таблице является допустимым CSS-ключевым словом, работающим во всех современных браузерах.

Группа цветовКоличествоПримеры имён
Red / Pink14IndianRed, LightCoral, Salmon, DarkSalmon, Crimson, Red, +8 more
Orange5Coral, Tomato, OrangeRed, DarkOrange, Orange
Yellow10Gold, Yellow, LightYellow, LemonChiffon, PapayaWhip, Moccasin, +4 more
Green19GreenYellow, Chartreuse, LawnGreen, Lime, LimeGreen, SpringGreen, +13 more
Blue / Cyan24Aqua, Cyan, LightCyan, PaleTurquoise, Aquamarine, Turquoise, +18 more
Purple19Lavender, Thistle, Plum, Violet, Orchid, Fuchsia, +13 more
Brown17Cornsilk, BlanchedAlmond, Bisque, NavajoWhite, Wheat, BurlyWood, +11 more
Gray / White27White, Snow, HoneyDew, MintCream, Azure, AliceBlue, +21 more

Расстояние между цветами: евклидово RGB против перцептивного

Метод измерения расстояния между цветами влияет на то, какой именованный цвет будет признан ближайшим. Существуют два подхода, и для одного входного значения они могут давать разные результаты.

Евклидово расстояние в RGB
Рассматривает R, G, B как оси в трёхмерном пространстве и вычисляет расстояние по прямой: sqrt((r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2). Простой, быстрый метод, используемый в данном инструменте. Хорошо работает в большинстве практических случаев, но может расходиться с человеческим восприятием при переходах из зелёного в синий, поскольку глаз чувствительнее к зелёному, чем к синему.
CIEDE2000 (Delta E)
Перцептивная формула расстояния, определённая Международной комиссией по освещению (CIE). Сначала переводит цвета в цветовое пространство CIELAB, затем применяет поправки на светлоту, насыщенность и оттенок для соответствия человеческому восприятию. Точнее для пограничных случаев, но значительно сложнее в вычислении. Необходима для промышленного сопоставления цветов; избыточна для поиска ближайшего CSS-ключевого слова.

Примеры кода

Поиск ближайшего именованного CSS-цвета программным способом с использованием евклидового расстояния в пространстве RGB. Каждый пример принимает hex-строку и возвращает ближайшее имя цвета из спецификации CSS.

JavaScript
// Euclidean distance in RGB space
function nearestCssColor(hex) {
  const r = parseInt(hex.slice(1, 3), 16)
  const g = parseInt(hex.slice(3, 5), 16)
  const b = parseInt(hex.slice(5, 7), 16)

  let bestName = ''
  let bestDist = Infinity

  for (const [name, value] of Object.entries(cssColors)) {
    const r2 = parseInt(value.slice(1, 3), 16)
    const g2 = parseInt(value.slice(3, 5), 16)
    const b2 = parseInt(value.slice(5, 7), 16)
    const dist = Math.sqrt((r - r2) ** 2 + (g - g2) ** 2 + (b - b2) ** 2)
    if (dist < bestDist) { bestDist = dist; bestName = name }
  }
  return bestName
}

nearestCssColor('#6366f1') // → "SlateBlue"
nearestCssColor('#1e293b') // → "DarkSlateGray"
Python
import math

CSS_COLORS = {
    "Crimson": (220, 20, 60), "SlateBlue": (106, 90, 205),
    "Tomato": (255, 99, 71), "Teal": (0, 128, 128),
    # ... full list of 148 entries
}

def hex_to_rgb(hex_str: str) -> tuple[int, int, int]:
    h = hex_str.lstrip("#")
    return (int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16))

def nearest_css_color(hex_str: str) -> str:
    r, g, b = hex_to_rgb(hex_str)
    best = min(
        CSS_COLORS.items(),
        key=lambda item: math.dist((r, g, b), item[1])
    )
    return best[0]

print(nearest_css_color("#6366f1"))  # → SlateBlue
print(nearest_css_color("#ff6347"))  # → Tomato (exact match, distance 0)
Go
package main

import (
	"fmt"
	"math"
	"strconv"
)

type CSSColor struct {
	Name    string
	R, G, B int
}

var colors = []CSSColor{
	{"Crimson", 220, 20, 60},
	{"SlateBlue", 106, 90, 205},
	{"Tomato", 255, 99, 71},
	// ... full list
}

func hexToRGB(hex string) (int, int, int) {
	r, _ := strconv.ParseInt(hex[1:3], 16, 64)
	g, _ := strconv.ParseInt(hex[3:5], 16, 64)
	b, _ := strconv.ParseInt(hex[5:7], 16, 64)
	return int(r), int(g), int(b)
}

func nearest(hex string) string {
	r, g, b := hexToRGB(hex)
	best := ""
	bestDist := math.MaxFloat64
	for _, c := range colors {
		d := math.Sqrt(float64((r-c.R)*(r-c.R) + (g-c.G)*(g-c.G) + (b-c.B)*(b-c.B)))
		if d < bestDist {
			bestDist = d
			best = c.Name
		}
	}
	return best
}

func main() {
	fmt.Println(nearest("#6366f1")) // → SlateBlue
}

Часто задаваемые вопросы

Сколько именованных цветов поддерживает CSS?
CSS Color Level 4 определяет 148 именованных ключевых слов для цветов. В их число входят 17 исходных цветов CSS 2.1 (black, white, red, blue и другие), 140 цветов X11, добавленных в CSS 3, и ключевое слово RebeccaPurple, добавленное в CSS 4 в честь дочери CSS-автора Эрика Мейера. Все 148 имён нечувствительны к регистру и работают в каждом современном браузере.
В чём разница между инструментом поиска имён цветов и конвертером цветов?
Конвертер цветов преобразует цвет между форматами: hex в RGB, HSL в hex, RGB в CMYK. Инструмент поиска имён делает другое: он перебирает 148 именованных CSS-цветов и возвращает тот, что находится на наименьшем расстоянии от вашего входного значения. Результат — ключевое слово (например, Tomato или SlateBlue), а не числовое представление.
Насколько точно евклидово расстояние в RGB для сопоставления цветов?
Евклидово расстояние в RGB даёт верные результаты для большинства запросов. В диапазоне зелёного-синего оно может выдавать неожиданные совпадения, поскольку человеческий глаз воспринимает зелёный интенсивнее синего, а RGB-модель обрабатывает все три канала одинаково. Для задач веб-разработки, таких как поиск ближайшего CSS-ключевого слова, это расхождение редко имеет практическое значение.
Можно ли использовать CSS-имена цветов в JavaScript?
Да. API CSS.supports(), контекст canvas 2D и атрибуты fill/stroke в SVG — все они принимают именованные цвета. Можно напрямую задать element.style.backgroundColor = 'Tomato'. Именованные цвета также работают в CSS custom properties и с методом getComputedStyle(), хотя браузеры возвращают вычисленное значение в формате rgb() независимо от способа его задания.
Почему некоторые цвета имеют странные имена — PapayaWhip или BlanchedAlmond?
Эти имена происходят из базы данных цветов X11, созданной для оконной системы X Window System на рабочих станциях Unix в 1980-х годах. Имена выбирались их первоначальными авторами без единого соглашения об именовании. Когда CSS принял цвета X11 в Level 3, существующие имена были сохранены для обратной совместимости. В результате получилась смесь описательных имён (DarkRed), отсылок к еде (PapayaWhip, Chocolate, Salmon) и географических названий (Peru, Sienna).
RebeccaPurple — официальный CSS-цвет?
Да. RebeccaPurple (#663399) был добавлен в спецификацию CSS Color Level 4 в 2014 году. Его предложила рабочая группа CSS в память о Ребекке Мейер — дочери CSS-автора Эрика Мейера, скончавшейся от рака мозга в шестилетнем возрасте. Цвет поддерживается во всех браузерах, выпущенных после 2014 года.
Что происходит, если мой hex на одинаковом расстоянии от двух именованных цветов?
Когда два именованных цвета имеют одинаковое евклидово расстояние до входного значения, результат зависит от порядка обхода. Данный инструмент перебирает список CSS-цветов в алфавитном порядке и сохраняет первое найденное совпадение. На практике точные совпадения встречаются редко, поскольку 148 именованных цветов неравномерно распределены в RGB-пространстве. Для большинства hex-значений существует единственный ближайший цвет.