隨機顏色產生器

一次最多產生 50 種隨機顏色——任意顏色,或只產生鮮豔色、粉彩色或深色——每種都配有 HEX、RGB 或 HSL 代碼和文字對比度徽章,全部在你的瀏覽器中使用安全的隨機性產生。

按下產生以抽選
進階選項
色相 (°)
飽和度 (%)
明度 (%)

需要為原型圖、圖表或空白畫布選一個顏色,又不想憑習慣隨便選?這個免費的隨機顏色產生器會從螢幕能顯示的完整 24 位色彩範圍中抽取顏色,並將每種顏色顯示在色塊上,旁邊附有代碼。在「數量」中選擇想要的顏色數——1 到 50 之間任意取值——勾選需要的格式,然後點選「產生」。頁面開啟時預設顯示一種 HEX 顏色,因此第一個結果只需一次點選即可獲得。「HEX 代碼」這個核取方塊從一開始就是勾選狀態,旁邊分別是「RGB 代碼」和「HSL 代碼」兩個核取方塊,三者的任意組合都可以同時啟用。「產生」按鈕旁的齒輪按鈕會開啟「進階選項」,你可以在其中把顏色限定為某一類或某個範圍,排除重複,並更改 HEX 的書寫方式。

每個顏色都是在你的瀏覽器中透過 Web Crypto API(crypto.getRandomValues)產生的,它從你系統自身的隨機源提供密碼學強度的隨機位元組,而不是像 Math.random() 那樣的偽隨機函式。螢幕上的一個顏色由三個通道組成——紅、綠、藍——每個通道都是 0 到 255 之間的整數,而一個隨機位元組正好能表示 256 個值。也就是說,每個通道就是簡單的一個位元組,中間沒有任何環節:不會取餘數,也沒有任何轉換步驟會偏向某個色調。這使得頁面能產生的全部 16,777,216 種顏色,每次點選「產生」時,出現的機率完全相等。「進階選項」中較窄的範圍會把這個保證限制在該範圍之內:顏色仍然是從整個空間中抽取的,落在範圍之外的會被剔除,因此範圍允許的每種顏色都有相同的機率。沒有任何內容會發送到伺服器,也不會被記錄,頁面載入完成後,即使離線也能繼續正常使用。

這三種格式用三種方式描述同一個顏色。「HEX 代碼」這種格式是 CSS 和大多數設計工具中使用的六位數寫法,例如 #0778ff;它以小寫字母書寫,前面帶一個 #,「進階選項」中的「大寫」和「不帶 #」選項會針對期望不同寫法的工具改變這一點。「RGB 代碼」這種格式把三個通道完整寫出,例如 rgb(7, 120, 255),適合分別處理每個通道的代碼。「HSL 代碼」這種格式透過色相、飽和度和明度描述顏色,例如 hsl(213, 100%, 51%),是之後手動調整最方便的形式。三種格式都可以直接貼上進樣式表。不過它們的精確度並不相同。HEX 和 RGB 是精確的;HSL 是四捨五入的。頁面把色相、飽和度和明度寫成整數,對於大約 89% 的顏色,這個四捨五入後的值並不能精確轉換回原來的顏色:#646503 會顯示為 hsl(61, 94%, 20%),而這個值轉換回去得到的是 #616303。差異在單個通道上從不超過 5 個數值,通常只有 1 或 2——在螢幕上看不出來,但如果你儲存了 HSL 值又想找回原來的 HEX 值,這個差異就是真實存在的。請儲存 HEX 或 RGB 作為你要留存的值。

只產生一種顏色時,結果會顯示為居中的一個色塊;產生多種顏色時,會顯示為帶編號的清單,每行一種顏色,所選格式並排顯示,末尾有一個小小的對比度徽章。超過三種顏色的清單會在框內捲動,框角的箭頭可以把它展開到完整高度;頁面會記住你上次展開或收起的狀態。點選任意代碼即可只複製該代碼。行末的複製按鈕會把該顏色的所有代碼複製到一行,以空格分隔。點選色塊本身,會開啟你瀏覽器自帶的顏色選擇器:在那裡選一個不同的顏色,該行中所有已啟用格式的代碼都會相應地重寫,徽章也會一起更新。「全部複製」按鈕會複製整批顏色,每行一種,「儲存為檔案」按鈕會把同樣的文字寫入一個純文字 .txt 檔案;這兩個操作都會以你在顏色選擇器中改動過的顏色為準。「紀錄」功能會在此瀏覽器中保留你最近的 10 批結果,與產生時完全一致,「清除」按鈕則會清空結果。你的設定,包括「進階選項」中的設定,會在下次造訪時被記住。

機率相等的顏色看起來並不是均勻分佈的,瞭解這一點可以避免你出於錯誤的理由反覆點選「產生」。就整個範圍來測算,大約 35% 的顏色是鮮豔且高飽和度的,HSL 飽和度至少為 70%,明度在 35% 到 65% 之間。接近灰色、飽和度低於 20% 的顏色只佔大約 4%,非常暗(明度低於 20%)和非常亮(超過 80%)的顏色各佔大約 3%。因此,在「所有顏色」下產生的一批十種顏色,通常會包含多種鮮明的顏色,很少出現粉彩色或炭灰色。當你需要特定的一類顏色時,可以在「顏色類型」中選擇:「鮮豔」正好對應這一群組,「粉彩」、「深色」、「低飽和」和「灰階」也各自對應自己的群組。「自訂」選項可以讓你設定自己的「色相」、「飽和度」和「明度」範圍,色相範圍可以跨過 0,所以從 330 到 30 會得到紅色系。範圍會依據頁面顯示的 HSL 代碼來檢查,因此沒有代碼會落在範圍之外;如果範圍內的顏色數量不足以滿足「數量」,頁面會讓你把範圍放寬,而不是重複出現顏色。除此之外,重複是有可能的,但很少見:勾選「不重複」即可排除這種情況;不勾選時,從整個範圍抽取的 50 種顏色中出現兩個相同顏色的機率大約是 13,700 分之一。

隨機顏色常常被用作背景,這就帶來了一個色塊本身無法用肉眼回答的問題:上面的文字看得清嗎?網頁無障礙指南 WCAG 要求普通文字的對比度至少達到 4.5:1。就這個頁面能產生的所有顏色來測算,黑色文字在其中大約 65% 的顏色上能達到這個標準,白色文字大約在 36% 的顏色上能達到;不存在兩者都達不到標準的顏色:兩者中較好的一方總能達到至少 4.58:1。因此,對於任何隨機背景,黑色或白色文字總有一個能通過標準,頁面會告訴你是哪一個。每種顏色旁都會顯示一個小徽章,用較易讀的那種文字顏色寫出 Aa,後面跟著對比度數值。這個數值是向下取整的,所以永遠不會高估一個顏色的表現,而且當你在顏色選擇器中更換顏色時,它會隨之更新。這個徽章只比較黑色和白色文字;如果是品牌色或其他文字顏色,請用對比度檢測工具核對。

隨機不等於和諧。批次中的每種顏色都是獨立抽取的,彼此互不知曉,因此產生器從不會按設計師的意義構建配色方案——沒有互補色對,沒有類似色系列,也沒有共同的明度。更窄的範圍會改變一批結果的風格,但不會改變這一點:粉彩色或一系列藍色調依然是逐個出現的,彼此之間沒有任何聯繫。這正是它的意義所在:它會給你一個你自己不會選的顏色,而這恰恰能打破習慣或創作上的瓶頸。要把一次隨機的發現變成真正有用的東西,留住你喜歡的顏色並圍繞它進行搭配,而不是不停點選「產生」,直到整套顏色碰巧湊到一起。保持它的色相不變,逐步調整明度,得到更淺或更深的變體,或者把色相旋轉 180 度,得到一個形成對比的搭配色。「HSL 代碼」這種格式能把這些操作變成計算,而不是靠猜。

為什麼選擇這個隨機顏色產生器?
——每種顏色都在你的瀏覽器中透過 Web Crypto API 產生,不會上傳任何內容
——全部 16,777,216 種顏色的機率完全相等,每個通道使用一個隨機位元組
——同一顏色的 HEX、RGB 和 HSL 代碼,可任意組合顯示
——一次最多產生 50 種顏色,每種都配有色塊和文字對比度徽章
——鮮豔、粉彩、深色、低飽和和灰階,或者你自己設定的色相、飽和度和明度範圍
——需要時可選擇不重複,HEX 可以大寫或不帶 #
——點選代碼即可複製,或在瀏覽器自帶的顏色選擇器中更改任意顏色
——全部複製、儲存為檔案,以及儲存在瀏覽器中的最近 10 批紀錄
——免費且不限次數:無需註冊,沒有配額限制,不會在我們的伺服器上儲存任何內容

只要是在還沒有人決定用什麼顏色之前就需要一個顏色的場合,隨機顏色都能派上用場。設計師用它來打破創作瓶頸,找到自己慣用的配色方案永遠想不到的起點。開發者用它來填充原型圖、佔位內容和頭像,在真正的主題還沒確定之前先給圖表中的每個系列一個自己的顏色,並測試介面在面對未曾專門設計過的背景時的表現——在「所有顏色」下產生的一批 50 種顏色,幾乎總會包含至少一種非常暗或非常亮的顏色,而「深色」或「粉彩」這兩個選項則能把測試對準其中一端。生成藝術創作者和遊戲原型開發者會把這些數值直接輸入程式碼,而 RGB 形式正好適用於大多數圖形函式庫。教師會把三種格式並排展示,說明同一個顏色既可以寫成代碼,也可以寫成三個通道,還可以寫成色環上的一個位置,並說明 HSL 版本為什麼是四捨五入的。而任何需要為清單打標籤、加標記或按顏色分類的人,都能得到彼此有區分度的顏色,而不必為選哪個而煩惱。

有幾條實實在在的限制值得了解。這是一個產生器,不是配色工具:它不會構建色彩和諧關係,也不會在其他顏色變化時固定住某一種顏色,而更窄的範圍只是給出同一類的顏色,不是特意挑選出來搭配在一起的顏色。對比度徽章只比較黑色和白色文字。這個頁面處理的是螢幕能顯示的 sRGB 顏色——HEX、RGB 和 HSL——不涉及透明度,也不支援 CMYK、Pantone、OKLCH 或具名的 CSS 顏色;如果用於印刷,請在你的印刷流程中核對顏色,而不要依賴螢幕上的代碼。同一個代碼在不同螢幕上看起來也可能略有差異,因為螢幕的校準並不統一。HSL 數值是四捨五入的,如上所述;除非勾選了「不重複」,否則一批結果不會被檢查是否有重複。這個頁面真正能保證的東西範圍更窄,但是精確的:它的 16,777,216 種顏色中的每一種,或者你設定的範圍內的每一種顏色,在每次點選時的機率都相同,都取自你瀏覽器的密碼學隨機源,並且永遠不會發送到任何地方。

FAQ

如何產生一個隨機顏色?

在「數量」中選擇想要多少種顏色,1 到 50 之間任意取值,勾選需要的格式——「HEX 代碼」、「RGB 代碼」、「HSL 代碼」或任意組合——然後點選「產生」。頁面會以一種 HEX 顏色開啟,因此第一個結果只需一次點選。每種顏色都會顯示在色塊上,旁邊附有代碼。

這些顏色真的是隨機的嗎?每種顏色出現的機率是否相等?

是的。每種顏色都來自你瀏覽器的 Web Crypto API(crypto.getRandomValues),這是在需要不可預測的隨機性時使用的密碼學安全來源。每個通道都是一個隨機位元組,正好包含該通道所需的 256 個值,因此沒有任何轉換步驟能偏向某個色調。全部 16,777,216 種顏色的機率完全相等,當你縮小範圍時,範圍內的每種顏色機率也依然相等。

HEX、RGB 和 HSL 之間有什麼區別?

它們是書寫同一個顏色的三種方式。HEX 是六位數的代碼,例如 #0778ff,用於 CSS 和大多數設計工具。RGB 給出紅、綠、藍三個通道的數值,例如 rgb(7, 120, 255)。HSL 給出色相、飽和度和明度,例如 hsl(213, 100%, 51%),是手動調整時最方便的形式。三者都可以直接貼上進 CSS。

為什麼 HSL 代碼轉換回去得不到完全相同的顏色?

因為頁面把 HSL 寫成整數,四捨五入會損失一點精度。大約 89% 的顏色轉換回去後並不精確:#646503 會顯示為 hsl(61, 94%, 20%),而這個值轉換回去得到的是 #616303。差異在單個通道上從不超過 5 個數值,通常只有 1 或 2。HEX 和 RGB 是精確的;HSL 是四捨五入的。如果顏色的精確度很重要,請儲存 HEX 或 RGB。

我可以只產生粉彩色、深色或鮮豔的顏色嗎?

可以。用齒輪按鈕開啟「進階選項」,在「顏色類型」中選擇:「鮮豔」、「粉彩」、「深色」、「低飽和」或「灰階」。「自訂」選項可以讓你設定自己的「色相」、「飽和度」和「明度」範圍,色相範圍可以跨過 0,所以從 330 到 30 會得到紅色系。範圍內的每種顏色機率相等,也沒有代碼會落在範圍之外;如果範圍內的顏色數量不足以滿足「數量」,頁面會讓你把範圍放寬。

如何複製一種顏色或整批顏色?

點選任意代碼即可只複製該代碼,或者使用行末的複製按鈕,把該顏色的所有代碼複製到一行。「全部複製」按鈕會複製整批顏色,每行一種,「儲存為檔案」按鈕會把同樣的文字儲存為一個 .txt 檔案。「進階選項」中的「大寫」和「不帶 #」選項會改變 HEX 的書寫方式,無論它被複製到哪裡或儲存在哪裡。

產生之後我還能更改顏色嗎?

可以。點選對應的色塊,開啟你瀏覽器自帶的顏色選擇器,然後選一個不同的顏色。該行中所有已啟用格式的代碼都會相應更新,對比度徽章也會一起更新;「全部複製」按鈕和「儲存為檔案」按鈕都會使用更改後的顏色。「紀錄」功能會按最初產生時的樣子保留這一批結果。

同一種顏色會不會在一批結果中出現兩次?

如果你在「進階選項」中勾選了「不重複」,就不會:這樣一批結果中的每種顏色都會不同。不勾選時,頁面不會做這項檢查,在 16,777,216 種可能顏色中,50 種顏色裡有兩種恰好相同的機率大約是 13,700 分之一。

文字在隨機背景色上看得清嗎?

總有一種文字顏色能保證可讀,頁面會告訴你是哪一種。按照 WCAG 對普通文字 4.5:1 對比度的要求,黑色文字在大約 65% 的顏色上可讀,白色文字在大約 36% 的顏色上可讀,而且每種顏色至少有一種能達到標準,對比度至少為 4.58:1。每種顏色旁都會顯示一個徽章,用較易讀的那種文字顏色寫出,並附帶向下取整後的對比度數值。這個徽章只覆蓋黑色和白色,如果是其他文字顏色,請用對比度檢測工具核對。

這個產生器會產生搭配和諧的配色方案嗎?

不會。每種顏色都是獨立抽取的,因此一批結果是一組彼此沒有關聯的顏色,而不是一個和諧的配色方案——即使你把範圍縮小到粉彩色或某一種色相也一樣。隨機不等於和諧。要構建一個配色方案,留住你喜歡的一種顏色,再從它推導出其餘的顏色——例如只改變它的 HSL 代碼中的明度。

能得到 CMYK、Pantone 或透明的顏色嗎?

不能。這個頁面只產生 HEX、RGB 和 HSL 格式的 sRGB 螢幕顏色,不涉及透明度,也不支援 CMYK、Pantone、OKLCH 或具名的 CSS 顏色。如果用於印刷,請在你的印刷流程中核對顏色,而不要依賴螢幕上的代碼。

我產生的內容會被發送到伺服器或儲存下來嗎?

不會。顏色都是在你的瀏覽器中本地產生的,不會上傳或記錄任何內容,頁面載入完成後即使離線也能繼續使用。「紀錄」只會在此瀏覽器中保留你最近的 10 批結果,你可以關閉或清空這個功能。