HEX 轉 HSL 轉換器

線上把 HEX 顏色值轉成 HSL:邊輸邊出結果,附換算示例和常用顏色對照表,免費即用。

換算示例

HEX #ff5733 = HSL 11, 100%, 60%

換算原理

  • HEX 顏色碼就是 RGB 三個通道的十六進位寫法:每個通道兩位,00 表示 0,ff 表示 255。
  • HSL 用色相(0–360° 色環)、飽和度和亮度來描述同一個顏色,想把顏色調暗或降飽和,直接改對應分量就行。

常用顏色 HEX / HSL 對照表

顏色HEXHSL
紅色#ff00000, 100%, 50%
橙色#ffa50039, 100%, 50%
黃色#ffff0060, 100%, 50%
綠色#008000120, 100%, 25%
青色#00ffff180, 100%, 50%
藍色#0000ff240, 100%, 50%
紫色#800080300, 100%, 25%
粉紅色#ffc0cb350, 100%, 88%
棕色#a52a2a0, 59%, 41%
白色#ffffff0, 0%, 100%
灰色#8080800, 0%, 50%
黑色#0000000, 0%, 0%

所有換算都在你的瀏覽器本機完成,輸入內容不會上傳到 BroBroGo。

常見問題

HEX 怎麼轉成 HSL?

在上方輸入或貼上 HEX 值,HSL 值會邊輸邊更新;也可以點色塊直接選色。

換算結果精確嗎?

數值會四捨五入到整數,這也是 CSS 和設計工具的常用寫法,誤差遠低於肉眼可辨的程度。

什麼是 HEX 與 HSL?——兩種色彩模型的快速釐清

這個頁面只做一件事:你貼上一個十六進位色碼(HEX),比如 #1E90FF#abc,它立刻回傳對應的 HSL 值(色相 0–360 度、飽和度 0–100%、亮度 0–100%),同時顯示該顏色在 HEX、RGB、HSV、CMYK、LAB 五種格式下的數值。所有欄位在你編輯的瞬間同步更新。

HEX 是原始 RGB 的濃縮寫法:六位十六進位數字(或三位縮寫)直接編碼紅、綠、藍三個通道。它體積小、在 CSS 和設計工具中隨處可見,但你無法直覺地靠它調整顏色——例如想把某個藍色變暗 20%,你只能重新計算十六進位數值。HSL 則是為人類思考設計的結構:色相用度數標記色環位置,飽和度和亮度用百分比表達。改變亮度時,色相完全不動;這正是 HSL 成為調色板與主題系統首選格式的原因。

標準 HEX(六位或三位)不攜帶透明度資訊,HSL 本身也沒有 Alpha 通道。這個轉換永遠處理完全不透明的顏色。

從 HEX 到 HSL 的轉換邏輯(六位與三位縮寫)

轉換的底層方法是先將十六進位字串解碼為 0–255 的 RGB 值。六位 #4f46e5 中,4f = 79、46 = 70、e5 = 229。三位縮寫 #abc 則視為 #aabbcc,也就是每個十六進位數字重複一次。轉換公式使用標準的 RGB 到 HSL 演算法:

  1. 將 R、G、B 歸一化到 0–1 範圍。
  2. 找出最大值與最小值,計算明度(Lightness):L = (max + min) / 2
  3. 若 max = min,則飽和度為 0,色相未定義;否則飽和度 S = (max − min) / (1 − |2L − 1|),色相 H 根據哪個分量是最大值決定,最後標準化到 0–360 度。

頁面會幫你算好,你只需要關心結果。唯一要注意的是輸入必須是有效的六位或三位十六進位色碼,可以帶或不帶前綴 #。如果打入 #GGGxyz,頁面會顯示:「請輸入如 #4f46e5#abc 的十六進位色碼。」

為什麼 HSL 比 HEX 更適合人眼操作?

前端開發者拿到一個設計稿上的 hex 色——例如品牌藍 #1E90FF——想做出 hover 時稍微暗一點的效果。在 HEX 中你得分別調低 R、G、B 數值,很可能把色調弄偏。但在 HSL 裡你只需要降低亮度(Lightness),色相和飽和度維持不變。同理,想產生一組 monochromatic 色板,固定色相並逐步調整亮度與飽和度即可。這正是 CSS 原生支援 hsl()hsla() 的原因——你可以用 CSS 自訂屬性(custom properties)動態操控變體。

UI/UX 設計師思考顏色的方式也是色相、飽和度、亮度。一張十六進位色碼表對他們來說是黑盒子,但 HSL 數值可以直觀地告訴你:「這是一個綠色,偏灰,中等亮度」。網頁無障礙稽核人員則可以藉由 HSL 快速鎖定色相,只調整亮度來達到 WCAG 要求的對比度(例如 4.5:1),而不必猜測 RGB 組合。

輸入限制與邊界情況:色域、CMYK 與即時計算

頁面只接受有效的六位或三位十六進位色碼(含 # 或不含)。如果你在 LAB 或 CMYK 欄位輸入一個數值,而該顏色位於可顯示 RGB 色域之外(例如飽和度極高的螢光色),頁面會將顏色調整為最接近的可顯示顏色。此時回頭轉換回 HEX,數值可能與原始輸入略有偏移——這是因為螢幕本身色域限制,不是 Bug。

CMYK 數值是純螢幕估算,應只用於參考,不能用於專業印刷而不經校正。所有轉換都在你的瀏覽器內完成,你輸入的任何資料都不會被上傳或儲存。

同時顯示多種色彩空間的實用價值

這個頁面不只是 HEX → HSL 轉換器。它同時展示 RGB、HSV、CMYK、LAB 四個額外格式。為什麼?因為不同工作階段需要不同模型:

  • HEX:CSS 設定、設計工具複製。
  • RGB:影像處理、硬體控制。
  • HSV:色彩挑選器常見底層模型(色相、飽和度、明度)。
  • CMYK:印刷前預覽(但記住它是估算)。
  • LAB:設備無關、感知均勻的色彩空間,常用於色彩比對與調整。

你不需要切換頁面就能複製任何一種格式,減少出錯機會。

常見問答(FAQ)

Q: 我可以輸入像 fff 這樣沒有 # 的色碼嗎?
可以。頁面會自動補上 #,辨識為 #ffffff(六位)或 #ffffff(若只輸三位)。

Q: 為什麼 HSL 的色相是 0–360,而飽和度與亮度是百分比?
色相單位是度數,對應色環上的角度(0°=紅,120°=綠,240°=藍)。飽和度 0% 表示灰色,100% 表示純色;亮度 0% 是黑,100% 是白。

Q: 轉換結果的 HSL 小數點後位數是固定的嗎?
H 值顯示到小數點後一位(例如 212.5°),S 與 L 顯示到百分比整數。這是實務上夠用的精確度。

Q: 如果我輸入一個無效字串,頁面會當機嗎?
不會。頁面會顯示錯誤訊息:「請輸入如 #4f46e5#abc 的十六進位色碼。」不會執行任何計算。

Q: 在 LAB 或 CMYK 輸入色域外的顏色後,HEX 會變嗎?
會。頁面會強制將該顏色調整到最接近的可顯示 RGB 色域內,因此 HEX 值可能與你預期的不同。這種情況通常發生在超高飽和度或極端亮度的顏色上。

Q: 這個轉換可以離線使用嗎?
可以。所有程式碼在瀏覽器本機執行,不需要網路連線。