图标换色
CSS Filter 颜色转换器
输入 HEX 颜色后生成近似的 CSS `filter`,适合黑色单色 SVG、图标和蒙版资源快速换色。这个页面优先解决“我不想导出新图,只想把现有黑色图标快速变成目标色”的场景。
直接生成 filter
输入目标色后,会自动求解一组更接近该颜色的 filter 参数,并同步给出图标换色预览和 CSS 片段。
结果默认以纯黑单色图标为起点求解,适合单色 SVG、蒙版图标和黑色底图的快速上色。
如果你的源素材本身是多色图、渐变图或非黑色图标,CSS filter 更适合拿来快速逼近,不一定适合作为最终精确交付方案。
使用场景
适合单色 SVG、按钮图标和深色底图快速换色
如果你只是想让一套黑色图标在不导出新资源的情况下快速接近目标色,CSS filter 会比重做图更省时间。
- 目标颜色
- #D85B32
- 近似结果
- #D85B32
- 匹配等级
- 非常接近
- Loss
- 0.1
- 目标 HSL
- 15, 68%, 52%
- 结果 HSL
- 15, 68%, 52%
参数:invert 45% / sepia 76% / saturate 1390% / hue-rotate 339deg / brightness 88% / contrast 93%
.icon-target {
filter: invert(45%) sepia(76%) saturate(1390%) hue-rotate(339deg) brightness(88%) contrast(93%);
}如果源资源本身是纯黑单色,filter 上色的结果通常会更稳定,也更容易接近目标色。
对复杂图片来说,filter 更像整体调色,不适合精确替代设计稿里的原始多色资源。
如果这组颜色后面还要用于按钮、hover 和主题变量,下一步通常会继续进品牌色板、Tailwind 导出或对比度检测。
为什么需要单独做 CSS filter 换色
很多项目里你拿到的是一套黑色 SVG 或单色图标,但产品又希望它们快速贴近品牌色或专题色。
- 如果只是为了页面落地临时换色,重新导出整套图标的成本往往比直接生成 filter 更高。
- filter 特别适合纯黑单色图标、蒙版资源和局部强调图形,而不是复杂插画和多色图。
- 先拿到一个可用的近似 filter,再决定是否回到设计侧导正式资源,通常是更务实的开发流程。
什么时候它最好用
这个工具更适合快速落地和原型验证,而不是追求绝对像素级还原。
- 已有黑色 SVG、icon font 或蒙版图标,需要快速跟随品牌主色或专题主色。
- 活动页、着陆页和营销页里,想让局部图标快速贴近主题色,但暂时不想导出新资源。
- 做后台或组件库时,需要先验证黑色图标在不同主题色下的大致可用性。
常见颜色的 filter 参考
下面这组参考可以帮助你先理解不同目标色求出来的 filter 大致会是什么样。
实际演示
示例输入输出
示例覆盖品牌橙和产品蓝两类常见目标色,帮助用户快速理解 CSS filter 对黑色单色图标的近似换色结果。
品牌橙图标换色
适合把黑色单色 CTA 图标快速贴近营销站品牌橙。
#D85B32
invert(45%) sepia(76%) saturate(1390%) hue-rotate(339deg) brightness(88%) contrast(93%)
#D85B32 · Loss 0.1
产品蓝图标换色
适合后台导航图标、信息型页面图标和 SaaS 主题图标快速换色。
#1E88E5
invert(40%) sepia(96%) saturate(1500%) hue-rotate(189deg) brightness(94%) contrast(91%)
#1F87E5 · Loss 2.1
规则说明
CSS Filter 颜色转换器会以纯黑单色图标为起点,自动求解一组更接近目标色的 `invert / sepia / saturate / hue-rotate / brightness / contrast` 参数。
- 它不是把目标色直接写进图标,而是通过一组图像滤镜近似逼近目标颜色。
- 对黑色单色 SVG、蒙版图标和纯黑图形来说,结果通常更稳定,也更容易复用。
- 如果源素材本身不是黑色,或者已经带有多种颜色,结果会更偏近似调色,而不是精准还原。
常见误区
很多人把 filter 当成万能换色方案,但它更适合临时落地和前端复用,不是所有素材都应该强行走这一层。
- 多色图、照片和渐变插画通常不适合直接套同一条 filter。
- 结果里的 Loss 越低,说明越接近目标色;但即使 Loss 很低,也仍然是近似而不是像素替换。
- 如果你能直接改 SVG 的 `fill` 或 `currentColor`,长期维护上通常会比 filter 更清晰。
结果解释
结果区会同时给出目标色、近似结果色、Loss 和完整 CSS 片段,方便你判断这次求解能不能直接落地。
- 目标色和近似结果色的差距越小,越适合直接给单色图标复用。
- Loss 更适合做快速判断,低 Loss 说明这条 filter 更接近目标色。
- 完整 CSS 片段更适合直接贴进组件、页面样式或实验性主题里做验证。
推荐处理链路
CSS filter 更像图标落地链路中的一个中间步骤,后面通常还会继续做主题变量、按钮颜色或品牌色板沉淀。
- 先确认图标换色方向可用,再回头统一按钮、标签和主题变量,会比一开始就重做资源更快。
- 如果这个颜色后面还要继续扩展成一整套品牌体系,下一步更适合继续进品牌色板和 Tailwind 导出工具。
常见问题
常见问题
CSS Filter 颜色转换器 FAQ 主要补充适用素材类型、精度预期和与直接改 SVG 填色的区别。
这个结果适合所有图片资源吗?
不适合。它最适合黑色单色 SVG、图标和蒙版资源。对多色图、渐变图或复杂位图来说,filter 更像整体调色,不是精确替代方案。
为什么生成的结果颜色和目标色还有一点差距?
因为 CSS filter 是通过固定的一组图像处理参数去逼近目标色,不是直接把像素替换成目标 HEX,所以本质上是近似求解。
什么时候更应该直接改 SVG fill,而不是用 filter?
如果你能控制原始 SVG,而且这个颜色会长期稳定存在,直接改 `fill` 或用 `currentColor` 往往更干净;filter 更适合快速落地、临时换色或不方便重导资源的场景。
相关工具
你还可以继续使用其他已经可用的颜色转换和配色工具。