什麼是 RGB 到 Hex 轉換?
RGB(紅、綠、藍)是數位螢幕最基礎的加色模型,每個通道用 0 到 255 的整數表示亮度,三者疊加產生最終色彩。十六進位色彩碼(Hex)則是 CSS、設計軟體與網頁素材中常見的表示法,結構為 # 後接六個十六進位數字(例如 #1E90FF)。本站的核心功能就是接收三個 0–255 的 RGB 數值,立即算出對應的六位 Hex 碼,同時顯示色塊與其他色彩格式(HSL、HSV、CMYK、LAB 與取色器)。
不同於市面上多數工具,此轉換沒有色域裁剪或近似——RGB 與 Hex 都隸屬於 sRGB 工作空間,這是大多數顯示器使用的標準色域,因此轉換結果是數學上完全可逆的,不會因色域不同而產生偏差。Hex 輸出固定以 # 開頭,且不攜帶 Alpha 通道(除非您刻意使用八位形式,但本站不輸出八位 Hex)。這意味著您拿到的 Hex 碼就是精確的六位代碼,可直接貼入 color 或 background-color 等 CSS 屬性。
輸入範例:79, 70, 229(逗號或空格分隔),輸出 #4F46E5。每個 0–255 的十進位值對應一組兩位 Hex 數字(例如 255 → FF),因此六位碼是必然結果,不會自動壓縮成三位簡寫。
轉換背後的數學原理
將 RGB 十進位值轉為十六進位,本質上是基數轉換。每個通道的 0–255 範圍佔用一個位元組(8 位元),可分為高四位與低四位,各自對應一個十六進位數位。
舉例:R = 79
- 79 ÷ 16 = 4 餘 15
- 4 在十六進位中為
4,15 為F - 因此 R 通道的 Hex 為
4F
同樣:G = 70
- 70 ÷ 16 = 4 餘 6 →
46 - B = 229
- 229 ÷ 16 = 14 餘 5 →
E5
組合為 #4F46E5。此運算在瀏覽器中即時完成,無需伺服器介入。由於 RGB 與 Hex 共用同一色域,轉換前後色彩值完全一致,無資訊損失。若用公式表達:
HexDigit1 = floor(value / 16),HexDigit2 = value % 16,再將 10–15 分別對應到 A–F。
這就是為什麼當您輸入 RGB 數值範圍正確時,產出的 Hex 碼永遠是六位,且與原始 RGB 一一對應。
輸入格式與常見錯誤
本站的 RGB 輸入欄位只接受三個 0 到 255 的整數,可用逗號或空格分隔(或混合使用)。例如以下都是合法輸入:
79, 70, 22979 70 22979,70 229
如果您輸入了超出範圍的數值(例如 256 或 -1),或格式無法解析(例如 79,70 只有兩個數、或用了非數字字元),工具會顯示錯誤訊息:
「Enter RGB as three numbers 0–255, like 79, 70, 229.」
此錯誤提示在英文中固定出現(本站的標準錯誤訊息),表示請輸入三個 0–255 的數字。
特別注意:即使您輸入浮點數(例如 79.5),工具因設計為僅接受整數,也會判定為無效。請確保三個值均為整數。若您從其他軟體複製了帶百分比的 RGB(例如 rgb(31%, 27%, 90%)),則需先換算回 0–255 範圍(乘以 2.55 並四捨五入),本站不直接支援百分比格式。
所有欄位皆為雙向同步:您可以直接在 Hex 欄位中輸入 #4F46E5,工具會自動更新 RGB 及其他格式。Hex 欄位也接受三位簡寫(如 #abc),工具內部會展開為六位(#aabbcc),但輸出永遠顯示六位,不會自動縮寫。
十六進位色彩碼的結構與簡寫
標準六位 Hex 碼 #RRGGBB 中,每兩位分別代表紅、綠、藍的亮度值(0 到 255 的十六進位表示)。例如:
#000000全黑#FFFFFF全白#FF0000純紅
三位簡寫 #RGB 是六位碼的壓縮形式,僅在每組兩位重複時才能使用(例如 #AABBCC 可寫 #ABC)。本站的 Hex 輸入欄位會自動展開簡寫,但輸出欄位不會做反向壓縮——這是為了保持 Hex 值的明確性,避免後續開發者混淆。
關於八位 Hex #RRGGBBAA(含 Alpha 透明度),本站的 RGB 到 Hex 轉換不涉及 Alpha 通道。輸入 RGB 只有三個數值,無法推導透明度。若您需要帶透明度的色彩,請使用本站其他相關工具(如 RGBA 到 Hex)。此處的輸出永遠是六位。
為什麼這個轉換是精確且可逆的?
RGB 與 Hex 都定義在 sRGB 色彩空間中。sRGB 是 IEC 61966-2-1 標準,1996 年由 HP 與 Microsoft 共同制定,目前是網頁、顯示器與多數消費電子產品的通用色域。由於兩者使用同樣的色域邊界與 Gamma 校正,從 RGB 轉 Hex 本質上只是改變數值的表示法,不是色彩映射,因此不存在任何近似或剪裁。
對比之下,將 RGB 轉為 CMYK(印刷色)就會面臨色域壓縮,因為 CMYK 的色域比 sRGB 小。但 RGB ↔ Hex 是無損的:您今天輸入 79,70,229 得到 #4F46E5,明天反過來輸入 #4F46E5 仍會得到 79,70,229,且色彩外觀完全一致。
這種可逆性對前端開發者非常重要——您可以在程式碼中放心地混用 RGB 與 Hex,只要它們指向同一色彩,瀏覽器渲染結果完全相同。
誰會需要這個工具?
- 前端開發者:撰寫 CSS 時常常需要 Hex 值,尤其從設計稿(Photoshop、Figma)取得 RGB 時,一秒鐘的轉換可避免人工計算錯誤。
- UI/UX 設計師:將原型中的 RGB 配色轉換為開發團隊習慣的 Hex 格式,確保交付無歧義。
- 圖像處理者:從 GIMP、Affinity Photo 等軟體的顏色面板複製 RGB 數值,貼入此工具取得可直接用於網頁的 Hex 碼。
- 學習數位色彩的人:透過即時對照理解十進位與十六進位的對應關係,以及色彩模型的基本運作。
- 任何從取色器取得 RGB 的場合:瀏覽器 DevTools、線上取色器經常回傳 RGB,轉換為 Hex 後可貼入其他不支援 RGB 輸入的軟體。
常見問題 FAQ
Q: 如果我在 Hex 欄位輸入 #ABC,RGB 欄位會顯示什麼?
A: 工具會自動將 #ABC 展開為 #AABBCC 然後轉回 RGB。例如 #ABC 對應 RGB 為 170,187,204(因為 A=170, B=187, C=204)。輸出 Hex 欄位仍顯示 #AABBCC 而不會壓縮回 #ABC。
Q: 我可以輸入八位 Hex(如 #4F46E580)嗎?
A: 可以,但此輸入僅影響 Hex 欄位本身。由於 RGB 輸入只有三個通道,工具會忽略 Alpha 部分,僅取前六位轉換。例如輸入 #4F46E580,RGB 欄位會顯示 79,70,229(與 #4F46E5 相同)。若您需要完整八位轉換,請使用本站其他對應工具。
Q: 為什麼我的輸入 79, 70, 229 被拒絕?我用了逗號和空格。
A: 此輸入應是正確的。如果被拒絕,請檢查有無多餘空格或非英數字元。例如全形逗號「,」或全形空格「 」都會導致格式錯誤。請使用半形逗號或空格。
Q: 轉換結果會上傳到伺服器嗎?
A: 不會。所有計算都在您的瀏覽器中完成,沒有任何資料離開您的裝置。您可以放心處理機密設計稿的顏色。
Q: 我可以反過來從 Hex 轉換回 RGB 嗎?
A: 當然可以。本站所有色彩格式欄位都是雙向聯動的。您只需在 Hex 欄位輸入有效值,RGB 欄位會立即更新。無需再按任何按鈕。
Q: 為什麼我的 CSS 中使用的 Hex 是三位或八位,此工具不顯示?
A: 此工具專注於 RGB(無 Alpha)轉六位 Hex,因此在輸出時固定使用六位,以維持一致性。如果您需要三位或八位表示法,請參考本站的其他頁面(如「Hex 簡寫轉換」或「Hex 加 Alpha」)。但輸入時支援三位簡寫是為了方便您快速調用。
本文同步呈現於「RGB 轉 Hex」工具頁,所有技術細節與行為描述皆以該工具為準。