颜色转换器
输入或选取一个颜色,就能同时得到所有常用格式,每一项都有复制按钮。另外还有现成的 CSS、最接近的颜色名、十个浅色调和深色调,以及配色方案。不会上传任何内容,全部在本页里运行。
支持十六进制(3、4、6、8 位)、rgb()、hsl()、hwb()、lab()、lch()、oklab()、oklch(),以及 148 个 CSS 颜色名。
预览
浅色背景
深色背景
最接近的 CSS 颜色名
rebeccapurple(#663399)与这个颜色完全相同。
全部格式
十六进制 HEX
#663399
RGB(0-255)
102, 51, 153
RGB(百分比)
40%, 20%, 60%
HSL:色相(度)、饱和度、亮度
270, 50%, 40%
HSV / HSB:色相(度)、饱和度、明度
270, 66.7%, 60%
HWB:色相(度)、白度、黑度
270, 20%, 40%
CMYK(简易公式,不用于印刷)
33.3%, 66.7%, 0%, 40%
CIE Lab(D65):L、a、b
32.9, 42.89, -47.15
CIE LCH(D65):L、彩度、色相(度)
32.9, 63.74, 312.29
CIE Lab(D50,即 CSS lab()):L、a、b
32.39, 38.42, -47.69
CIE LCH(D50,即 CSS lch()):L、彩度、色相(度)
32.39, 61.24, 308.86
OKLab:L、a、b
0.44027, 0.08818, -0.13386
OKLCH:L、彩度、色相(度)
0.44027, 0.1603, 303.37
十进制整数
6697881
十六进制整数
0x663399
可直接粘贴到 CSS
十六进制
#663399
rgb()
rgb(102 51 153)
rgb()(逗号写法)
rgb(102, 51, 153)
hsl()
hsl(270 50% 40%)
hwb()
hwb(270 20% 40%)
lab()
lab(32.393 38.423 -47.691)
lch()
lch(32.393 61.244 308.857)
oklab()
oklab(0.44027 0.08818 -0.13386)
oklch()
oklch(0.44027 0.1603 303.37)
浅色调(与白色混合)
深色调(与黑色混合)
从 10% 到 100% 共十步,在 OKLab 中混合,所以看起来间隔均匀。透明度不参与。点按色块可复制它的十六进制代码。
配色
互补色
邻近色
三等分配色
做法是旋转 HSL 色相、保持饱和度和亮度不变:互补色 +180 度,邻近色 -30 度和 +30 度,三等分配色 +120 度和 +240 度。HSL 色相只是简单规则,不是按视觉感受计算的,所以结果的明暗感可能不同。
这些数字的含义
- •CMYK 数值只是由 RGB 直接套用教科书公式得到的,没有使用油墨、纸张或打印机的色彩配置文件,所以不要拿它去打印并指望颜色一致。印刷厂会用配置文件来转换。
- •CIE Lab 和 LCH 按 D65 白点显示(也就是 sRGB 的白色),所以白色正好是 100、0、0。CSS 的 lab() 和 lch() 用的是 D50 白点,因此这两行单独列出,要粘贴到 CSS 请用它们。
- •HEX、RGB 和整数形式会四舍五入到 0-255 的整数。其他模型按精确颜色计算,只在显示时四舍五入。
- •用 lab()、lch()、oklab()、oklch() 输入的颜色可能超出 sRGB。这时会逐通道截取并给出提示。灰色没有色相,色相显示为 0。
它是怎么工作的
- •本页用自带的解析器读取颜色:3、4、6、8 位十六进制,rgb()、hsl()、hwb()、lab()、lch()、oklab()、oklch(),148 个 CSS 颜色名,以及 transparent。新式的空格写法和旧式的逗号写法都可以。写错时会告诉你错在哪里。
- •转换遵循 CSS Color Module Level 4 的公式:sRGB 到 XYZ 使用 D65 白点,Lab 和 LCH 由 XYZ 得到,OKLab 使用该色彩空间公布的矩阵。
- •Lab 和 LCH 先按 D65 白点显示(也就是 sRGB 的白色,所以白色是 100、0、0),再按 D50 白点显示,因为 CSS 的 lab() 和 lch() 用的是 D50。粘贴到样式表时,请用 D50 那几行或 CSS 那一栏。
- •这里的 CMYK 只是由 RGB 直接套用教科书公式。它不涉及油墨、纸张和打印机,只能当作起点,不能直接用于印刷。
- •超出 sRGB 的颜色(用 oklch 或 lab 很容易得到)会逐通道截取并给出提示。浅色调和深色调是在 OKLab 中与白色或黑色混合得到的。配色是旋转 HSL 色相得到的,规则简单、结果可预期,但在视觉上并不均匀。
- •输入限制为 100 个字符,颜色不会被保存到任何地方。
常见问题
- 会上传我的颜色吗?
- 不会。所有计算都由本页里运行的代码完成,不会向任何地方发送内容。复制按钮只是把文字放进你自己的剪贴板。
- 为什么 Lab 数值和别的网站不一样?
- Lab 取决于所参照的白点。很多工具用 D65,也就是 sRGB 屏幕的白色;CSS 的 lab() 和 lch() 用 D50。本页两种都显示并有标注,请对比白点相同的那一行。
- CMYK 数值能拿去印刷吗?
- 只能当作粗略参考。它来自一个简单公式,没有打印机或纸张的色彩配置文件;印刷厂或设计软件会用配置文件转换,同一个屏幕颜色会得到不同的数字。
- 为什么我输入的 oklch 或 lab 颜色被改了?
- 有些 oklch()、lab()、lch() 的值描述的是 sRGB 屏幕显示不出来的颜色。本页会把每个通道截取到范围内并提示你,并不会用更聪明的方法去找最接近的可显示颜色,所以对特别鲜艳的颜色,专门的色域映射工具可能给出不同结果。