ZeroTool Workbench
画像圧縮ツール
JPEG・PNG・WebP 画像をブラウザで圧縮。品質調整・長辺リサイズで瞬時にファイルを軽量化。100% ローカル処理、アップロード不要。
使い方
- 出力フォーマットを選択:元のまま、JPEG、PNG、WebP。
- 品質スライダーを調整。写真コンテンツのデフォルトは 75 が定番。
- 必要に応じて長辺をリサイズを有効化し、ピクセル値(例:
1920)を入力。 - 画像をドロップゾーンに投下するか、クリックでファイル選択。
- 各結果カードに元サイズ・出力サイズ・寸法変化・節約パーセントが表示されます。
- カード単位の ダウンロード、または すべてダウンロード でバッチ保存。
品質とファイルサイズのトレードオフ
品質スライダーは JPEG / WebP 出力の非可逆圧縮率を制御します。 90 を超えると圧縮の差はほとんど見えず、サイズの減少も限定的です。 60 を下回ると、滑らかなグラデーションや肌色領域にバンドが現れます。 多くの Web ビルドツールが採用する 75 は、写真の見た目を保ちつつスマホ原本のサイズを 60〜80% カットできる平衡点です。
フォーマットチートシート
- JPEG — 写真・ヒーロー画像など、連続諧調の画像。透明は非対応。
- PNG — UI スクリーンショット、ダイアグラム、ハードエッジや透明を含む画像。ロスレス。
- WebP — 現代ブラウザ全対応。同等品質で JPEG/PNG より 25〜35% 軽い。透明にも対応。
- 元のまま — リサイズだけしてフォーマットは変えたくない場合に。
長辺リサイズの戦略
一般的な Web レイアウトは長辺 1920px が上限。Retina(2× DPR)スクリーン向けには 2560〜3840px が目安。 長辺を指定すると、ツールがアスペクト比を維持したまま短辺を比例縮小します。 サムネイルや SNS プレビューには 1024 や 1440px を試してみてください。
プライバシー:アップロードゼロ
本ツールは createImageBitmap と Canvas 2D API を使い、ブラウザ内でデコードと再エンコードを完結させます。
圧縮結果は canvas.convertToBlob(またはフォールバックの canvas.toBlob)でローカル生成され、
一時的な blob URL でダウンロードできます。サーバーエンドポイントを一切経由しないため、機内モードでも全工程が動きます。
制限
- 1 ファイル最大 50 MB(モバイルブラウザはそれ以上の入力でメモリ枯渇)。
- アニメ GIF は設計上、最初のフレームに平坦化されます。アニメ再エンコードは
ffmpegをローカルで使ってください。 - EXIF 回転は自動適用:横向きで撮った写真も正位置で圧縮されます。
関連ツール
- WebP 変換器 — PNG/JPG ⇄ WebP のフォーマット変換に特化したシンプル UI。
- SVG Optimizer — ベクター画像はラスタライズ圧縮できないので、SVG ソースを最適化。
- 画像 to Base64 — 画像を data URL としてインラインに埋め込みたい時に。
FAQ
画像はアップロードされますか?
いいえ。圧縮はすべてブラウザ内で行われます。Canvas 2D API でローカル処理し、ブラウザがダウンロードファイルを生成します。ZeroTool は画像の中身を一切受け取りません。
対応フォーマットは?
入力:JPEG、PNG、WebP、シングルフレーム GIF(アニメ GIF は設計上、最初のフレームに平坦化されます)。出力:JPEG、PNG、WebP。HEIC、TIFF、RAW はブラウザがデコードできないため、exiftool や ImageMagick をローカルで使ってください。SVG はベクター画像なので、ZeroTool の SVG Optimizer をご利用ください。
PNG 出力で品質スライダーが無効になるのはなぜ?
PNG はロスレス形式で、ブラウザは PNG エンコード時に品質パラメータを受け付けません。PNG を小さくするには長辺リサイズを使うか、出力を JPEG / WebP に切り替えてください。より深いロスレス最適化が必要なら oxipng をローカルで実行してください。
なぜ圧縮後にサイズが大きくなることがありますか?
すでに最適化済みの画像を再エンコードするとサイズが増えることがあります(特に PNG スクリーンショットを高品質 JPEG に変換した場合)。ツールは赤いパーセンテージで警告するので、元ファイルを残す判断ができます。
ファイルサイズの制限は?
モバイルブラウザのメモリ保護のため、1 ファイル 50 MB が上限です。バッチ全体のサイズに制限はありませんが、大きいバッチは処理が遅くなります。