跳到主内容
UniKit

颜色格式转换

HEX、RGB、HSL、HSV、HWB、CMYK 六种颜色格式互转,支持透明度与 CSS 命名色,并给出最接近的命名色、亮度与 WCAG 对比度判定。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

示例

预览

左侧是颜色本身,右侧是同一颜色在白底与黑底上的文字效果

白底文字
示例文字 Aa
黑底文字
示例文字 Aa

各种格式

HEX
#3366FF
HEX(含透明度)#3366FFFF
RGBrgb(51, 102, 255)
HSLhsl(225, 100%, 60%)
HSVhsv(225, 80%, 100%)
HWBhwb(225, 20%, 0%)
CMYKcmyk(80%, 60%, 0%, 0%)

颜色信息

最接近的命名色royalblue · #4169E1 · 色差 54.45
透明度100%
感知亮度40.9%
相对亮度(WCAG)0.1743
与白色对比度4.68:1 · 正文 AA · 大号文字 AAA
与黑色对比度4.49:1 · 正文 不通过 · 大号文字 AA
推荐文字色#FFFFFF

这个工具能做什么

  • 把设计稿里的颜色换成代码要的格式:拿到 #3366FF 就能同时得到 RGB、HSL、HSV、HWB 和 CMYK 写法,不用逐个换算。
  • 改主题色时用 HSL 微调:知道当前是 hsl(225, 100%, 60%),只要动亮度就能推出深浅两档,比直接改十六进制直观得多。
  • 检查命名色的近似程度:输入一个色值会给出最接近的 CSS 命名色与色差,想用名字代替十六进制时先看差多少。
  • 发布前确认可读性:相对亮度、感知亮度和对白 / 黑的 WCAG 对比度一起给出,还标出适合正文还是只适合大号文字。

示例

输入

#3366FF

输出

RGB rgb(51, 102, 255);HSL hsl(225, 100%, 60%);HSV hsv(225, 80%, 100%);HWB hwb(225, 20%, 0%);CMYK cmyk(80%, 60%, 0%, 0%);最接近的命名色 royalblue #4169E1(色差 54.45,非完全匹配);感知亮度 40.9,相对亮度 0.1743,与白色对比度 4.68(AA)

色差用的是 redmean 加权 RGB 距离,数值越小越接近,0 表示完全一致;输入命名色或 rgb()/hsl() 也能解析。

常见问题

支持哪些输入写法?

十六进制 3 / 4 / 6 / 8 位(可省略 #),rgb() / rgba(),hsl() / hsla(),以及 148 个 CSS 命名色,另外认得 transparent。写成别的形式会提示无法识别,不会静默给个默认色。

CMYK 的值能直接拿去印刷吗?

只能当作参考。这里的 CMYK 是由 sRGB 值做的简单数学换算,没有色彩配置文件(ICC)和黑版生成策略,和其他工具算出来的结果可能差几个百分点。要求色准请在设计软件里用印刷配置文件转换。

相对亮度和感知亮度有什么区别?

相对亮度是 WCAG 规定的线性化加权值(0–1),专门用来算对比度;感知亮度是按 299/587/114 系数算的 0–100 粗略值,更适合判断「这个颜色看起来亮不亮」。判断可读性请以相对亮度算出的对比度为准。

为什么我的颜色没有完全匹配的命名色?

CSS 只有 148 个命名色,绝大多数色值都只能近似。工具用 redmean 加权距离找最近的候选并且标出「完全匹配」与否,只有色差为 0 才说明两者是同一个颜色。

透明度和主题色一起转会不会出问题?

不会。8 位十六进制(如 #3366FF80)会解析出 alpha 约 0.5,RGB 输出自动变成 rgba(51, 102, 255, 0.5)。但 HSL / HSV / HWB / CMYK 的输出只描述色相与明暗,建议把透明度单独写在 CSS 里。

关键词:colorcolor converterhexrgbhslhsvhwbcmyk颜色取色器颜色转换透明度对比度wcag色相命名色

同类工具