Macで右クリック一発 WebP変換を極める完全ガイド Automatorとcwebpで現場最速ワークフローを構築

フロントエンド実務でも学習中でも、画像の最適化は避けて通れません。とくにWebPは軽量かつ画質も良好で、Core Web VitalsやLCP改善にも直結します。本稿では、Zenn記事「Mac Finderで画像右クリックでWebpに変換する方法」をベースに、再現性の高い手順と実務のツボ、そして実際に遭遇しやすいエラーの解決策までを網羅します。Automatorとcwebpで右クリック即変換を実現し、チームや個人の制作フローを一段引き上げましょう。参照元の手順骨子はZenn記事をご覧ください。


目次

  • Automator x cwebpで何が変わるのか
  • 準備 Homebrewとcwebpインストール
  • Automatorでクイックアクションを作る 全手順
  • ベストプラクティス 品質設定 リサイズ ロスレス
  • 実務の落とし穴 CMYKやICCで出るエラーの対処
  • 代替ルート Previewとsipsだけで回す
  • 運用設計 プロジェクトへの展開とチーム共有
  • 品質検証とリグレッション防止チェックリスト
  • よくある質問と即回答
  • まとめと拡張アイデア

Automator x cwebpで何が変わるのか

  • Finderで右クリック Quick Actionsから即座にWebPを生成できるため、ブラウザ向けの軽量化が作業ラインに自然に溶け込みます。骨子はAutomatorのクイックアクションにcwebpを組み込むだけ。
  • cwebpはGoogle提供のエンコーダ。圧縮率と画質のバランスが優秀で、品質値、リサイズ、ロスレスなど実務で必要なオプションが揃っています。

準備 Homebrewとcwebpインストール

  1. ターミナルを開く
  2. 下記を実行してWebPツール群を導入
brew install webp
  1. これで cwebp コマンドが使えるようになります。

補足 Homebrew未導入ならbrew公式の手順で事前にセットアップしておきましょう。


Automatorでクイックアクションを作る 全手順

以下は右クリックで複数画像を一括変換する最短ルートです。元記事の流れを、実務視点の注釈付きで再構成しています。

  1. Automatorを起動
  2. 新規書類で「クイックアクション」を選択
  3. 画面上部で次を設定
    • ワークフローが受け取る現在の項目 画像ファイル
    • 検索対象 Finder
  4. 左ペインで「シェルスクリプトを実行」を検索してドラッグ
  5. 「入力の引き渡し方法」を「引数として」に変更
  6. スクリプト欄へ下記を貼り付ける
# cwebp のフルパスを which で確認し、必要に応じて書き換え
CWEBP_PATH="/opt/homebrew/bin/cwebp"  # Intel Mac は /usr/local/bin/cwebp の可能性

# 画質とリサイズなどのデフォルト
QUALITY="90"        # 実務でのバランス良
RESIZE=""           # 例: RESIZE="-resize 1920 0" 幅1920に収める
EXTRA_OPTS=""       # 例: EXTRA_OPTS="-m 6 -sharp_yuv"

for file in "$@"; do
  dir="$(dirname "$file")"
  base="$(basename "$file")"
  name="${base%.*}"
  out="${dir}/${name}.webp"

  # 上書き防止 既存webpがあれば連番付与
  if [ -e "$out" ]; then
    i=1
    while [ -e "${dir}/${name}_${i}.webp" ]; do i=$((i+1)); done
    out="${dir}/${name}_${i}.webp"
  fi

  # 変換実行 CMYKなど色空間問題は後述のFAQ参照
  "$CWEBP_PATH" -q "$QUALITY" $RESIZE $EXTRA_OPTS "$file" -o "$out"
done
  1. Cmd Sで「WebPに変換」といった名前で保存
  2. Finderで画像を選択 右クリック Quick Actionsから実行

上記の骨組みはZenn記事のサンプルを実務向けに拡張したものです。品質 -q とリサイズ -resize を変数に切り出して、案件ごとに調整しやすくしています。


ベストプラクティス 品質設定 リサイズ ロスレス

cwebpの主なオプションと推奨値は以下。詳細はマニュアル相当の資料を添えています。

  • 画質 -q 85〜92 85を基準に、写真多めのLPは88〜92、イラストやUI要素は80〜85でも破綻しにくい。
  • リサイズ -resize width height 片方を0にするとアスペクト比維持。例 幅を1920に収めたい場合は -resize 1920 0。
  • ロスレス -lossless 小さなアイコンや線画で効果的。ただしファイルサイズはロッシーより大きくなりがち。
  • 高品質チューニング例 -m 6 -sharp_yuv 画質重視、ただし変換時間は増えます。

実務Tips

  • まず -q 85 と -q 90 の2バリエーションでGolden Sampleを作り、デザイナー承認を得てから一括適用。
  • 写真は -q 88 前後、イラストは -q 80〜85 が安定しやすい。
  • LPのヒーロー画像は幅1920〜2560で1枚、サムネイル系は幅640〜1280の複数派生を用意してsrcsetで配信。

実務の落とし穴 CMYKやICCで出るエラーの対処

右クリック変換の現場で最も多い詰まりどころが、CMYK JPEGなど色空間の違いによるエラーです。例えば、以下のようなエラーに遭遇することがあります。

libjpeg error: Unsupported color conversion request
Error! Could not process file ...

このメッセージはlibjpeg由来で、CMYK JPEGをRGBに変換しないまま処理しようとして失敗しているケースが多いと報告されています。対処としては、事前にRGBに変換してからcwebpをかける、あるいはImageMagick等で色空間変換を挟む方法が推奨されています。

最短の回避策 画像をRGBに直す

  • Photoshopやプレビュー.appで「カラーを割り当て」または「カラープロファイルを変換」でRGBに変換して保存、再度クイックアクションを実行。CMYKからsRGBへ変換するとエラーが解消します。

コマンド系の回避策 ImageMagickを併用

  • magick input.jpg -colorspace sRGB temp-rgb.jpg のようにRGBに直してからcwebpへ。libjpeg側の色変換制約を避けられます。根本原因はcwebpではなくlibjpegにある点がポイントです。

原因の理解が重要

cwebp自体はエンコーダですが、JPEGデコードでlibjpegに依存するため、CMYK入力時に「Unsupported color conversion」が起き得ます。CMYK系素材を扱うワークフローでは、入稿受け取り時にRGB化チェックを入れる運用が安定します。


代替ルート Previewとsipsだけで回す

環境によってはcwebpを使わず、macOS標準のツールだけで完結したい場合もあります。

  • プレビュー.appはmacOS 11以降でWebP閲覧と簡易変換をサポート。単体変換なら十分です。
  • sipsはmacOS標準の画像変換ユーティリティで、リサイズやフォーマット変換に使えます。WebPへの変換は歴史的に限定的でしたが、JPEGやPNGへの相互変換は安定。必要に応じてワークフローの補助として使えます。

Automatorをsips派生で組む参考例や、右クリックメニューに出すチュートリアルは複数の実践記事が確認できます。cwebpを使いたくない制約がある場合の代替として有効です。


運用設計 プロジェクトへの展開とチーム共有

標準化ファイルを用意

  • Automatorの.workflowをGitリポジトリに格納し、プロジェクト毎の推奨品質値やリサイズ値をREADMEに明記。
    • Marketingサイト A: -q 88 -resize 1920 0
    • 管理画面UI: アイコンは -lossless、スクリーンショットは -q 85 -resize 1600 0

デザインチームとの合意形成

  • Golden Sample運用を徹底。トップヒーロー写真やブランド要素は目視比較で閾値を決める。
  • CMYK納品物のRGB化ルールを入稿要件に追記。libjpeg系の制約により作業者が詰まらないよう、入稿段階で未然に防ぐ。

自動化の拡張

  • フォルダ監視 Folder Actionsで、特定ディレクトリに入った画像を自動WebP化。
  • 失敗ログをSlackに通知する簡易スクリプトを追加すれば、CMYK混入などの検出も早くなります。

品質検証とリグレッション防止チェックリスト

  • 重要画像はビジュアルデフで比較し、主観評価に加えてSSIMやPSNRで定量化。
  • ページ単位ではLighthouseおよびWebPageTestでLCPや転送量の差分を追跡。
  • WebPに非対応な古いUA向けのフォールバックは <picture> で担保。
  • デザイナー承認済みのGolden Sampleを回帰テストの基準として保管。

よくある質問と即回答

Q. 右クリックで複数ファイルを選ぶと速度がバラつく

A. -mレベルや-sharp_yuvの有無で処理時間は伸びます。PC負荷と画質を見ながら-m 4程度から調整を。

Q. libjpegのUnsupported color conversionで止まる

A. ほぼCMYK入力が原因です。RGBへ変換してから再実行。ImageMagickで一括RGB化も可。

Q. プレビュー.appやsipsだけでやりたい

A. 単発処理や簡易フローなら可能。大量変換や細かな画質調整はcwebpの方が柔軟。

Q. 品質は何で決めるべき

A. ペルソナと用途ごとに閾値を定義。写真系は-q 88前後、UI系は-q 80〜85から着地を探るのが無難。


まとめ Automator化でWebPはワンクリックへ

  • Homebrewでwebpを入れ、Automatorのクイックアクションにcwebpを組み込む。これだけで右クリック即WebP化が完成します。
  • 実務では画質とリサイズの既定値を案件別に標準化し、CMYK混入時のRGB化ルールを入稿要件へ。libjpeg系エラーで作業が止まるのを未然に防ぎます。
  • 代替としてPreviewやsipsでの軽量フローも用意し、メンバーの環境差や権限差に柔軟に対応しましょう。 
(Visited 2 times, 1 visits today)