
目次
前回まではPhotoshopのACOパレットをGIMP・Inkscape・Kritaで使う方法をお伝えしました。
イラストを描いていると、
- 「この配色、後でまた使いたいな」
- 「色をスポイトで拾い直すの、ちょっと面倒……」
- 「そもそも色選びに自信がない……」
- 「いい感じの配色を使ってセンスアップしたい!」
と思うことはありませんか?
配色サイトを見ると綺麗な色の組み合わせが16進数カラーコード(別名:HEXカラーコード。「#FFFFFF」みたいな書き方のこと)で並んでいますよね。
ダウンロード用のパレットファイル(ACOパレットやASEパレット)が用意されていることもありますが、基本的にカラーコードをコピーペーストして使うことが前提になっている場合が多いです。
今回は、そういった配色をGIMP・Inkscape・Kritaで使えるGPLパレットに一気に変換する方法を紹介します。
少しだけ応用編ですが操作自体はとても簡単です。
この方法をおすすめする対象者
- GIMP・Inkscape・Kritaを使っている
- 配色サイトをよく使う
- 同じ色を何度も使い回したい
- 作業を少しでも楽にしたい
配色サイトの色、コピペや変換が大変な問題
配色サイトはとても便利ですが、フリーソフトで使おうとするとちょっと困ったことがあります。
- 色は16進数カラーコードで書かれている(場合が多い)
- ソフト側ではRGB指定やパレット登録が必要になる(場合が多い)
- 色が多いと登録作業が大変
1色や2色ならそんなに手間でもありませんが、10色、20色になると正直かなり面倒ですよね。
そこで「まとめて変換してパレットにしてしまおう」と思ってこのツールを作成しました。
16進数カラーコード(HEXカラーコード)とは
16進数カラーコードは、色を#RRGGBBという形式で表したものです。
R(赤)、G(緑)、B(青)の強さを、それぞれ16進数(00~FF)で指定します。
配色サイトやWebデザインでよく使われている色の表現方法です。
RGBカラーコードとは
RGBカラーコードは、色を赤・緑・青の3つの10進数の数値(0〜255)で表します。
数字が大きいほどその色が強く、小さいほど弱くなります。
16進数カラーコードとRGBカラーコードの関係
16進数カラーコードとRGBカラーコードは一見すると全く別々の値に見えますが、実は16進数と10進数という表現方法が違うだけで同じ値を示しています。
変換しても色が変わることはありません。
(例)
16進数のFは10進数の15です。16進数のFFを10進数に変換すると255になります。
15 × 16¹ + 15 × 16⁰ = 240 + 15 = 255
16進数についてはこちらの記事が参考になります。

Inkscapeで扱うカラーコードについてはこちらの記事でも紹介しています。

GIMP・Inkscape・KritaでGPLパレットを使うメリット
GIMP・Inkscape・Kritaでは、GPL(GIMP Palette)形式のファイルを使うことで、以下のようなことができます。
- よく使う色を一覧で表示
- クリックするだけで色を切り替え
- 作品ごとに配色を管理
一度カラーパレットを作ってしまえば、とても楽に作業できます。
カラーパレット変換用シェルスクリプト「hex2gpl.sh」って何?
hex2gpl.shは
16進数カラーコードを並べたテキストファイル
↓
GIMPやInkscapeやKritaで使用できるカラーパレット(GPLファイル)
に変換するツールです。
難しい設定はほとんどなく、
「色の一覧を用意して実行するだけ」で使えます。
.shファイル(シェルスクリプト)なので主にLinux環境向けの実行ファイルです。
Windows上ではWSL(Windows Subsystem for Linux)を利用してUbuntu等を起動してシェルスクリプトを実行できます。
macOSでもターミナルでシェルスクリプトを実行できます。(一部の細かい挙動やオプションは、LinuxとmacOSで違うことがあります。)
macOSはLinuxではありませんが、ターミナル操作やコマンドの考え方はとてもよく似ています。
そのため、このようなシェルスクリプトは様々な環境で使うことができます。
WSL環境とUbuntuの導入についてはこちらの記事で解説しています。

以下の説明では既にWSLとUbuntuの環境が用意できているものと想定して話を進めます。
LinuxやmacOS向けの詳しい説明は割愛しますが、こちらの記事が参考になります。
Linux向けのシェルスクリプトを実行する方法について

macOS向けのシェルスクリプトを実行する方法について

シェルスクリプトとは
シェルスクリプトは、Linuxのコマンド操作をまとめて自動実行できる仕組みです。
一つ一つ手で打って実行させている作業を、一回の命令で一気に実行できます。
シェルスクリプトのメリット
- Linuxが動けば動かせる
- WSL / Linux / macOS で共通
- ファイルを置いて実行するだけ
- 中身のコマンドを読めば何をしているか分かる
シェルスクリプトのデメリット
- 一般的なプログラミング言語に比べて実行が遅い
- 大規模な作業には不向き
なぜシェルスクリプトを採用したのか
- 複雑な環境構築をしなくても使える
- Linuxコマンドで何ができるのかを紹介したい
シェルスクリプト「hex2gpl.sh」でカラーパレットを自動生成する方法
hex2gpl.shを用意する
以下のコードをコピーして、メモ帳等を開いてペーストし[ファイル>名前を付けて保存]します。
#!/bin/bash
# 引数チェック
if [ $# -lt 2 ] || [ $# -gt 3 ]; then
echo "Usage: $0 input.txt output.gpl [columns]"
exit 1
fi
input="$1"
output="$2"
columns="${3:-12}" # デフォルト12列
# 入力ファイル存在確認
if [ ! -f "$input" ]; then
echo "入力ファイルが存在しません: $input"
exit 1
fi
# 出力ファイル存在チェック
if [ -e "$output" ]; then
echo "出力ファイルが既に存在します: $output"
echo "処理を中断しました。"
exit 1
fi
# 出力ファイル名からパレット名を決定(拡張子除去)
palette_name=$(basename "$output" .gpl)
palette_name=$(echo "$palette_name" | cut -c1-100)
# GPLヘッダー作成
{
echo "GIMP Palette"
echo "Name: $palette_name"
echo "Columns: $columns"
echo "#"
} > "$output"
echo "変換開始: $input → $output"
echo "Columns: $columns"
# 重複判定用連想配列(HEX大文字)
declare -A seen_colors
total=0
written=0
while IFS= read -r line || [ -n "$line" ]; do
total=$((total+1))
# CR削除
line=$(echo "$line" | tr -d '\r')
# 空行スキップ
[ -z "$line" ] && continue
# セミコロン区切り
hexpart="${line%%;*}"
namepart="${line#*;}"
[ "$hexpart" = "$line" ] && namepart=""
# 先頭#除去
hex="${hexpart#\#}"
# 6桁チェック
if [[ ! "$hex" =~ ^[0-9A-Fa-f]{6}$ ]]; then
echo "スキップ: 無効なHEX → $line"
continue
fi
# 重複チェック
hex_uc="${hex^^}"
if [[ ${seen_colors[$hex_uc]+_} ]]; then
echo "スキップ: 重複カラー → #$hex_uc"
continue
fi
seen_colors[$hex_uc]=1
# 色名決定
colorname="${namepart:-#$hex_uc}"
colorname=$(echo "$colorname" | cut -c1-100)
# 16進 → 10進
r=$((16#${hex:0:2}))
g=$((16#${hex:2:2}))
b=$((16#${hex:4:2}))
# 出力
printf "%d %d %d\t%s\n" "$r" "$g" "$b" "$colorname" >> "$output"
written=$((written+1))
# 進行メッセージ(100行ごと)
if (( total % 100 == 0 )); then
echo "処理中… $total 行読み込み"
fi
done < "$input"
echo "変換完了: $output"
echo "総行数: $total, 出力行数: $written"

- ファイル名は「hex2gpl.sh」
- ファイルの種類は「すべての種類」
- エンコードは「UTF-8」
VSCodeなどを使用している場合は文字コードUTF-8・改行コードLFで保存してください。
WSLターミナルでファイルのあるフォルダを開く
「hex2gpl.sh」を保存したディレクトリ(フォルダ)をファイルエクスプローラー上で開きます。
ファイルエクスプローラーのアドレス欄に半角英字で「wsl」と入力し、Enterキーを押すと、ファイルエクスプローラー上で開いているディレクトリをWSLのターミナルで直接開くことができます。
「Linuxシェルをここに開く」が廃止
Windows11では「Linuxシェルをここに開く」というメニューがなくなっています。
代わりに、ファイルエクスプローラーのアドレスバーにwslと入力してEnterを押してください。
ファイルエクスプローラーで開いているフォルダをそのままUbuntu(WSL)で開けます。


実行権限を付与する
シェルスクリプトを実行するには、実行権限を付与する必要があります。
Windows上で作成したのファイル(/mnt/c配下)をWSLから実行する際は、最初から実行可能に見えることがあり、この手順を省略しても動作する場合があります。
LinuxやmacOSでは必要な操作なので、ここでは実行権限を付与する手順も紹介します。
chmodコマンドで実行権限を付与
ファイルのあるフォルダを開いた状態のWSLのターミナルで以下のコマンドを実行します。
chmod +x hex2gpl.sh
上記のコマンドは文字の上でクリックするとコピーできます。WSLターミナルの最新の行の$マークの横で右クリックするとコピーしたコマンドを貼り付けられます。入力できたらEnterを押すと実行できます。

これで、
「このファイルは実行していいですよ」
という許可が付与されます。
一度設定すれば、毎回やる必要はありません。
シェルスクリプトの改行コードを変換する
Windowsのメモ帳ではLinux向けの改行コードLFで保存ができない場合があります。Windowsで利用されている改行コードCRLFをLinux向けの改行コードLFに一括変換します。
VSCodeなどで保存の際に改行コードLFを指定している場合はこの工程は省略してください。
改行コードの変換が必要なのはシェルスクリプト(.shファイル)だけで、カラーリスト(.txtファイル)は改行コードの変換が不要です。
ファイルのあるフォルダを開いた状態のWSLのターミナルで以下のコマンドを実行します。
sed -i 's/\r$//' hex2gpl.sh

Linuxのsedコマンドについてはこちらが参考になります。

色リストの書き方
16進数カラーコードをテキストファイル(.txtファイル)に書きます。
テキストファイルはWindowsの場合はメモ帳などで作成できます。
(例)
#EFD9EB;白っぽい紫
#33032A;あずきバー
#46103C
#702C64
#9B568E
#C58FBB;黒っぽい紫
書き方はとても簡単です。
- #RRGGBB形式の16進数カラーコードを書く
- 区切り文字;(半角セミコロン)の後ろに色名を書く
- 色名を書かない場合は、自動でカラーコードを色名に使用
- 色名を書かない場合は、;(半角セミコロン)は省略可能
- 一色ごとに改行する
日本語の色名が使用可能です。
色名が長すぎる場合は後半部分が自動でカットされます。
この16進数カラーコードと色名を書いたファイルをテキストドキュメント(.txt)として[ファイル>名前を付けて保存]します。
エンコードはUTF-8にしてください。
この例では「colors.txt」という名前を付けて保存しました。

カラーパレットに変換する
色リストができたら、あとは変換するだけです。
ファイル名を指定してシェルスクリプトを実行します。
(例)
./hex2gpl.sh colors.txt MyColors.gpl
上記のコマンドは文字の上でクリックするとコピーできます。WSLターミナルの最新の行の$マークの横で右クリックするとコピーしたコマンドを貼り付けられます。入力できたらEnterを押すと実行できます。
- ./ 今いる場所のファイルを実行する
- hex2gpl.sh 実行ファイル名
- colors.txt 入力ファイル名(色リスト)
- MyColors.gpl 出力ファイル名(GPLパレット)
これだけで、GIMP用のパレットファイルが自動的に作成されます。

hex2gpl.shの特徴
- 同じ色があれば自動で整理
- パレット名はファイル名から自動設定
「ちゃんと動いているかな?」と不安になる人のために、
変換中のメッセージも表示されます。
できあがったパレットを使う方法
拡張子が「.gpl」のファイルを、各ソフトウェアのユーザーデータが保存されるフォルダに移動またはコピー貼り付けします。
GIMPのパレットフォルダ
%APPDATA%\GIMP\3.0\palettes
Inkscapeのパレットフォルダ
%APPDATA%\inkscape\palettes
Kritaのパレットフォルダ
%APPDATA%\krita\palettes
上記のようなAppData内のpalettesフォルダに入れて、アプリケーションを再起動すると作成したカラーパレットが表示されます。
この方法は以前の記事でも紹介しています。

カラーパレットを作成すると、配色サイトを見ながら描く必要がなくなり、色選びがとてもスムーズになります。
「毎回スポイトで色を拾っている」・「ブラウザで配色サイトを開きながら作業している」という人には、一度試してほしい方法です。
おわりに
今回は、16進数カラーコードをまとめてフリーソフト用のカラーパレットにする方法を紹介しました。
少しだけ応用的ですが、一度作ってしまえば、その後の作業がかなり楽になります。
「ちょっと便利な道具を1つ増やす」
そんな感覚で使ってみてくださいね。
コメント