使用方法
RGB转HSL转换器把三个通道值换成更易调的 HSL,只要四步:
- 「红 R」「绿 G」「蓝 B」各填 0~255,演示值 255 / 0 / 0。
- 「小数位」选 S、L 保留几位(1 或 2),H 始终取整。
- 点「转换颜色」,四张卡片给 H、S、L 与十六进制;下方对照表默认 12 行可「加载更多」。
- 想还原演示值按「载入示例」:R255 G0 B0。
RGB转HSL转换器能解决什么
它把「屏幕值」翻成「人能调的值」,适合三类场景:
- 设计师取色:从 RGB(255,0,0) 知道它是 H0 S100% L50% 的纯红,调亮度就能得到粉红。
- 前端调参:CSS 里用
hsl()比 rgb 更好微调明暗,本页直接给可粘贴的数值。 - 配色直觉:H 决定色系、S 决定艳淡、L 决定明暗,对照表一眼看出规律。
本页不做的事:不把 HSL 自动转回 RGB(另有反向工具);不做色彩空间管理(如 CMYK、LAB);不处理带透明度的 RGBA。它只做 RGB→HSL 这一个方向。
原理和变量
① 用了哪个具体函数:核心是归一化后求最大最小通道,亮度 L=(max+min)/2,饱和度按 L 是否过半用不同分母,色相按哪个通道最大套对应公式,最后 H*360。
② 关键参数为什么这样取:用 0~255 是因为这是屏幕与 CSS 的通用整数表示;归一化到 0~1 才能让公式得到 0~100% 的 S、L。H 取整是因为色相本就是 0~360 的角度。
③ 遵循哪个标准:公式遵循 W3C CSS Color 的 HSL 定义(与绝大多数设计软件一致),浮点用 IEEE 754 双精度,结果可放心用于 CSS。
④ 输入怎么变成输出:演示 (255,0,0) 归一化 (1,0,0),max=1 min=0,L=0.5,S=1,max 是 R 故 H=0,得 H0 S100% L50%;十六进制 #FF0000。
⑤ 边界与阈值:三通道都限 0~255,负数或空提示具体字段;小数位限 1~2,默认 1。
⑥ 常见误用的正确解释:H 是角度不是比例,红是 0、绿是 120、蓝是 240;S、L 才是百分比。另一个误区是把 (0,0,0) 当黑色却期望有饱和度——纯灰黑 S 都是 0。
完整示例
保持演示值:红 255、绿 0、蓝 0,小数位 1。
- 色相 H:0(度)
- 饱和度 S:100%
- 亮度 L:50%
- 十六进制:#FF0000
- 含义:这是最纯的正红,调高 L 变粉、调低 L 变暗红。
这四组数字与页面默认卡片、对照表第 1 行完全一致。
输入范围与对照表
RGB转HSL转换器的对照表列出 12 个常见 RGB 及其 HSL(由本页算法预计算):
| RGB | H(度) | S(%) | L(%) | 十六进制 |
|---|---|---|---|---|
| 255, 0, 0 | 0.0 | 100.0 | 50.0 | #FF0000 |
| 0, 255, 0 | 120.0 | 100.0 | 50.0 | #00FF00 |
| 0, 0, 255 | 240.0 | 100.0 | 50.0 | #0000FF |
| 255, 255, 0 | 60.0 | 100.0 | 50.0 | #FFFF00 |
| 0, 255, 255 | 180.0 | 100.0 | 50.0 | #00FFFF |
| 255, 0, 255 | 300.0 | 100.0 | 50.0 | #FF00FF |
| 192, 192, 192 | 0.0 | 0.0 | 75.3 | #C0C0C0 |
| 128, 128, 128 | 0.0 | 0.0 | 50.2 | #808080 |
| 255, 165, 0 | 38.8 | 100.0 | 50.0 | #FFA500 |
| 34, 139, 34 | 120.0 | 60.7 | 33.9 | #228B22 |
| 30, 144, 255 | 209.6 | 100.0 | 55.9 | #1E90FF |
| 147, 112, 219 | 259.6 | 59.8 | 64.9 | #9370DB |
对照表能直观看出:红(0)→黄(60)→绿(120)→青(180)→蓝(240)→品红(300) 的色相递进。
结果边界和舍入
舍入位置:H 取整数,S、L 按「小数位」保留(默认 1 位);因为先 toFixed 再拼接,不会出现 50.0000001 这类浮点尾巴。
什么时候会拒绝计算:任一通道为负、为空、不是数字、或超 255 时,会给出具体提示后才继续;小数位不在 1~2 时提示。
单位和精度:H 单位永远是「度」(0~360),S、L 永远是百分比(0~100%)。十六进制由三通道按 16 进制补零拼成。
结果性质:这是标准色彩空间换算的理论值,未做显示器色彩管理;不同屏幕观感可能有差,数值本身一致。
常见问题
H 为什么是 0 而不是 100%?
H 是色相角度(0~360 度),红就是 0 度;S、L 才是百分比。把 H 当百分比是常见误解。
纯黑纯白的饱和度为什么是 0?
黑(0,0,0)和白(255,255,255)都没有色彩倾向,S 自然为 0;差别只在 L(黑 L0、白 L100)。
小数位能改吗?
能,S、L 限 1~2 位,默认 1;H 始终取整。设 2 时演示值 S 显示 100.00、L 显示 50.00。
能转回 RGB 吗?
本页只做 RGB→HSL。需要 HSL→RGB 请用站内的反向转换器,结果可互相对照。
透明度 RGBA 支持吗?
不支持,本页处理不透明的 RGB 三通道;带 alpha 的颜色请先忽略透明度再换算。
结果和 Photoshop 一样吗?
采用的 HSL 定义与 W3C/CSS 一致,和多数软件相同;个别软件若用 HSB/HSV 会有差别,注意区分。
我的颜色会被保存吗?
不会。全部在浏览器本地换算,刷新即清空,不发起任何网络请求。
能导出对照表吗?
能,点「复制对照表」拿 TSV,或「导出 CSV」(带 BOM)存成文件。
相关工具
- HSL 转 RGB 转换器:反向换算。
- RGB 转十六进制:只取十六进制。
- 十六进制转 RGB:从色值反查。
- 十六进制颜色表:常用色值速查。
- 颜色名查询:按名字找色值。
- 十六进制转 HSL 转换器:从十六进制直转。
- HSL 转十六进制转换器:HSL 直出十六进制。