
色変換ツール
HEX、RGB、HSL、HSV、HWB、CMYK、LAB、LCH、OKLab、OKLCH、XYZ、CSSの色名、ANSIターミナルコードなどの間で色を変換します。形式の自動検出とリアルタイムプレビューに対応しています。
入力
出力
Readme
これらの色形式はそれぞれ何を意味しますか?
画面上の色は赤、緑、青の光を混ぜたもので、各形式はその混色を独自の方法で表します。CSSやデザインツールでは、HEXコードやRGB値が使われます。HSL、HSV、HWBは、色相(色相環上の角度)と、色の鮮やかさや明るさで色を表すため、手作業で調整しやすい形式です。CMYKは、印刷に使うシアン、マゼンタ、イエロー、ブラックのインク量を表します。LAB、LCH、OKLab、OKLCHは、数値を同じだけ変化させたときに、見た目の変化もほぼ同じになるよう設計されています。そのため、カラーパレットやグラデーションの作成に役立ち、最近のCSSでは4つすべてがサポートされています。ターミナルではANSIカラーコードが使われ、CSSにはtomatoなどの色名もあります。
同じオレンジ色を各形式で表すと、次のようになります。
| 形式 | 例 | 値の内容 |
|---|---|---|
| HEX | #ff6600 |
赤、緑、青をそれぞれ2桁の16進数で表した値 |
| RGB | rgb(255, 102, 0) |
0から255までの赤、緑、青の値 |
| HSL | hsl(24, 100%, 50%) |
色相、彩度、明度 |
| HSV | hsv(24, 100%, 100%) |
色相、彩度、値。HSBとも呼ばれる |
| HWB | hwb(24 0% 0%) |
色相、白色度、黒色度 |
| CMYK | cmyk(0%, 60%, 100%, 0%) |
シアン、マゼンタ、イエロー、ブラックのインク量 |
| LAB | lab(62.31, 55, 71.33) |
CIE明度、緑から赤、青から黄 |
| LCH | lch(62.31, 90.07, 52.36) |
CIE明度、彩度、色相 |
| OKLab | oklab(69.58% 0.1482 0.1406) |
明度と2つの色軸。LABと同様 |
| OKLCH | oklch(69.58% 0.2043 43.49) |
OKLabにおける明度、彩度、色相 |
| XYZ | xyz(46, 30.77, 3.52) |
LABの基礎となるCIE XYZ色空間 |
| HCG | hcg(24, 100%, 0%) |
色相、彩度、灰色度 |
| 色名 | orangered |
最も近いCSSの色名 |
| ANSI 16 | 91 |
16色の基本色のいずれかを表すターミナルコード |
| ANSI 256 | 208 |
256色のいずれかを表すターミナルコード |
| AppleScript RGB | {65535, 26214, 0} |
AppleScriptで使われる、0から65535までの赤、緑、青の値 |
| グレースケール | gray(46.7%) |
0%から100%までの明るさ |
ツールの説明
このツールは、これら17種類の形式間で色を変換し、結果の下に色見本を表示します。ここにある色変換ツールは、汎用の色変換ツールも、HEXからRGB、RGBからCMYK、HEXから色名といった特定の形式の組み合わせに対応したツールも、すべて同じように動作します。ツール名に含まれる形式が最初に選択されており、「ソース」と「変換先」のメニューからほかの形式に切り替えられます。色を貼り付けると入力中に結果が表示され、そのままコピーできます。色変換ツールで最初に選択されている「自動検出」をソースにすると、色の表記方法から形式を判別します。入れ替えボタンを押すと変換の向きが逆になります。
使用例
| 入力 | 変換先 | 結果 |
|---|---|---|
#ff6600 |
RGB | rgb(255, 102, 0) |
rgb(37, 99, 235) |
HEX | #2563eb |
#2563eb |
HSL | hsl(221.2, 83.2%, 53.3%) |
rgb(37, 99, 235) |
CMYK | cmyk(84.3%, 57.9%, 0%, 7.8%) |
#2563eb |
HSV | hsv(221.2, 84.3%, 92.2%) |
#2563eb |
OKLCH | oklch(54.61% 0.2152 262.88) |
rgb(37, 99, 235) |
LAB | lab(46.06, 30.96, -73.83) |
#ff6347 |
色名 | tomato |
rebeccapurple |
HEX | #663399 |
rgba(37, 99, 235, 0.5) |
HEX | #2563eb80 |
貼り付けられる値
- 3桁、4桁、6桁、8桁のHEXコード。
#はあってもなくてもかまいません。4桁目、または末尾の2桁で不透明度を指定します。 rgb()、hsl()、oklch()などの関数。値はカンマまたはスペースで区切り、4つ目の値として、またはスラッシュの後に不透明度を指定できます。例:rgba(37, 99, 235, 0.5)またはrgb(37 99 235 / 50%)。rgb(100%, 40%, 0%)のような赤、緑、青のパーセンテージや、hsl(0.5turn, 100%, 50%)のようなdeg、rad、grad、turn単位の色相。255, 102, 0のように関数名のない数値。自動検出では、3つの数値はRGBとして読み取ります。ただし、最後の2つがパーセンテージの場合はHSLとして読み取ります。4つの数値は、RGBと不透明度の組み合わせに見える場合を除き、CMYKとして読み取ります。- 大文字小文字を問わず、スペースの有無も問わない色名。
Rebecca Purpleも使用できます。 hsb()形式で記述したHSB値や、{65535, 26214, 0}のように中括弧で囲んだAppleScriptの色。
仕組み
色の変換には、JavaScriptライブラリのcolor-convertを使用しています。
- 不透明度は、指定可能なHEX、RGB、HSL、HWB、OKLab、OKLCHに引き継がれます。それ以外の形式では省略されます。
- LAB、LCH、XYZは、D65白色点を使ったCIE値です。CSSの
lab()とlch()はD50白色点を使うため、数値が少し異なります。 - LAB、LCH、OKLab、OKLCHでは、画面に表示できない色も表現できます。そのような色をHEX、RGBなどの画面表示用形式に変換すると、各チャンネルの値は0から255の範囲に丸められるため、
oklch(70% 0.3 145)は#00c800になります。 - 色名の結果には、CSSの色名のうち最も近いものが表示されます。そのため、色名が定義されている色でなければ、正確な一致にはなりません。
#ff6600の場合はorangeredになり、これは#ff4500です。 - ANSI 16とANSI 256の結果は近似値です。これらのパレットには、それぞれ16色または256色しかないためです。ANSI 16の結果は前景色コードの30~37および90~97です。背景色コードの40~47および100~107も、同じ色として読み取られます。
- CMYKは基本的な計算式で算出され、プリンターのカラープロファイルは考慮されません。そのため、同じ色でも印刷所で使われるCMYK値とは異なる場合があります。
- グレースケールは、赤、緑、青の値の平均です。
ヒント
- HEX、RGB、HSL、HWB、OKLab、OKLCH、色名の結果は有効なCSSなので、そのままスタイルシートに貼り付けられます。
- 自動検出では、
208のような3桁の数値が短いHEXコードとして読み取られます。ターミナルコードを入力する場合は、ソースにANSI 256またはANSI 16を選択してください。 - HSVとHSBは、同じモデルを指す2つの名称です。
コメント
記事
