HEX 转 RGB 转换器

在线把 HEX 颜色值转成 RGB:边输边出结果,附换算示例和常用颜色对照表,免费即用。

换算示例

HEX #ff5733 = RGB 255, 87, 51

ff → 255 · 57 → 87 · 33 → 51

换算原理

  • HEX 颜色码就是 RGB 三个通道的十六进制写法:每个通道两位,00 表示 0,ff 表示 255。

常用颜色 HEX / RGB 对照表

颜色HEXRGB
红色#ff0000255, 0, 0
橙色#ffa500255, 165, 0
黄色#ffff00255, 255, 0
绿色#0080000, 128, 0
青色#00ffff0, 255, 255
蓝色#0000ff0, 0, 255
紫色#800080128, 0, 128
粉色#ffc0cb255, 192, 203
棕色#a52a2a165, 42, 42
白色#ffffff255, 255, 255
灰色#808080128, 128, 128
黑色#0000000, 0, 0

所有换算都在你的浏览器里完成,输入内容不会上传到 BroBroGo。

常见问题

HEX 怎么转成 RGB?

在上方输入或粘贴 HEX 值,RGB 值会边输边更新;也可以点色块直接选色。

换算结果精确吗?

精确。HEX 和 RGB 是同一组三通道数值的两种写法,互转没有任何精度损失。

什么是HEX颜色代码与RGB颜色格式

HEX颜色代码是CSS和其他网页技术中常用的颜色表示法,以十六进制(基数为16)书写,格式为#RRGGBB,其中RR、GG、BB各代表一个8位通道,取值范围00FF(十进制0–255)。RGB颜色则直接以三个十进制整数表示同一通道值,例如rgb(79, 70, 229)。两者本质上描述的是同一个颜色空间——sRGB(标准RGB),只是数字的进制不同。

本页面专注于将HEX转换为RGB,不接受包含Alpha通道的8位HEX(如#RRGGBBAA),也不涉及CSS中的rgba()函数。转换的核心逻辑是:将每两位十六进制数字按权重求和,得到0–255之间的整数值。

转换原理:十六进制到十进制的数学方法

十六进制数字使用0-9和A-F表示0–15的值。每对十六进制数字(如4f)中,左边是高位,右边是低位。其十进制值计算公式为:高位值 × 16 + 低位值。例如:

  • 4f4(十进制4)× 16 + f(十进制15)= 64 + 15 = 79
  • 464 × 16 + 6 = 64 + 6 = 70
  • e5e(14)× 16 + 5 = 224 + 5 = 229

所以#4f46e5对应的RGB是(79, 70, 229)。这个过程是确定的,不会产生舍入或裁剪,因为基16到基10的转换是精确的一一映射。对于三字符简写如#abc,先将每个字符重复一次扩展为六字符:#aabbcc,再按上述方法计算。这是W3C标准的规则,本页面完全遵循。

页面功能:输入与输出规则

用户在输入框中键入HEX颜色代码,页面即时显示对应的RGB整数值。输入处理规则如下:

输入类型 示例 处理方式
6位完整HEX(带#或不带) #4f46e54f46e5 直接转换,忽略#号
3位简写HEX(带#或不带) #abcabc 自动扩展为#aabbcc再转换
无效格式 #xyz#123451 显示错误提示:"输入一个类似 #4f46e5 或 #abc 的十六进制颜色。"

所有颜色字段(HSL、HSV、CMYK、LAB)在输入后同步更新,提供完整的颜色空间对照。编辑任意字段都会触发全部字段重新计算,确保数据一致。转换过程完全在浏览器本地执行,不发送任何数据到服务器。

实际应用场景:谁需要这个转换

  • 前端开发者:在CSS中使用HEX简洁,但在JavaScript的Canvas API、WebGL或Dynamic styles中需要RGB数值。例如设置ctx.fillStyle = 'rgb(79,70,229)'时,可直接复制页面输出的结果。
  • UI/UX设计师:品牌规范常给出HEX值,但设计软件(Figma、Sketch)的色板允许输入RGB数值。直接换算可避免手动计算错误。
  • 游戏与数字艺术创作者:进行颜色数学运算(如线性插值、颜色混合)时,0–255的整数比HEX更方便。
  • 学习颜色模型的学生:通过手动输入不同HEX并观察RGB变化,直观理解十六进制与加色模型的关系。

常见问题与边缘案例

为什么三字符HEX能展开成六字符?

#abc 等价于 #aabbcc,这是一种简写约定,因为每通道的亮度被压缩成半精度。例如 #fff 就是 #ffffff(白色)。本页面自动完成此展开,无需用户手动补充。

输入 #ABC 能工作吗?

可以。字母不区分大小写,#abc#ABC 都将被正确转换。底层JavaScript的parseInt()函数能自动识别大小写。

如果输入 #1234567 会怎样?

该值包含7个字符(带#号时为8个),不符合6位或3位格式,页面会显示错误提示。本页面仅接受6位(含3位简写)标准HEX,不接受8位带Alpha的格式。

为什么转换结果总是整数?

因为每一位十六进制数字对应4位二进制,两两组合正好覆盖0–255的256个整数,没有小数。这是进制本身的特性。

转换结果能直接用在CSS的rgb()函数中吗?

可以。CSS的rgb(79, 70, 229)#4f46e5在大多数现代浏览器中效果完全一致(sRGB色彩空间)。但注意旧版IE可能不支持rgb(),建议使用HEX以保证兼容性。

FAQ(常见问题)

问:输入HEX颜色时必须带 # 号吗?
不必。工具会自动识别并忽略可选的 # 前缀,因此 #4f46e54f46e5 效果相同。

问:三字符简写如 #333 对应的RGB是多少?
展开为 #333333,即R=51、G=51、B=51(因为3×16+3=51),是深灰色。

问:本页面支持 #FF0000AA 这样的半透明颜色吗?
不支持。页面专为6位(含3位简写)HEX设计,不处理Alpha通道。如需包含Alpha,请使用本网站其他相关工具。

问:为什么我在其他工具中看到HEX转RGB结果是浮点数?
标准RGB通道的值必须是0–255的整数,任何浮点数都意味着不正确的实现。本页面严格输出整数。

问:输入 #1E90FF 得到什么?
#1E90FF是道奇蓝(DodgerBlue),转换:1E=30, 90=144, FF=255 → rgb(30, 144, 255)

问:如果我输入 #0f0 结果是多少?
展开为 #00ff00,即R=0,G=255,B=0 —— 纯绿色。