2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】Tailwind CSS風のカラースケールを一瞬で生成するツールを作った

Posted at

結論:ベースカラー1つで11段階のスケールが自動生成できます

デザインシステムを構築するとき、カラースケールの作成って地味に面倒ですよね。

「この青をベースに、50から950まで段階的に明暗を作りたいんだけど...」

そんな悩みを解決するツールを作りました。カラーピッカーで色を選ぶだけで、Tailwind CSSライクな11段階のカラースケールが瞬時に生成されます。

ツールはこちら → Color Scale Generator

image.png

できること

  • ベースカラーから50〜950の11段階スケールを自動生成
  • 類似色(色相±30°、±60°)のスケールも同時に生成
  • HEX形式とHSL形式(shadcn/ui対応)の切り替え
  • CSS変数としてワンクリックコピー
  • コントラストチェッカーへの連携

使い方

Step 1: ベースカラーを選択

カラーピッカーで色を選ぶか、HEXコードを直接入力します。

例: #3B82F6(Tailwind CSSのblue-500相当)

Step 2: 生成されたスケールを確認

入力した色が「500」として配置され、自動的に以下が生成されます:

ステップ 方向
50, 100, 200, 300, 400 明るい方向(白に近づく)
500 ベースカラー(入力値)
600, 700, 800, 900, 950 暗い方向(黒に近づく)

Step 3: CSSをコピー

コピーボタンをクリックすると、以下のようなCSS変数が取得できます。

HEX形式の場合:

:root {
  --color-50: #eff6ff;
  --color-100: #dbeafe;
  --color-200: #bfdbfe;
  --color-300: #93c5fd;
  --color-400: #60a5fa;
  --color-500: #3b82f6;
  --color-600: #2563eb;
  --color-700: #1d4ed8;
  --color-800: #1e40af;
  --color-900: #1e3a8a;
  --color-950: #172554;
}

HSL形式(shadcn/ui対応)の場合:

@layer base {
  :root {
    --50: 214 100% 97%;
    --100: 214 95% 93%;
    --200: 213 97% 87%;
    --300: 212 96% 78%;
    --400: 213 94% 68%;
    --500: 217 91% 60%;
    /* ... */
  }
}

技術的な仕組み

スケール生成アルゴリズム

明暗の生成は、RGB値を白(255, 255, 255)または黒(0, 0, 0)に向かって段階的に補間しています。

// 明るくする(50〜400)
const factor = [0.95, 0.90, 0.72, 0.54, 0.36, 0.18];
r = Math.round(r + (255 - r) * factor[i]);
g = Math.round(g + (255 - g) * factor[i]);
b = Math.round(b + (255 - b) * factor[i]);

// 暗くする(600〜950)
r = Math.round(r * (1 - factor[i]));
g = Math.round(g * (1 - factor[i]));
b = Math.round(b * (1 - factor[i]));

類似色の生成

HSL色空間で色相(Hue)を回転させることで、調和のとれた類似色を生成しています。

// 色相を±30°、±60°回転
const hueVariations = [-60, -30, 0, 30, 60];
const newHue = (hue + variation + 360) % 360;

ユースケース

1. デザインシステムの構築

プロジェクトのブランドカラーを入力すれば、即座に一貫性のあるカラーパレットが完成します。

2. Tailwind CSSのカスタムカラー追加

tailwind.config.jsに追加するカスタムカラーを素早く生成できます。

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: {
          50: '#eff6ff',
          100: '#dbeafe',
          // コピーした値をそのまま貼り付け
        }
      }
    }
  }
}

3. shadcn/uiのテーマカスタマイズ

HSL形式での出力に対応しているので、shadcn/uiのCSS変数にそのまま使えます。

類似色機能が便利

メインカラーだけでなく、色相を±30°、±60°ずらした類似色のスケールも同時に生成されるのがポイントです。

これがあると、アクセントカラーやセカンダリカラーの選定がかなり楽になりますね。デザインの一貫性を保ちながら、バリエーションを持たせられます。

コントラストチェック連携

各色にはコントラストチェッカーへのリンクがついています。アクセシビリティを意識したデザインには欠かせない機能ですね。

WCAG基準を満たしているか、すぐに確認できます。

まとめ

カラースケールの作成は、手動でやると時間がかかるし、感覚に頼ると一貫性が保てない。このツールを使えば、数秒で美しいスケールが完成します。

個人開発でデザインシステムを整備したいとき、ぜひ使ってみてください。

ツールURL: https://tools.easegis.jp/ja/tools/image/color-scale-generator

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?