シェードジェネレーター
シェードとは、色に黒を混ぜた結果で、段階ごとに暗くなっていきます。このジェネレーターはHEX形式のベースカラーを受け取り、徐々に暗くなる3〜20段階(既定は10段階)のシェードと、同じベースの明るいティントを生成します。デザインシステムのパレット階調(500 → 900)、ボタンの押下/アクティブ状態、読みやすさを保つテキスト色、影のオーバーレイなどに役立ちます。各段階はスウォッチとして表示され、hex値はすぐにコピーできます。
シェード生成の仕組み
-
1
ベースカラーを選ぶ
カラーピッカーを使うか、ステップ形式ならページURLにhex値を渡します。ベースはティントの範囲とシェードの範囲の間に位置します。
-
2
段数を選ぶ
3〜20段階で、既定は10段階です。段数が多いほど滑らかな階調になり、少ないほど変化が強くなります。
-
3
黒と均等な間隔で混ぜる
各段階で赤・緑・青の各チャンネルに同じ係数をかけます。これは黒(ティントでは白)を均等な間隔で混ぜるのと同じことです。10段階なら各段階は約9 %ずつ暗くまたは明るくなり、色相はベースと完全に同じままです。
-
4
スケールを読み取る
各スウォッチにhex値が表示されます。テキストを選択してCSS、Tailwindテーマ、design tokensファイルへコピーしてください。
シェード・ティント・トーンの違い
- シェード(shade): 色 + 黒 → より暗く。
- ティント(tint): 色 + 白 → より明るく。
- トーン(tone): 色 + グレー → 彩度を下げる。
このジェネレーターは同じベースからシェードとティントの両方を生成します。ティントとシェードの組み合わせが通常デザインシステムのパレットを構成します(例:500をベースとするbrand-100からbrand-900まで)。
スケール例: #3B82F6 (Tailwind blue-500)
| 段階 | HEX | 混ぜる色 | デザインシステムでの役割 |
|---|---|---|---|
| 0 | #3B82F6 | ベース | 主要ブランド (例: blue-500) |
| 1 | #316CCD | 黒 17% | ホバー状態 |
| 2 | #2756A4 | 黒 33% | 押下/アクティブ状態 (blue-600) |
| 3 | #1D417B | 黒 50% | blue-700 |
| 4 | #132B52 | 黒 67% | blue-800 |
| 5 | #091528 | 黒 83% | blue-900 |
この表は5段階のスケールです。各段階は黒への道のりの6分の1ずつ進みます。
段階の計算方法
このツールは、各段階でベースカラーの赤・緑・青チャンネルに同じ係数をかけます。これは、シェードの範囲では黒を、ティントの範囲では白を均等な間隔で混ぜるのと同じことです。10段階なら、各段階は前の段階より約9 %ずつ暗くまたは明るくなります。
すべてのチャンネルが同じ割合で変化するため、ベースの色相は完全に保たれます。青いベースは青のまま、緑のベースは緑のままです。また、黒と混ぜると明度とともに彩度も下がるため、暗い段階は発光するのではなく自然に見えます。彩度に触れず明度だけを下げると、暗い色が過度に鮮やかになってしまいます。
UIでのシェードの使い方
- ボタン: 通常状態にはベース、ホバーには1〜2段階暗い色、アクティブ/押下状態には2〜3段階暗い色。
- 本文テキスト: ベースより2〜3段階暗くすると白地でも読みやすくなります。補助的なテキストにはより明るい色を使います。
- 境界線/区切り線: 背景より1〜2段階暗く、主張しすぎずに区切りを示せる程度に。
- 影: 新たにグレーを使うのではなく、最も暗い段階(またはさらに暗い色)のアルファ値を下げて使います。
- データ可視化: 連続的なスケール(値の大きさ)には単一色相のシェードを使い、発散的なスケール(正と負)には2つの色相のシェードを組み合わせます。
よくある落とし穴
- 段数が多すぎると区別できない帯につぶれてしまう。 10段階のスケールがうまく機能するのは、各段階が約9 %ずつ暗くなるためです。20段階では差が目立たなくなり、強いコントラストが欲しい場合は3〜5段階が適しています。
- ここでは色相のずれは起こりません: 各段階で全チャンネルが同じ割合で変化するため、赤は赤のまま、緑は緑のままです。色相のずれは2つの異なる色の間を補間するときに現れるもので、このツールでは発生しません。
- アクセシビリティの無視: 調和して見えるシェードでも、背景に対してWCAGのコントラスト基準を満たさないことがあります。各段階で必ずコントラストを確認してください。
- シェードだけのスケールは暗い背景では重苦しく感じる。 使いやすいダークモードにするには、ティントのスケールと組み合わせましょう。
よくある質問
デザインシステムでは、シェード5段階+ティント5段階(ベースを中心に合計10段階)が一般的な慣習です。ホバーやアクティブなどUIの状態色をすばやく用意するだけなら、3段階で十分です。
このツールが使う均等な混色では、各段階がベースと黒の間の直線上に保たれるため、中間の段階も濁りません。中間が濁るのは、2つの異なる色の間を補間するツールや、彩度を下げずに明度だけを下げる場合に起きることが多いです。
暗い色はすでに黒になるまでの余地が少なく、濃い紫をベースにするとスケールが破綻するまでに2〜3段階しか違いが出ません。豊かなスケールを得るには、中程度の明るさのベースを選びましょう。
狙いは似ていますが、黒を混ぜると明度とともに彩度も下がるため、通常はより自然に見えます。明度だけを下げると彩度が高いままになり、暗い色が過度に鮮やかになることがあります。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
カラーパレットジェネレーター
基準のHEXカラーから、モノクロマティック、類似色、補色、トライアド、テトラードのパレットを生成し、コピーしやすいCSS変数として書き出します。
バイナリからASCIIへの変換ツール
バイナリ(スペース区切りのバイト、または長いビット列)を貼り付けると、それが表すASCIIテキストを8ビットずつ復号して取得できます。