RGB 转 HEX 转换器

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

换算示例

RGB 255, 87, 51 = HEX #ff5733

255 → ff · 87 → 57 · 51 → 33

换算原理

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

常用颜色 RGB / HEX 对照表

颜色RGBHEX
红色255, 0, 0#ff0000
橙色255, 165, 0#ffa500
黄色255, 255, 0#ffff00
绿色0, 128, 0#008000
青色0, 255, 255#00ffff
蓝色0, 0, 255#0000ff
紫色128, 0, 128#800080
粉色255, 192, 203#ffc0cb
棕色165, 42, 42#a52a2a
白色255, 255, 255#ffffff
灰色128, 128, 128#808080
黑色0, 0, 0#000000

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

常见问题

RGB 怎么转成 HEX?

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

换算结果精确吗?

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

RGB 到十六进制转换:精确映射颜色值

输入三个 0–255 之间的数字(例如 79, 70, 229),工具立即输出对应的六位十六进制颜色码(如 #4F46E5),同时显示色块并更新 HSL、HSV、CMYK、LAB 及其他格式字段。所有处理都在浏览器本地完成,不上传任何数据。与许多其他转换工具不同,本页不会将 RGB 值近似到其他色彩空间——RGB 和十六进制都使用 sRGB 标准,转换是精确且可逆的。十六进制输出始终以 # 开头,长度固定为六位(不自动折叠为三位简写),也不包含 Alpha 通道(除非用户主动输入八位格式)。当您直接修改任一格式字段时,所有字段会同步更新,无需点击“转换”按钮。

RGB 颜色模型与 0–255 刻度

RGB 是加法颜色模型,通过红、绿、蓝三种色光的强度叠加产生颜色。每个通道的强度用一个十进制数表示,范围从 0(完全关闭)到 255(最大亮度)。0–255 这个范围并非随意选择——它对应 8 位二进制(2^8 = 256 个值),这是最早期计算机显示硬件采用的标准,至今仍是 sRGB 色彩空间的核心定义。例如,纯红色是 (255, 0, 0),纯白色是 (255, 255, 255),黑色是 (0, 0, 0)。您输入的每个值都直接映射到显示子像素的亮度等级,因此 RGB 与最终屏幕颜色之间存在线性对应关系。

注意:某些软件(如 Photoshop)允许输入 0–100% 的百分比 RGB,但本工具要求 0–255 的绝对数值。若您输入超出此范围的值或格式错误(例如缺少逗号),工具会显示提示:“Enter RGB as three numbers 0–255, like 79, 70, 229.” 这是因为转换算法直接基于整数计算,无法处理非标准输入。

十六进制颜色码的结构

十六进制颜色码以 # 开头,后跟六位十六进制数字(0–9 和 A–F)。#RRGGBB 格式中,前两位代表红色,中间两位代表绿色,后两位代表蓝色。大小写不敏感——#1E90FF#1e90ff 是同一个颜色。六位十六进制是网络上最通用的颜色表示法,广泛用于 CSS、SVG 和设计软件。

本工具输出固定为六位,不会将 #AABBCC 简化为 #ABC(三位简写)。但工具的十六进制输入字段接受三位简写(如 #abc),并在内部将其扩展为六位(#aabbcc)。三位简写的原理是重复每一位:#F80 相当于 #FF8800。这种做法在旧版 CSS 中常用,但现代开发更推荐使用完整的六位形式以避免歧义。

另外存在八位十六进制(#RRGGBBAA),其中 AA 是 Alpha 透明度通道。本工具不自动产生八位输出,因为 RGB 输入本身不包含透明度信息。如果您在十六进制输入框输入了八位代码,工具会保留 Alpha 值并在其他格式中尝试解析(但 RGB 字段仍只显示颜色值,不显示透明度)。

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

每个 0–255 的十进制值转换为两位十六进制数的过程是固定的:

  1. 将数值除以 16,得到商和余数(商范围 0–15,余数范围 0–15)。
  2. 商对应十六进制的高位,余数对应低位。
  3. 将 0–15 映射为 0–9、A–F:0→0, 1→1,... 9→9, 10→A, 11→B, 12→C, 13→D, 14→E, 15→F。

举例:红色值 79。79 ÷ 16 = 4 余 15。商 4 对应十六进制 4,余数 15 对应 F,因此红色通道的十六进制为 4F。同样,绿色 70:70 ÷ 16 = 4 余 6 → 46。蓝色 229:229 ÷ 16 = 14 余 5 → E5。组合得到 #4F46E5

由于 RGB 和十六进制共享相同的 sRGB 量化空间,这种转换是双向无损的:给定任意六位十六进制,可以通过反向运算(高位×16 + 低位)精确还原原始 RGB 整数。这也是为什么本工具不需要任何近似或下采样。

输入规则与实时同步

工具接受三种常见的 RGB 输入格式:

  • 逗号分隔:79, 70, 229
  • 空格分隔:79 70 229
  • 混合使用逗号和空格:79,70 229

输入框不会自动填充 0 前缀或补零。例如,红色值 0 应该输入 0,而不是 00。每个通道可以单独输入,工具会立即解析并更新所有字段。

编辑任意一个格式字段(如 HSL 或 CMYK)时,工具会自动反向计算并更新 RGB 输入框。这意味着您可以从任何支持的格式出发,获得对应的 RGB 和十六进制值。由于所有转换基于相同的 sRGB 工作空间,且不存在色域裁剪(RGB 和十六进制覆盖完全相同的色域),所以不会出现“无法转换”的情况——只要输入格式正确,输出总是确定的。

特别提醒:CMYK 转换存在近似(因为 CMYK 是减法色域,通常小于 sRGB),但本工具使用标准转换公式,结果仍可视为合理近似。如果您从 CMYK 反向推导 RGB,可能会遇到数值四舍五入导致的微小差异。

哪些人需要这个工具

  • 前端开发者在 CSS 中需要使用 colorbackground-color 属性时,经常面对来自设计稿的 RGB 值。本工具将 RGB 数字直接转换为十六进制字符串,可以直接粘贴到代码中。
  • UI/UX 设计师从 Photoshop、Figma 或 Sketch 中提取 RGB 值后,需要与开发同事协作。十六进制是设计交付中最通用的颜色格式,可避免因解析问题导致的色差。
  • 图形设计人员处理网页素材时,必须确保颜色在不同软件间一致。由于 sRGB 是显示标准,RGB 与十六进制的转换不存在色差,您可以放心使用。
  • 学习数字颜色的学生通过手动计算或观察本工具的输出,可以直观理解十进制与十六进制之间的映射关系,巩固对位深度和颜色编码的理解。
  • 使用颜色取色器(如浏览器 DevTools 或第三方工具)获取 RGB 值后,需要快速得到对应的十六进制代码以用于样式表。

常见错误与注意事项

错误类型 表现 正确做法
输入范围超出 0–255 工具显示错误提示 检查每个值是否在 0–255 之间
使用百分比(如 50%) 工具无法解析 用 0–255 整数值,50% 约为 128
输入四位或五位十六进制 自动补齐或报错 始终使用六位(或三位简写)
忘了加 # 号 十六进制字段可自动添加,但 RGB 输入无关 手动输入时确保以 # 开头
输入带透明度的 RGBA 工具忽略 Alpha 值 分别记录颜色 Alpha 值,另用 CSS rgba()#RRGGBBAA

请记住:本工具不存储任何数据,也不与服务器通信。所有计算在您的浏览器中执行,适合用于敏感项目中的颜色转换。


FAQ

1. 为什么十六进制输出总是六位,而不是三位简写? 因为三位简写本质上是六位的重复压缩,例如 #abc 实际对应 #aabbcc。本工具展示完整形式以避免歧义,同时输入字段接受三位简写并自动扩展。如需使用三位简写,请在 CSS 中自行缩写(例如 #F80 代表 #FF8800),但请注意某些场景下三位简写可能导致解析错误(如旧版浏览器或 SVG)。

2. 输入 RGB 后看到十六进制是 #4F46E5,但我想知道它的透明版本怎么办? 本工具不输出八位十六进制,因为 RGB 输入不含透明度信息。您可以在十六进制字段后面手动加上两位透明度值(00–FF),例如 #4F46E580 表示 50% 透明度(0x80 ≈ 128)。对于 CSS 的最新标准,直接使用 rgba(79, 70, 229, 0.5) 更直观。

3. 我输入了 79, 70, 229,却看到错误提示“Enter RGB as three numbers 0–255”,怎么回事? 请检查是否有多余空格或非数字字符。正确格式示例:79, 70, 229(逗号后加空格是可选的)或 79 70 229。另外,确保没有包含括号或 rgb() 函数。本工具期望纯粹的三个十进制数,不接受 rgb(79, 70, 229) 这种带函数名的输入。

4. 转换成十六进制后,我能否直接复制给 CSS 的 background-color 完全可以。CSS 支持六位十六进制值,例如 background-color: #4F46E5;。注意 CSS 中的十六进制值不区分大小写,但推荐使用小写以保持代码一致性。如果设计稿中提供的 RGB 值来自 sRGB 空间(绝大多数屏幕都是),转换结果与原始 RGB 完全一致。

5. 为什么 CMYK 和 LAB 转换与我的打印输出颜色不同? CMYK 和 LAB 是设备相关或设备无关的色空间,本工具使用标准 ICC 转换公式,但真实的打印输出取决于墨水、纸张和打印机配置文件。RGB 转 CMYK 总是存在色差(因为 sRGB 色域大于 CMYK),本工具的 CMYK 值仅作为参考,不保证与特定打印设备完全匹配。请依赖专业的色彩管理软件做最终输出。

6. 我可以在本地离线使用这个工具吗? 可以。这一页面是静态的,所有 JavaScript 代码都在您的浏览器中执行,无需网络连接。您可以将整个页面保存为 .html 文件,在无网络环境下使用。工具不依赖任何外部 API 或 CDN。