Tailwind颜色查找器
为任意HEX或RGB值查找最接近的Tailwind CSS颜色类名
颜色(HEX)
最接近的Tailwind颜色
单击任意结果以复制类名
什么是Tailwind颜色查找器?
Tailwind CSS内置了一个默认调色板,包含22个颜色系列,每个系列有11种深浅度,从50(最浅)到950(最深),共提供242种预定义颜色,类名格式如bg-indigo-500或text-red-400。当你手头有设计文件中的hex或RGB值,需要找到最接近的Tailwind类名时,Tailwind颜色查找器会计算你的输入与调色板中每种颜色之间的距离,并返回最佳匹配结果。
匹配过程的原理是:将你的输入颜色和每个Tailwind颜色都转换为RGB三元组,然后计算三维颜色空间中的欧几里得距离:sqrt((r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2)。距离最小的Tailwind颜色即为最近匹配。若距离为零,说明你的输入与某个Tailwind默认深浅度完全一致。
这与通用颜色转换器或颜色名称查找器不同。转换器负责格式转换(hex转HSL、RGB转CMYK)。名称查找器在148个CSS命名颜色中匹配。Tailwind颜色查找器专门针对Tailwind CSS默认调色板进行匹配,返回可直接粘贴到标记代码中的类名。
为什么使用这个Tailwind颜色查找器?
手动将一个hex值与242个Tailwind深浅度逐一对比,意味着要翻遍文档或配置文件。本工具对每个深浅度都执行距离计算,并按接近程度排序显示最佳匹配,附带精确的hex值和可直接复制的Tailwind类名。
Tailwind颜色查找器的使用场景
Tailwind CSS默认调色板
Tailwind CSS v3包含22个颜色系列,每个系列有11种深浅度:50、100、200、300、400、500、600、700、800、900和950。500深浅度被视为每个系列的“基准色”。下表列出了每个颜色系列及其最浅(50)和最深(950)的hex值。
| 颜色系列 | 深浅度 | 50(最浅) | 950(最深) |
|---|---|---|---|
| slate | 11 | #f8fafc | #020617 |
| gray | 11 | #f9fafb | #030712 |
| zinc | 11 | #fafafa | #09090b |
| neutral | 11 | #fafafa | #0a0a0a |
| stone | 11 | #fafaf9 | #0c0a09 |
| red | 11 | #fef2f2 | #450a0a |
| orange | 11 | #fff7ed | #431407 |
| amber | 11 | #fffbeb | #451a03 |
| yellow | 11 | #fefce8 | #422006 |
| lime | 11 | #f7fee7 | #1a2e05 |
| green | 11 | #f0fdf4 | #052e16 |
| emerald | 11 | #ecfdf5 | #022c22 |
| teal | 11 | #f0fdfa | #042f2e |
| cyan | 11 | #ecfeff | #083344 |
| sky | 11 | #f0f9ff | #082f49 |
| blue | 11 | #eff6ff | #172554 |
| indigo | 11 | #eef2ff | #1e1b4b |
| violet | 11 | #f5f3ff | #2e1065 |
| purple | 11 | #faf5ff | #3b0764 |
| fuchsia | 11 | #fdf4ff | #350820 |
| pink | 11 | #fdf2f8 | #500724 |
| rose | 11 | #fff1f2 | #4c0519 |
Tailwind v3与v4调色板对比
Tailwind CSS v4改变了颜色的定义方式,但保留了相同的默认调色板名称和深浅度编号。
代码示例
通过编程方式,使用RGB空间中的欧几里得距离查找最接近的Tailwind颜色。以下每个示例接受一个hex字符串,并从默认调色板中返回最接近的Tailwind类名。
// Find nearest Tailwind color from hex input
const TAILWIND_COLORS = {
'red-500': [239, 68, 68],
'blue-500': [59, 130, 246],
'indigo-500': [99, 102, 241],
'green-500': [34, 197, 94],
// ... full palette (242 entries)
}
function hexToRgb(hex) {
const n = parseInt(hex.replace('#', ''), 16)
return [(n >> 16) & 255, (n >> 8) & 255, n & 255]
}
function nearestTailwind(hex) {
const [r, g, b] = hexToRgb(hex)
let best = '', bestDist = Infinity
for (const [name, [r2, g2, b2]] of Object.entries(TAILWIND_COLORS)) {
const d = Math.sqrt((r - r2) ** 2 + (g - g2) ** 2 + (b - b2) ** 2)
if (d < bestDist) { bestDist = d; best = name }
}
return best
}
nearestTailwind('#6366f1') // → "indigo-500" (exact match)
nearestTailwind('#5a5de0') // → "indigo-500" (distance: 19.3)
nearestTailwind('#ff4500') // → "red-500" (distance: 57.2)import math
TAILWIND = {
"red-500": (239, 68, 68),
"blue-500": (59, 130, 246),
"indigo-500": (99, 102, 241),
"green-500": (34, 197, 94),
# ... full palette
}
def hex_to_rgb(h: str) -> tuple[int, int, int]:
h = h.lstrip("#")
return int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16)
def nearest_tailwind(hex_str: str) -> tuple[str, float]:
r, g, b = hex_to_rgb(hex_str)
name, dist = min(
TAILWIND.items(),
key=lambda item: math.dist((r, g, b), item[1])
)
return name, round(dist, 1)
print(nearest_tailwind("#6366f1")) # → ('indigo-500', 0.0)
print(nearest_tailwind("#1e293b")) # → ('slate-800', 0.0)
print(nearest_tailwind("#333333")) # → ('zinc-700', 17.5)# tailwind.config.js — extend palette with a custom color
# mapped to its nearest default Tailwind shade
module.exports = {
theme: {
extend: {
colors: {
brand: {
// Your brand color: #5a5de0
// Nearest Tailwind: indigo-500 (#6366f1)
// Use the exact brand color, reference Tailwind for context
DEFAULT: '#5a5de0',
light: '#8183f0', // near indigo-300
dark: '#3b3dab', // near indigo-700
}
}
}
}
}
# Check Tailwind classes in markup:
# npx tailwindcss -o output.css --content ./src/**/*.html