Перейти до вибору кольору

HEX-коди кольорів простими словами: як працює #RRGGBB

HEX-код кольору, наприклад #1e90ff, складається з трьох пар шістнадцяткових цифр: скільки в кольорі червоного, зеленого і синього світла, кожне від 00 (зовсім немає) до ff (повністю, 255). Четверта пара задає непрозорість: 80 означає приблизно 50%, ff означає повністю непрозорий колір.

5 хв читання

Як працює HEX-код кольору

Кожен колір на екрані змішується з червоного, зеленого і синього світла. HEX-код записує силу кожного з них двома символами після знака #: спочатку червоний, потім зелений, потім синій. Це і є шаблон #RRGGBB.

Символи шістнадцяткові, тобто це спосіб лічби з 16 цифрами: від 0 до 9, далі a (10), b (11), c (12), d (13), e (14) і f (15). Одна пара вміщує 256 значень, від 00 (0) до ff (255), якраз діапазон rgb().

Щоб перетворити пару на звичайне число, помножте першу цифру на 16 і додайте другу. Нижче #1e90ff, CSS-колір dodgerblue, у чотирьох форматах, а потім розрахунок пара за парою.

Приклад: #1e90ff
ФорматЗначення
HEX
RGB
HSL
OKLCH
ПараКаналРозрахунокЗначення
1eЧервоний1 × 16 + 1430
90Зелений9 × 16 + 0144
ffСиній15 × 16 + 15255

Отже, #1e90ff це rgb(30, 144, 255): трохи червоного, чимало зеленого і повний синій, що разом дає яскравий небесно-блакитний. Три пари по 256 значень дають 16 777 216 можливих кольорів.

Тризначне і чотиризначне скорочення HEX

Коли обидві цифри в кожній парі однакові, кожну пару можна записати один раз. #ffcc00 перетворюється на #fc0, а браузер сам подвоїть кожну цифру назад. У #1e90ff короткої форми немає, бо 1e і 90 не складаються з однакових цифр.

Коротка форма охоплює лише 4096 з 16,7 мільйона кольорів. Чотиризначний варіант так само додає непрозорість, тож #f008 означає #ff000088.

КороткоПовністюКолір
#fff#ffffffБілий
#000#000000Чорний
#f00#ff0000Червоний
#fc0#ffcc00Теплий жовтий
#abc#aabbccСірувато-блакитний
#f008#ff000088Червоний з непрозорістю 53%

Прозорість у HEX: восьмизначний HEX з альфа-каналом

Восьмизначний код додає четверту пару для альфи, тобто непрозорості: #RRGGBBAA. 00 означає повністю прозорий, ff повністю непрозорий. Усі актуальні браузери підтримують його в CSS разом з чотиризначним скороченням #RGBA.

Щоб отримати пару, помножте непрозорість на 255, округліть до цілого і переведіть у HEX. Для 50% виходить 127,5, після округлення 128, у HEX це 80. Ось повна таблиця на прикладі #1e90ff.

НепрозорістьАльфа (0–255)Пара HEX#1e90ff з альфою
100%255ff#1e90ffff
95%242f2#1e90fff2
90%230e6#1e90ffe6
85%217d9#1e90ffd9
80%204cc#1e90ffcc
75%191bf#1e90ffbf
70%179b3#1e90ffb3
65%166a6#1e90ffa6
60%15399#1e90ff99
55%1408c#1e90ff8c
50%12880#1e90ff80
45%11573#1e90ff73
40%10266#1e90ff66
35%8959#1e90ff59
30%774d#1e90ff4d
25%6440#1e90ff40
20%5133#1e90ff33
15%3826#1e90ff26
10%261a#1e90ff1a
5%130d#1e90ff0d
0%000#1e90ff00

CSS

.overlay {
    background: #00000080;
}

.overlay-same {
    background: rgb(0 0 0 / 50%);
}

Два нюанси. Перший: 80 це 128 з 255, тобто 50,2%, а не рівно 50%. Альфа в HEX має лише 256 кроків, тому більшість круглих відсотків передається приблизно. Другий: Android ставить альфу на початок. У ресурсі кольору Android #801e90ff означає те саме, що #1e90ff80 у CSS.

Як прочитати HEX-код на око

Колір можна вгадати, нічого не перетворюючи. Дивіться на першу цифру кожної пари, бо саме вона несе майже всю інформацію.

Назва в CSSHEXRGBЯк прочитати
tomato#ff6347255, 99, 71Червоний на максимумі, трохи зеленого і синього: теплий світло-червоний
gold#ffd700255, 215, 0Червоний і зелений високі, синього немає: жовтий
chocolate#d2691e210, 105, 30Червоний попереду, зелений наполовину, синій низький: помаранчево-коричневий
darkturquoise#00ced10, 206, 209Зелений і синій високі, червоного немає: блакитний (ціан)
dodgerblue#1e90ff30, 144, 255Синій попереду, зелений посередині: небесно-блакитний
mediumorchid#ba55d3186, 85, 211Червоний і синій високі, зелений низький: фіолетовий
teal#0080800, 128, 128Зелений і синій наполовину: темний ціан
navy#0000800, 0, 128Лише синій, наполовину: темно-синій
slategray#708090112, 128, 144Майже рівні, синій трохи попереду: синювато-сірий
  • Найбільша перша цифра вказує на домінантне світло. У #d2691e в червоному d, у зеленому 6, у синьому 1, тож це помаранчево-коричневий.
  • Два високі канали змішуються: червоний і зелений дають жовтий, зелений і синій дають блакитний (ціан), червоний і синій дають пурпуровий або фіолетовий.
  • Три однакові пари дають сірий. #333333 це темно-сірий, #999999 світло-сірий. Майже однакові пари, як у #708090, дають приглушений сіруватий колір.
  • Високі цифри загалом означають світлий колір, низькі означають темний. Коли всі три пари c0 або вище, колір блідий. Коли всі три 30 або нижче, він дуже темний.
  • Зелений виглядає набагато яскравішим за синій з тим самим числом. У #00ff00 світлота в OKLCH дорівнює 0,866, а в #0000ff лише 0,452.

Чому #808080 не середній сірий

#808080 стоїть рівно посередині за числами: 128 з 255 у кожному каналі. Але на око він не посередині між чорним і білим. Його світлота в OKLCH дорівнює 0,600, тож він сприймається як 60% шляху до білого.

Значення HEX уже закодовані кривою sRGB, яка приблизно, але не точно повторює роботу ока. #808080 випромінює близько 21,6% світла білого, а перцептивні моделі ставлять візуальну середину нижче: OKLCH на #636363, CIELAB на #777777.

СірийЩо цеOKLCH LКонтраст на біломуКонтраст на чорному
#808080Середина за числами, 1280.6003.95:15.32:1
#777777Середина за CIELAB, L* 500.5694.48:14.69:1
#767676Найсвітліший сірий з 4.5:1 на білому0.5664.54:14.62:1
#636363Середина за OKLCH, L 0.50.5006.01:13.50:1

Для тексту це важливо. Сірий #808080 на білому дає 3,95:1 і не проходить WCAG AA для основного тексту. #767676 це найсвітліший сірий, що проходить 4,5:1, а #777777, лише на крок світліший, уже не проходить з 4,48:1.

Великі чи малі літери, з # чи без

HEX-коди не залежать від регістру. #1E90FF, #1e90ff і #1E90ff це один і той самий колір у CSS, SVG і дизайн-інструментах. Оберіть один стиль і дотримуйтеся його скрізь, щоб пошук по коду знаходив кожне використання. У CSS зазвичай пишуть малими літерами.

Знак # це частина синтаксису CSS, а не кольору. Figma і багато дизайн-інструментів показують код без нього, а мови програмування часто записують його як число з префіксом 0x, як у Flutter, де Color(0xFF1E90FF) починається з пари альфи.

Як дізнатися HEX-код кольору на екрані

Скористайтеся піпеткою: це інструмент, який зчитує колір під курсором і показує його код. Такі інструменти безкоштовні і здебільшого вже встановлені.

  • Chrome і Edge: відкрийте DevTools клавішею F12, клацніть будь-який кольоровий квадратик на панелі Styles і виберіть колір на сторінці значком піпетки.
  • PickShade: вибір кольору на головній сторінці має в Chrome і Edge кнопку піпетки, яка бере колір будь-де на екрані.
  • Windows: встановіть Microsoft PowerToys і натисніть Win + Shift + C, щоб відкрити Color Picker.
  • macOS: відкрийте «Колориметр» (Digital Color Meter) у «Програми», «Утиліти». Перемкніть його на sRGB, а потім виберіть «Перегляд», «Показувати значення», «Шістнадцятково».
  • Figma, Photoshop і більшість дизайн-програм: натисніть I, щоб узяти піпетку.
  • На фото чи знімку екрана: відкрийте його у виборі кольору із зображення і клацніть будь-який піксель. Зображення залишається на вашому пристрої.

Узяте значення може на кілька одиниць відрізнятися від оригіналу, бо екрани застосовують колірні профілі, а зображення стискаються. Коли потрібне точне значення, копіюйте його з дизайн-файлу або CSS, а не зі знімка екрана.

Запитання і відповіді

Що таке HEX-код кольору?

HEX-код кольору це шестизначний код, наприклад #1e90ff, який описує колір через кількість червоного, зеленого і синього світла в ньому. Кожна пара шістнадцяткових цифр іде від 00 (0) до ff (255), тож #1e90ff це rgb(30, 144, 255).

Як додати прозорість до HEX-кольору?

Допишіть у кінці четверту пару цифр: #RRGGBBAA. Помножте непрозорість на 255, округліть і переведіть у HEX, тож 50% це 80, 25% це 40, а 75% це bf. Наприклад, #1e90ff80 це dodgerblue з непрозорістю приблизно 50%.

Як записати 50% прозорості в HEX?

Непрозорість 50% у HEX це 80, як у #00000080 для напівпрозорого чорного. 80 дорівнює 128 з 255, тобто 50,2%, бо альфа в HEX має 256 кроків, а рівно 50% припадає між 7f і 80.

Чим HEX відрізняється від RGB?

Колір той самий, різниться лише запис. HEX записує значення червоного, зеленого і синього парами в шістнадцятковій системі, rgb() десятковими числами від 0 до 255, тож #ff6347 і rgb(255, 99, 71) це той самий томатно-червоний.

Чи залежать HEX-коди від регістру?

Ні. #FF6347, #ff6347 і #Ff6347 це один і той самий колір у CSS, HTML, SVG і дизайн-інструментах. У більшості CSS-проєктів пишуть малими літерами, але підійде будь-який стиль, аби він був послідовним.

Який HEX-код у середнього сірого?

#808080 це середина за числами, але на вигляд він світліший за середину, його світлота в OKLCH 0,600. Сірий, який виглядає посередині між чорним і білим, лежить між #636363 (OKLCH L 0,5) і #777777 (CIELAB L* 50).

Спробуйте в PickShade

Схожі статті