ImageOptimで画像圧縮に最適な設定を行う

Macの画像圧縮アプリでおそらく一番有名なImageOptim。
PNG・JPG・GIF・SVGとWebで使用する画像形式はひと通り対応しているので、非常に便利なのですが、デフォルトの状態だと可逆圧縮(後から画質をもとに戻せるレベルで圧縮する方式)になってしまっているので、圧縮率がイマイチです。
というわけで今回はImageOptimの最適な圧縮設定について考えてみます。
ImageOptimのインストール

ImageOptimは公式サイトからダウンロードしましょう(複製版が出回っていて、検索をかけると公式以外からもダウンロード出来る場所が見つかりますが、公式サイトからダウンロードするように気をつけましょう)
ImageOptimをインストールしたら、起動してウインドウに画像をドラッグアンドドロップすれば圧縮されるというシンプルなアプリです。

ただ、画像は上書きされてしまうので、未圧縮の画像を残しておきたいときは、ちゃんとコピーしておくようにしましょう。
ImageOptimの設定
ImageOptimでは大きく分けて、下記3つの設定項目があります。
- 一般設定(画像圧縮エンコーダの選択や圧縮時の設定)
- 圧縮率の設定
- 最適化の速度
一般設定
[環境設定]→[一般]で設定します。

画像圧縮エンコーダ
まず左側にあるチェックボックスで、使用する画像圧縮エンコーダを切り替えます。
それぞれ処理速度や圧縮率、対応している画像形式が異なっていて、使いたいエンコーダにチェックを入れると使用できるようになります。
ただし、圧縮率の高いエンコーダは処理に時間がかかったりするので、こだわる場合は切り替えが必要です。
ちなみに、デフォルトがオススメの状態になっています。
メタデータとカラープロファイルの削除
それぞれPNGとJPEGのメタデータとカラープロファイルを取り除く設定です。
圧縮する場合は必要のない情報ですので、両方チェックを入れるようにしましょう。ただし、JPEGで著作権情報の埋め込みが必要な場合はチェックを外しておく必要があります。
ファイルのディスク書き込み
ファイルのパーミッション、属性、ハードリンクを維持する場合はチェックを入れますが、ここは基本外しておきます。
圧縮率の設定
[環境設定]→[Quality]で圧縮率の設定をします。

まずは「非可逆圧縮を有効にする」にチェックを入れましょう。
ここにチェックが入っていないと可逆圧縮(後から画質を元に戻せる状態での圧縮)になってしまうので、圧縮率が非常に悪いです。
チェックを入れた状態でJPEG・PNG・GIFの圧縮後の画像の品質を選択します。自分の場合は以下の通りに設定しています。
- JPEG:70%
- PNG:80%
- GIF:80%
最適化の速度
最後は[環境設定]→[Quality]で速度の設定をします。

こちらで最適化の速度の設定が出来ますが、速度を優先すると最適化のレベルが低く、逆に最適化のレベルを上げようとすると速度は落ちてしまいます。
自分の場合は、質重視で「非常に高い」に設定しています。
画像の圧縮もめちゃくちゃ遅いとは感じないので、よほど頻繁に画像圧縮をしていて次から次へと画像を裁かないといけない人以外は、質重視でよいでしょう。


AlfredでKarabiner-Elementsのプロファイルを切り替えるWorkflowの作り方
Google DriveのmacOSアプリ「バックアップと同期」のインストールと最低限の設定方法
Google HomeやAlexaで環境音を再生する方法
MacのSublime Textを日本語化する方法
【2026年版】Karabiner-Elementsで実現する右commandキー活用のススメ
メニューアイコンにあるアプリの強制終了方法(アクティビティモニタ)
Path Finderのクラウドファイルアップロード機能で、選択ファイルをサーバー上にすばやくアップする
Visual Studio CodeでGitをもっと便利に使うための拡張機能
Keyboard Maestroのこれだけ覚えておけば良さそうなアクション紹介
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Macの外部ディスプレイで特定の画面だけミラーリングさせる方法
Alfred Workflowで、AppleScriptを使ってFinderとPath Finderの現在開いているパスを取得する方法
Apacheのテストページを非表示にする方法
JetpackでのError during WebSocket handshakeの解決方法
Keyboard MaestroでMacログイン時にアプリの遅延起動を行う
一瞬で日時を取得するKeyboard Maestroのタイムスタンプ機能についてまとめる
Google Chromeに「タブを検索」機能が追加!開いているタブや最近閉じたタブから検索が可能に!
Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
Visual Studio Codeでパス補完機能を細かく設定して自分好みにできる拡張機能「Path Autocomplete」
Macを起動したのが平日か休日か判定して、起動するアプリを変えるKeyboard Maestroマクロの作り方