01
はじめに
縮小担当 (ShrinkAgent) は macOS 用の画像一括リサイズアプリです。画像をドラッグ&ドロップするだけで、指定したサイズへ縮小し、画質を整えて書き出します。
画像を追加する
追加方法は3つあります。
- ドラッグ&ドロップ — Finder から画像ファイル (またはフォルダ) を、ウィンドウ左側のドロップゾーンへドラッグします。
- ファイル選択ダイアログ — ツールバーの「+」ボタン、または
Cmd+O で選択画面を開きます。
- Finder のクイックアクション — Finder で画像を選び、サービス / クイックアクションから「この画像を縮小」を実行します。
画像をドロップすると、リサイズ処理がすぐに開始されます。
メモ
Finder から実行した場合は、現在保存されている設定で処理され、完了後に出力ファイルが Finder に表示されます。サイズや画質を変えたいときは、先にアプリを開いて設定パネルを変更してください。
対応フォーマット
| 入力 (読み込み) |
出力 (書き出し) |
| JPEG · PNG · HEIC · TIFF · GIF · WebP |
JPEG · PNG · HEIC · TIFF · WebP |
- GIF を「元と同じ」で出力した場合は、自動的に JPEG へ変換されます。
- WebP は「元と同じ」でも WebP のまま出力されます。
- アニメーション GIF は最初のフレームのみ処理されます。
処理結果の確認
ウィンドウ左下の「処理結果」リストに、各ファイルの状況が表示されます。
|
待機中 |
|
処理中 |
| ✓ |
完了 — 虫眼鏡アイコンをクリックすると Finder で開きます。 |
| − |
スキップ済み |
| ✕ |
失敗 — エラー内容が表示されます。 |
02
設定項目
ウィンドウ右側の設定パネルで各種設定を変更できます。設定はアプリを閉じても保持されます。
長辺サイズ
リサイズ後の長辺 (幅・高さのうち大きい方) のピクセル数を指定します。
640
800
1280
1920
2560
カスタム 10–30,000
例: 4032×3024 の写真を「1280 px」にすると、1280×960 にリサイズされます。
JPEG画質
JPEG 出力時の圧縮品質を 0%–100% で指定します。PNG 出力時は無視されます。
- 85% (デフォルト) — 品質とファイルサイズのバランスが良好。
- 100% — 最高品質・最大ファイルサイズ。
- 60% 以下 — ファイルサイズは大幅に減るが画質は低下。
出力フォーマット
| 選択肢 |
動作 |
| 元と同じ | 入力と同じフォーマットで出力 (GIF は JPEG に変換) |
| JPEG | すべて JPEG で出力 |
| PNG | すべて PNG で出力 (可逆圧縮・高品質・大容量) |
| WebP | すべて WebP で出力 (Web 向けに高圧縮)。EXIF 等のメタデータは保持されません |
ファイル名プレフィックス
出力ファイル名の先頭に付ける文字列です。空欄の場合は元のファイル名がそのまま使われます。
例: プレフィックス thumb_ → photo.jpg は thumb_photo.jpg として保存。
保存先フォルダ名
出力先のサブフォルダ名を指定します (デフォルト: Resized)。元画像と同じ階層に自動作成されます。
例: …/vacation/photo.jpg → …/vacation/Resized/photo.jpg
EXIF・GPS情報を保持
- オフ (デフォルト) — EXIF・GPS 位置情報・IPTC・TIFF メタデータを削除してプライバシーを保護。
- オン — 元画像のメタデータをそのまま保持。
拡大しない
- オン (デフォルト) — 元画像の長辺が指定サイズより小さい場合は、拡大せず再エンコードのみ行う。
- オフ — 常に指定サイズへ拡大/縮小する。
03
ファイル名の衝突
同名ファイルが既に存在する場合、自動的に連番サフィックスが付与されます。
photo.jpg
→
photo-1.jpg
→
photo-2.jpg
04
処理中の設定変更
処理中に設定を変更した場合、変更は 次にドロップしたバッチから 適用されます。実行中のバッチには影響しません。設定パネル上部にオレンジ色の注意文が表示されます。
05
制限事項
- 一度にキューできるファイル数は最大 10,000 件です。
- 200 メガピクセル (例: 14,142×14,142) を超える画像はスキップされます。
- WebP 出力では EXIF 等のメタデータは保持されません。
- PDF 等の非画像ファイルはドロップしても無視されます。
06
コマンドライン (CLI)
アプリには shrinkit というコマンドラインツールが同梱されています。スクリプトや自動化から画像圧縮を実行できます。
インストール
同梱バイナリを PATH の通った場所にシンボリックリンクします。
sudo ln -s /Applications/ShrinkAgent.app/Contents/Helpers/shrinkit /usr/local/bin/shrinkit
使い方
# フォルダ内の画像を長辺1600pxに縮小 (出力は各画像と同じ階層の Resized/ へ)
shrinkit ~/Pictures/旅行 --size 1600
# サブフォルダも再帰処理し、WebP・画質80で出力
shrinkit ~/Pictures --recursive --format webp --quality 80
# 実際には書き出さずに結果を予測表示
shrinkit photo.jpg --size 800 --dry-run
# 結果をJSONで出力 (スクリプト連携向け)
shrinkit ~/Pictures/旅行 --json
# フォルダを監視し、新しく追加された画像を自動圧縮 (Ctrl+C で終了)
shrinkit --watch ~/Desktop/incoming --size 1920
引数を省略した場合は固定の既定値 (長辺1920px / 画質85 / 形式は元と同じ / EXIF除去 / 拡大なし / 出力先 Resized) を使います。アプリ (GUI) の設定とは独立しています。
主なオプション
| オプション |
説明 |
既定値 |
| -s, --size <px> | 長辺の最大ピクセル (10–30000) | 1920 |
| -q, --quality <1-100> | 画質 (JPEG/HEIC/WebP) | 85 |
| -f, --format <keep|jpeg|png|webp> | 出力形式 | keep |
| -o, --output-folder <名前> | 出力フォルダ名 | Resized |
| -p, --prefix <文字列> | ファイル名プレフィックス | (なし) |
| --preserve-exif | EXIF/GPS 等を保持 | 除去 |
| --allow-upscale | 拡大を許可 | しない |
| -r, --recursive | フォルダを再帰処理 | しない |
| -n, --dry-run | 書き出さず予測表示 | — |
| --json | 結果を JSON 出力 | — |
| -w, --watch <dir> | フォルダ監視モード | — |
| --quiet | 1ファイルごとの行を抑制 | — |
shrinkit --help で全オプションを確認できます。
終了コード
| コード |
意味 |
| 0 | 全件成功 (またはスキップ) |
| 1 | 1件以上が失敗 |
| 2 | 入力エラー (対象ファイルなし・パス不正など) |
| 64 | 引数エラー |
監視モードについて
--watch は指定フォルダ (再帰なし) を監視し、新しく追加・変更された画像を自動的に圧縮します。
- 監視開始時にすでに存在していたファイルは処理されません。
- 出力フォルダ (
Resized) は監視対象から除外され、再処理されません。
- 書き込み途中のファイルは、サイズが安定してから処理されます。
Ctrl+C で終了すると、それまでの累計サマリを表示します。
07
ショートカット連携
macOS の「ショートカット」アプリから画像圧縮を実行できます。
- ショートカットアプリで新規ショートカットを作成します。
- アクションの検索で「画像を圧縮」(ShrinkAgent のアクション) を追加します。
- 画像ファイル・長辺サイズ・画質・フォーマットを指定します。
オートメーションやクイックアクションに組み込めば、共有シートや Finder から定型の圧縮処理を呼び出せます。圧縮結果はファイルとして返されるため、続けて「ファイルを保存」アクションで保存先を指定できます。
ヒント
初回はアプリを一度起動すると、ショートカットにアクションが登録されます。
08
トラブルシューティング
| 症状 |
対処 |
| 「出力ファイルを作成できませんでした」 | 保存先フォルダへの書き込み権限を確認してください。 |
| 「画像が大きすぎます」 | 200MP 超の画像はメモリ保護のためスキップされます。 |
| 「リサイズに失敗しました」 | ファイルが破損している可能性があります。 |
| 「ファイル名が長すぎます」 | ソースファイル名を短くするか、プレフィックスを短くしてください。 |
01
Getting Started
ShrinkAgent is a macOS batch image resizer. Drag and drop images to resize them to a specified size, with adjustable quality settings.
Adding Images
There are three ways to add images.
- Drag and drop — Drag image files or folders from Finder onto the drop zone on the left side of the window.
- File picker — Click the “+” button in the toolbar, or press
Cmd+O to open the selection dialog.
- Finder Quick Action — Select images in Finder, then run “この画像を縮小” from Services / Quick Actions.
Processing starts immediately after images are added.
NOTE
When launched from Finder, ShrinkAgent uses the settings currently saved in the app, and reveals the output files in Finder once done. Open the app first if you want to change size, quality, or output format.
Supported Formats
| Input (Read) |
Output (Write) |
| JPEG · PNG · HEIC · TIFF · GIF · WebP |
JPEG · PNG · HEIC · TIFF · WebP |
- GIF sources are automatically converted to JPEG under “Keep Original”.
- WebP sources stay as WebP under “Keep Original”.
- Animated GIFs are processed as a single frame (first frame only).
Viewing Results
The “Results” list at the bottom-left of the window shows the status of each file.
|
Pending |
|
Processing |
| ✓ |
Succeeded — click the magnifying glass to reveal in Finder. |
| − |
Skipped |
| ✕ |
Failed — an error message is displayed. |
02
Settings
All settings live on the right-side panel. They persist across app launches.
Long Edge Size
Sets the maximum pixel dimension of the longer side (width or height) after resizing.
640
800
1280
1920
2560
Custom 10–30,000
Example: a 4032×3024 photo resized to “1280 px” becomes 1280×960.
JPEG Quality
Compression quality for JPEG output, from 0% to 100%. Ignored for PNG output.
- 85% (default) — a good balance of quality and file size.
- 100% — maximum quality, largest file size.
- Below 60% — significantly smaller files, but noticeable quality loss.
Output Format
| Option |
Behavior |
| Keep Original | Output in the same format as input (GIF falls back to JPEG) |
| JPEG | Convert all images to JPEG |
| PNG | Convert all images to PNG (lossless, large files) |
| WebP | Convert all images to WebP (high compression for the web). EXIF/metadata is not preserved |
Filename Prefix
A string prepended to the output filename. Leave empty to keep the original filename.
Example: prefix thumb_ turns photo.jpg into thumb_photo.jpg.
Output Folder Name
The subfolder where resized images are saved (default: Resized). Created automatically alongside the source images.
Example: …/vacation/photo.jpg → …/vacation/Resized/photo.jpg
Preserve EXIF / GPS Data
- Off (default) — strips EXIF, GPS location, IPTC, and TIFF metadata for privacy.
- On — preserves all original metadata.
Skip Upscale
- On (default) — if the source is already smaller than the target, it is re-encoded without upscaling.
- Off — always resize to the target size, even if it means enlarging.
03
Filename Conflicts
When a file with the same name already exists in the output folder, a numeric suffix is appended automatically.
photo.jpg
→
photo-1.jpg
→
photo-2.jpg
04
Changing Settings While Running
If you change settings while a batch is processing, the changes take effect on the next batch you add. Currently running jobs are not affected. An orange notice appears at the top of the settings panel.
05
Limitations
- A maximum of 10,000 files can be queued at once.
- Images exceeding 200 megapixels (e.g. 14,142×14,142) are skipped.
- EXIF/metadata is not written for WebP output.
- Non-image files (PDF, etc.) are silently ignored when dropped.
06
Command Line (CLI)
The app bundles a shrinkit command-line tool, so you can compress images from scripts and automations.
Installation
Symlink the bundled binary onto your PATH.
sudo ln -s /Applications/ShrinkAgent.app/Contents/Helpers/shrinkit /usr/local/bin/shrinkit
Usage
# Resize images in a folder to a 1600px long edge (output goes to ./Resized)
shrinkit ~/Pictures/trip --size 1600
# Recurse into subfolders, output WebP at quality 80
shrinkit ~/Pictures --recursive --format webp --quality 80
# Preview without writing anything
shrinkit photo.jpg --size 800 --dry-run
# Machine-readable JSON results
shrinkit ~/Pictures/trip --json
# Watch a folder and compress new images as they arrive (Ctrl+C to stop)
shrinkit --watch ~/Desktop/incoming --size 1920
When arguments are omitted, fixed defaults are used (long edge 1920px / quality 85 / keep original format / strip EXIF / no upscale / output folder Resized). The CLI is independent of the GUI app’s saved settings.
Key Options
| Option |
Description |
Default |
| -s, --size <px> | Max long edge (10–30000) | 1920 |
| -q, --quality <1-100> | Quality (JPEG/HEIC/WebP) | 85 |
| -f, --format <keep|jpeg|png|webp> | Output format | keep |
| -o, --output-folder <name> | Output folder name | Resized |
| -p, --prefix <string> | Filename prefix | (none) |
| --preserve-exif | Keep EXIF/GPS metadata | stripped |
| --allow-upscale | Allow enlarging | no |
| -r, --recursive | Process folders recursively | no |
| -n, --dry-run | Preview without writing | — |
| --json | Emit JSON results | — |
| -w, --watch <dir> | Folder watch mode | — |
| --quiet | Suppress per-file lines | — |
Run shrinkit --help for the full list.
Exit Codes
| Code |
Meaning |
| 0 | All succeeded (or skipped) |
| 1 | One or more files failed |
| 2 | Input error (no/invalid files, bad path) |
| 64 | Invalid arguments |
About Watch Mode
--watch monitors a single directory (non-recursive) and compresses newly added or changed images automatically.
- Files already present when watching starts are left untouched.
- The output folder (
Resized) is excluded from scans, so output is never reprocessed.
- Files still being written are processed only once their size is stable.
- Pressing
Ctrl+C prints a cumulative summary and exits.
07
Shortcuts Integration
You can run image compression from the macOS Shortcuts app.
- Create a new shortcut in the Shortcuts app.
- Search actions for “Compress images” (the ShrinkAgent action) and add it.
- Provide image files, long-edge size, quality, and format.
Build it into automations or Quick Actions to trigger fixed compression from the share sheet or Finder. Outputs are returned as files, so you can add a following “Save File” action to choose where they go.
TIP
Launch the app once so the action registers with Shortcuts.
08
Troubleshooting
| Issue |
Solution |
| “Could not create output file” | Check write permissions on the output folder. |
| “Image is too large” | Images over 200MP are skipped for memory safety. |
| “Resize failed” | The image file may be corrupted. |
| “Filename is too long” | Shorten the source filename or reduce the prefix length. |