Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| Формат результата | #RRGGBBAA — восемь шестнадцатеричных цифр |
|---|---|
| Диапазон R/G/B | От 0 до 255 включительно |
| Диапазон прозрачности | От 0 (полностью прозрачно) до 1 (полностью непрозрачно) |
| Последние два знака | Альфа-канал: прозрачность, переведённая в число от 00 до FF |
Когда этот метод вводит в заблуждение
- 8-значный HEX с альфа-каналом поддерживается не во всех старых браузерах и графических редакторах — для максимальной совместимости иногда надёжнее указывать цвет и прозрачность раздельно (например, как отдельные CSS-свойства).
- Значения R/G/B вне диапазона 0–255 и прозрачность вне диапазона 0–1 автоматически ограничиваются этими границами.
- Прозрачность хранится в HEX8 всего одним байтом (256 градаций), поэтому при переводе, например, 0,8 в HEX и обратно в число может получиться не точно 0,8, а близкое значение вроде 0,7961.
- Результат — это просто другая запись тех же четырёх чисел, а не другое цветовое пространство: он не содержит информации о цветовом профиле экрана.
Как это считается
Каждое из значений R, G и B округляется до ближайшего целого и ограничивается диапазоном от 0 до 255, как в обычном конвертере RGB в HEX.
Прозрачность ограничивается диапазоном от 0 до 1, затем умножается на 255 и округляется до целого — так получается однобайтовое значение альфа-канала.
Все четыре числа (R, G, B и альфа) переводятся в двузначные шестнадцатеричные пары.
Четыре пары соединяются подряд с символом «#» впереди — так получается 8-значный HEX-код вида #3B82F6CC.
Вопросы и ответы
Чем этот HEX отличается от обычного 6-значного?
К обычным шести знакам цвета добавляются ещё два знака — альфа-канал, задающий прозрачность. Итоговый код длиннее на два символа.
Все браузеры понимают 8-значный HEX?
Современные — да, но не все старые графические редакторы и инструменты. Для критичной совместимости иногда безопаснее указать цвет и прозрачность отдельно.
Почему после перевода прозрачность немного отличается от введённой?
Альфа-канал в HEX8 занимает один байт — 256 возможных значений, поэтому дробная прозрачность округляется до ближайшего из них, а не сохраняется точно.
Мои данные куда-то отправляются?
Нет, весь расчёт выполняется в вашем браузере.