HEX 转 RGB 怎么转 - 颜色代码转换方法(附对照表)
1347 字
7 分钟
HEX 转 RGB 怎么转 - 颜色代码转换方法(附对照表)
🌟 HEX 和 RGB 是同一颜色的两种写法
#ff0000 和 rgb(255, 0, 0) 说的是同一个红色。HEX 用十六进制表示,RGB 用三个十进制数表示红、绿、蓝三个通道的强度(0~255)。两者可以互相换算。
不想手算?用星点颜色格式转换输入任意一种,其余格式自动出来。
🧮 HEX 转 RGB 怎么算
HEX 格式为 #RRGGBB,每两位一组:
RR→ 红色(转成十进制)GG→ 绿色BB→ 蓝色
例子:#409eff
| 分组 | 十六进制 | 十进制 |
|---|---|---|
| RR | 40 | 4×16 + 0 = 64 |
| GG | 9e | 9×16 + 14 = 158 |
| BB | ff | 15×16 + 15 = 255 |
结果:rgb(64, 158, 255)。
十六进制速记
- 0
9 表示 09; - A
F 表示 1015; - 两位组合 = 高位×16 + 低位。
所以 ff = 15×16+15 = 255,80 = 8×16+0 = 128,9e = 9×16+14 = 158。
🧮 RGB 转 HEX 怎么算
反过来:每个通道除以 16 取整得高位,余数得低位,再拼起来。
以 rgb(64, 158, 255) 为例:
| 通道 | 十进制 | ÷16 | 商 | 余 | HEX |
|---|---|---|---|---|---|
| R | 64 | 64÷16=4 余 0 | 4 | 0 | 40 |
| G | 158 | 158÷16=9 余 14 | 9 | 14→E | 9e |
| B | 255 | 255÷16=15 余 15 | 15→F | 15→F | ff |
结果:#409eff。
📋 常见颜色对照表
| 颜色 | HEX | RGB | HSL |
|---|---|---|---|
| 黑 | #000000 | rgb(0, 0, 0) | hsl(0, 0%, 0%) |
| 白 | #ffffff | rgb(255, 255, 255) | hsl(0, 0%, 100%) |
| 红 | #ff0000 | rgb(255, 0, 0) | hsl(0, 100%, 50%) |
| 绿 | #00ff00 | rgb(0, 255, 0) | hsl(120, 100%, 50%) |
| 蓝 | #0000ff | rgb(0, 0, 255) | hsl(240, 100%, 50%) |
| 黄 | #ffff00 | rgb(255, 255, 0) | hsl(60, 100%, 50%) |
| 青 | #00ffff | rgb(0, 255, 255) | hsl(180, 100%, 50%) |
| 品红 | #ff00ff | rgb(255, 0, 255) | hsl(300, 100%, 50%) |
| 星点蓝 | #409eff | rgb(64, 158, 255) | hsl(210, 100%, 63%) |
| 紫 | #7c3aed | rgb(124, 58, 237) | hsl(262, 83%, 58%) |
| 中灰 | #808080 | rgb(128, 128, 128) | hsl(0, 0%, 50%) |
🔤 简写与透明度
- 简写:
#f00等价于#ff0000(每位重复一次); - 带透明度:
#409eff80(8 位 HEX)≈rgba(64, 158, 255, 0.5),末尾两位表示 alpha; - 范围:每个通道 0~255,超出要钳制。
🎯 该用哪种格式
| 场景 | 推荐 |
|---|---|
| CSS 写色值 | HEX 或 RGB 都行,HEX 更短 |
| 需要透明度 | RGBA 或 8 位 HEX |
| 按色相/亮度调色 | HSL 更直观 |
| 动态计算/叠加 | RGB 数值方便运算 |
| 印刷参考 | CMYK |
💻 代码示例
JavaScript
function hexToRgb(hex) { const h = hex.replace('#', ''); const full = h.length === 3 ? h.split('').map(c => c + c).join('') : h; return { r: parseInt(full.slice(0, 2), 16), g: parseInt(full.slice(2, 4), 16), b: parseInt(full.slice(4, 6), 16) };}
function rgbToHex({ r, g, b }) { const toHex = (v) => v.toString(16).padStart(2, '0'); return '#' + toHex(r) + toHex(g) + toHex(b);}Python
def hex_to_rgb(hex_str): h = hex_str.lstrip('#') if len(h) == 3: h = ''.join(c * 2 for c in h) return tuple(int(h[i:i+2], 16) for i in (0, 2, 4))
def rgb_to_hex(r, g, b): return '#{:02x}{:02x}{:02x}'.format(r, g, b)❓ 常见问题(FAQ)
HEX 一定要 6 位吗?
CSS 里支持 3 位简写(`#f00`)和 8 位带透明度(`#rrggbbaa`),标准完整写法是 6 位。转换会丢精度吗?
HEX ↔ RGB 是无损的;转 HSL/CMYK 等会因四舍五入有极小误差,属正常。能批量转换吗?
可以,用[颜色格式转换](https://www.xingdian.net/app/color/convert/)的批量模式,一行一个颜色。大小写有区别吗?
CSS 不区分大小写,习惯上小写更常见。RGB 和 RGBA 区别?
RGBA 多一个 alpha 通道(0~1),表示透明度。怎么转 HSL?
见 [HEX 转 HSL 怎么转](https://www.xingdian.net/blog/posts/hex-to-hsl/)。为什么设计稿和代码颜色对不上?
可能是色彩配置(sRGB/P3)或透明度差异,用[颜色格式转换](https://www.xingdian.net/app/color/convert/)核对具体数值。有现成工具吗?
有,[颜色格式转换](https://www.xingdian.net/app/color/convert/)支持输入任意格式自动换算并复制代码。🔬 深入:sRGB、Gamma 与色彩空间
HEX/RGB 默认在 sRGB 色彩空间。sRGB 有”伽马校正”:同样的数值差,在暗部的视觉变化比亮部更明显。所以:
- 数值上”中间”的颜色(如
#808080),并不是视觉上的”中灰”; - 做渐变、混色时,直接在 sRGB 里插值,中段可能偏暗或发灰;
- 追求自然过渡,可在 OKLab 等感知均匀空间插值(见颜色混合与色差)。
这也是为什么同一组数值,在不同色彩配置(sRGB / Display P3)下看起来会略有差异。
🧪 更多颜色对照
| 颜色 | HEX | RGB |
|---|---|---|
| 天蓝 | #87ceeb | rgb(135, 206, 235) |
| 番茄红 | #ff6347 | rgb(255, 99, 71) |
| 珊瑚 | #ff7f50 | rgb(255, 127, 80) |
| 钢青 | #4682b4 | rgb(70, 130, 180) |
| 午夜蓝 | #191970 | rgb(25, 25, 112) |
| 米色 | #f5f5dc | rgb(245, 245, 220) |
| 巧克力 | #d2691e | rgb(210, 105, 30) |
| 深灰 | #333333 | rgb(51, 51, 51) |
🛠 在项目里处理颜色
- CSS:直接用 HEX 或
rgb(); - JavaScript 动态改色:用 RGB 数值加减更直观,再用
rgbToHex输出; - 主题变量:把颜色集中为 CSS 变量,见 CSS 颜色变量与主题;
- 可读性检查:改完色用对比度检测确认文字清晰。
🧾 十六进制换算速记
| 十六进制 | 十进制 |
|---|---|
00 | 0 |
40 | 64 |
80 | 128 |
9e | 158 |
c0 | 192 |
ff | 255 |
记忆法:ff=255、80=128、40=64,其余按”高位×16+低位”推。
🔗 相关工具
🧭 更多常见问题
为什么同一个颜色有这么多写法?
历史与用途不同:HEX 简洁、RGB 便于计算、HSL 便于调色、CMYK 用于印刷。颜色转换有在线工具吗?
有,[颜色格式转换](https://www.xingdian.net/app/color/convert/)输入任意格式自动换算。怎么把颜色变浅或变深?
用[颜色调整](https://www.xingdian.net/app/color/adjust/)提高/降低明度即可。💬 总结
HEX 转 RGB 就是”每两位十六进制转十进制”;RGB 转 HEX 反过来。记不住公式没关系,用颜色格式转换输入即得结果,还能一键复制 CSS / SCSS / Tailwind 代码。
立即体验:访问 颜色格式转换
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2026-09-13,距今已过 32 天
部分内容可能已过时
相关文章 智能推荐
1
RGB 转 HEX 怎么转 - 十进制转十六进制颜色代码
颜色工具 RGB 转 HEX 怎么算?本文给出十进制转十六进制的换算步骤与示例,列出常用颜色对照表,并说明
2
RGB 转 HSL 怎么算 - 色相/饱和度/亮度换算方法
颜色工具 RGB 转 HSL 怎么算?本文给出从 RGB 求色相 H、饱和度 S、亮度 L 的公式与完整示例,说明 HSL 在调色中的优势,并附常见颜色对照。在线颜色格式转换工具。
3
HEX 转 HSL 怎么转 - 颜色换算方法与示例
颜色工具 HEX 转 HSL 怎么算?本文解释 HSL(色相/饱和度/亮度)的含义、HEX 转 HSL 的步骤与示例,并说明 HSL 为什么适合调色。附在线颜色格式转换工具,一键互转。
4
随机颜色生成器 - 随机 HEX/RGB/渐变/调色板(附条件生成)
颜色工具 随机颜色生成器:一键生成随机 HEX/RGB/HSL、随机渐变、随机调色板,支持柔和/Pastel/深色/浅色/高饱和等风格,以及按色相/明度/饱和度范围条件生成。在线免费。
5
批量颜色转换 - 批量提取/去重/排序颜色代码
颜色工具 一堆颜色代码怎么批量处理?本文讲解批量颜色转换、从 CSS/HTML/JSON 中提取颜色、去重与排序的方法,适合整理设计规范与代码里的色值。附在线批量颜色处理工具。
随机文章 随机推荐