DevTools Japan トップへ

OKLCHカラー変換・ピッカー

OKLCH ⇔ HEX・RGB・HSL を双方向に相互変換

⚠ この色はsRGBの色域外(out of gamut)です。HEX・RGB出力は表示可能な範囲にクランプした近似値です。
oklch(0.628 0.2577 29.23)

OKLCH スライダー

L 明度0 〜 1
C 彩度(クロマ)0 〜 0.4
H 色相0 〜 360°
Alpha 不透明度0 〜 1

HEX / RGB / HSL から変換

HEX
-
RGB
-
HSL
-
OKLCH (CSS)
-
すべての変換はブラウザ内で完結し、色の値は外部に送信されません。OKLab⇔linear-sRGB⇔sRGBの標準変換行列とガンマ補正を実装しています。OKLCHはsRGBより広い色域を持つため、色域外の色はsRGBの範囲へクランプした近似HEXを表示します。

OKLCHカラー変換ツールの使い方

OKLCHは CSS Color Module Level 4(CSS Color 4)で標準化された新しい色指定方法で、2023年以降にChrome・Safari・Firefox・Edgeなど主要ブラウザでBaselineとなりました。本ツールは、この OKLCH カラーをブラウザだけで自由に調整し、従来の sRGB HEX・RGB・HSL と双方向に相互変換できる無料ツールです。インストールや会員登録は不要で、入力した色の値はすべて端末内で処理され外部に送信されません。

使い方はシンプルです。L(明度)・C(彩度/クロマ)・H(色相)・Alpha(不透明度)の4つのスライダーを動かすと、上部のスウォッチ(色見本)と oklch(L C H) のCSS文字列がリアルタイムに更新されます。「CSS値をコピー」ボタンを押せば、そのままスタイルシートに貼り付けられます。逆に、下部のHEX欄に #ff0000 のようなカラーコードを貼り付けると、対応するOKLCH値へ即座に逆変換され、スライダーにも反映されます。RGBやHSLの数値からの変換にも対応しています。

各パラメータの意味

記号意味範囲
L知覚的な明度(Lightness)。0が黒、1が白0 〜 1
C彩度・クロマ(Chroma)。0が無彩色、大きいほど鮮やか0 〜 約0.4
H色相(Hue)。色の角度。0=赤系、120=緑系、240=青系0 〜 360°
Alpha不透明度。0で透明、1で不透明0 〜 1

OKLCHが選ばれる理由

従来よく使われてきたHSLは、同じL(明度)の値でも色相によって見た目の明るさが大きくばらつくという弱点がありました。たとえばHSLで明度50%の黄色と青は、数値上は同じでも人間の目には黄色のほうがずっと明るく見えます。OKLCHはOKLabという知覚的均一性を重視した色空間をベースにしているため、Lを固定したまま色相Hだけを変えても、見た目の明るさがほぼ一定に保たれます。これにより、アクセシブルなカラーパレット設計、ダークモードの配色、なめらかなグラデーション作成が格段に扱いやすくなります。

色域外(out of gamut)の扱い

OKLCHはsRGBより広い範囲の色を数式上表現できるため、CやLの組み合わせによっては現在のsRGBディスプレイで再現できない色になることがあります。この状態を「色域外(out of gamut)」と呼びます。本ツールでは色域外を検出すると警告を表示し、HEX・RGBの出力はsRGBの表示可能範囲へクランプ(各チャンネルを0〜255に丸め込み)した近似値を表示します。厳密な色を保ちたい場合は、Cを下げるかLを調整して警告が消える範囲に収めてください。

変換の仕組み

本ツールは色の変換を数式でごまかさず、Björn Ottosson氏が公開したOKLabの標準変換をそのまま実装しています。OKLCHからsRGBへは「OKLCH → OKLab(極座標を直交座標へ)→ linear-sRGB(3×3行列と立方)→ sRGB(ガンマ補正)」の順に、逆方向はその逆順で計算します。sRGB↔linear-sRGB間はCSSと同じガンマ関数(しきい値0.04045/0.0031308、指数2.4)を使用しています。たとえば oklch(0.628 0.2577 29.23) は sRGBの純赤 #ff0000 にほぼ一致し、逆変換しても元の値に戻る往復(ラウンドトリップ)整合性を確認済みです。

よくある質問

OKLCHとは何ですか?
OKLCHはCSS Color 4で定義された色指定方法で、L(知覚的な明度 0〜1)、C(彩度・クロマ 0以上)、H(色相 0〜360度)の3要素で色を表します。OKLab色空間を極座標で表現したもので、人間の見え方に近い『知覚的均一性』を持ちます。2023年以降Chrome・Safari・Firefox・EdgeなどでBaseline対応となり、デザインシステムでHSLの置き換えとして広く使われ始めています。
OKLCHはHSLと何が違いますか?
HSLは実装が簡単な一方、同じ明度(L)の値でも色相によって実際の明るさがばらつくという欠点があります。OKLCHは知覚的に均一な明度を持つため、Lを固定したまま色相Hだけを変えても見た目の明るさがほぼ一定に保たれます。このため、アクセシブルなカラーパレットやダークモード、グラデーションの設計でHSLより扱いやすく、コントラスト調整が直感的になります。
色域外(out of gamut)の警告は何ですか?
OKLCHはsRGBより広い色を表現できるため、CやLの組み合わせによってはsRGBディスプレイで表示できない色(色域外)になります。その場合、本ツールはHEX・RGB出力をsRGBの範囲にクランプ(丸め込み)したうえで警告を表示します。表示されたHEXは近似値であり、元のOKLCH値とは厳密には一致しない点にご注意ください。
HEXコードからOKLCHに変換できますか?
はい。HEX入力欄に#ff0000のような16進カラーコードを貼り付けると、sRGB→linear-sRGB→OKLab→OKLCHの順で正確に逆変換し、対応するL・C・Hの値とスライダーに反映します。RGBやHSLの数値からも同様に変換できるため、既存のカラーコードをOKLCHへ移行する作業に利用できます。
変換計算はサーバーに送信されますか?
いいえ。すべての変換はお使いのブラウザ内のJavaScriptだけで完結し、入力した色の値がサーバーや外部に送信されることはありません。OKLab⇔linear-sRGB⇔sRGBの標準的な変換行列とガンマ補正をそのまま実装しているため、オフラインでも動作し、プライバシーを気にせず利用できます。

関連ツール

カウントダウン計算ツール一覧へ