カラーパレット生成(Tailwind風)

1色からTailwind CSS風の50〜950(11段階)の濃淡を作ります。OKLCHで明るさをそろえ、コントラスト比とCSS変数・Tailwind v3/v4の設定を出力します。

半角英小文字・数字・ハイフン。bg-brand-500 のようなクラス名になります。

色を入力すると 50〜950 の 11 段を作ります。

    各段の値とコントラスト比

    段ごとの HEX・RGB・OKLCH と、白・黒に対するコントラスト比(✓ は 4.5:1 以上)
    段 HEX RGB OKLCH 白に対して 黒に対して

    ★ は入力した色そのものです。✓ は通常の文字で WCAG AA(4.5:1)を満たす組み合わせです。

    出力

    色の書き方

    補足

    • 明るさは OKLCH の L(知覚的な明るさ)で段ごとに決めています。HSL と違い、色相が違っても同じ段ならほぼ同じ明るさに見えます。 入力した色は、明るさが最も近い段にそのまま入ります(500 になるとは限りません)。
    • 色相は入力色のまま固定し、鮮やかさは明るい段・暗い段ほど控えめにしています。画面に出せない(sRGB の外の)色は、明るさと色相を保ったまま鮮やかさだけを下げています。
    • Tailwind の既定パレット(blue など)を再現するものではありません。段ごとの明るさの目安だけを参考にした独自の計算です。
    • Tailwind CSS v3 の設定に OKLCH を書くと、bg-brand-500/50 のような不透明度の指定が効かないことがあります。v3 では HEX を選ぶのが確実です。
    • コントラスト比は WCAG 2.x の式で計算しています。4.5:1 以上で通常の文字の AA、3:1 以上で大きい文字の AA を満たします。

    よくある質問

    入力した色が 500 になりません。

    仕様です。入力した色は、明るさ(OKLCH の L)が最も近い段にそのまま入ります。明るい黄色なら 200 付近、濃い紺なら 800 付近に入り、そこを基準に前後の段を作ります。無理に 500 に置くと、明るい段と暗い段の間隔が偏るためです。

    Tailwind の既定の blue などと同じ色になりますか?

    なりません。段ごとの明るさの目安だけを参考にした独自の計算で、既定パレットの値を再現するものではありません。既定の色をそのまま使いたい場合は Tailwind の公式ドキュメントの値を使ってください。

    なぜ HSL ではなく OKLCH で計算するのですか?

    色相が違っても同じ段で明るさをそろえるためです。HSL の明度は同じ値でも黄色は明るく青は暗く見えますが、OKLCH の L は人の目の明るさに近いため、パレットどうしを並べても段の明るさがそろいます。

    Tailwind CSS v3 と v4 のどちらの形式を使えばよいですか?

    使っているバージョンに合わせてください。v4 は CSS の @theme に --color-名前-段 を書き、v3 は tailwind.config.js の theme.extend.colors に書きます。v3 で OKLCH を選ぶと不透明度の指定(/50 など)が効かないことがあるため、v3 では HEX が確実です。

    コントラスト比の ✓ は何を表していますか?

    白または黒の上に置いたとき(あるいは白・黒の文字を乗せたとき)、WCAG 2.x の AA 基準(通常の文字で 4.5:1 以上)を満たすことを示します。大きい文字なら 3:1 以上で AA です。別の背景色との比は「カラーコード変換」で確かめられます。

    ↑↓ 移動 / Enter 開く / Esc 閉じる