画像圧縮・写真サイズ縮小

画像圧縮・写真サイズ縮小

画質を落とさずにブラウザ上で画像を高速圧縮。JPG、PNG、WebPのファイル容量をサーバー送信ゼロで軽量化。目標KB逆算機能やZIP一括書き出しにも対応しています。

プリセット:
圧縮モード

ここに写真をドラッグ&ドロップ、またはクリックして選択

JPG、PNG、WebP、AVIF、GIF、SVG、BMP対応。サーバー送信ゼロ。

240 KB
最大解像度制限
W:
H:
クライアント側処理パイプラインOffscreenCanvas / O(N)
DECRESDCTBINZIP
0.980
SSIM視覚的再現度知覚的ロスレス
容量削減率:-0.0%
0 B0 B
ルーペ拡大倍率:
分割スライダー位置: 50%

キューに画像がありません。上のエリアに写真をドラッグして一括最適化を開始してください。

元サイズ0 B
圧縮後サイズ0 B
削減バイト数0 B
圧縮比率0.0%
技術リファレンス・アーキテクチャガイド

画像圧縮・写真サイズ縮小ガイド — 技術リファレンス

画質を落とさずにブラウザ上で画像を高品質圧縮。サーバー送信ゼロの完全ローカル処理でJPG、PNG、WebPのファイルサイズを軽量化し、指定KBへの自動収束や一括ZIP書き出しに対応。

画像圧縮・写真サイズ縮小ガイド — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図
画像圧縮・写真サイズ縮小ガイド — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図

主要パラメータと設定項目

元画像ファイル (sourceFiles)FileList | ドラッグ&ドロップ入力

ネットワークソケット通信を一切行わず、ブラウザの隔離スレッドメモリ内で createImageBitmap および FileReader を用いてローカルにデコードされる生画像バイトバッファ。

初期値: 単一または複数ファイル選択
圧縮モード (compressionMode)"quality" | "targetSize"

手動スカラー量子化による品質指定と、厳密なバイト上限に収束させる自動 O(log k) 二分探索ソルバーを切り替えるアルゴリズム実行戦略。

初期値: quality
出力フォーマット (outputFormat)"image/webp" | "image/jpeg" | "image/png"

変換先となる MIME コンテナ。DCT 量子化テーブル、VP8 フレーム内ブロック予測、または RFC 1951 DEFLATE 2次元フィルタリングルーチンの適用を決定します。

初期値: image/webp
品質係数 (qualityFactor)浮動小数点数 [0.01, 1.00]

HTMLCanvasElement.toBlob() に渡される非可逆量子化スケール。0.70 未満では高周波 DCT リンギングノイズが発生するリスクがありますが、0.80 以上で SSIM > 0.95 の視覚的品質を維持します。

初期値: 0.80
目標ファイルサイズ上限 (targetSizeCeiling)整数(キロバイト / KB)

逆問題の求根アルゴリズムによる収束ループで強制適用されるファイルサイズ上限(例:マイナンバー・パスポート申請、米国 DS-160 ビザの 240 KB、EU シェンゲンビザの 200 KB など)。

初期値: 200
最大解像度制限 (maxDimensions)ピクセル境界ボックス(幅 × 高さ)

段階的なバイキュービックリサンプリングにより適用される最大空間解像度。総ピクセル演算量 O(W × H) を抑制し、WebKit 系 Canvas の OOM(メモリ不足クラッシュ)を防止します。

初期値: 1920 × 1080 px
カラー減色・量子化 (colorQuantization)パレット色深度(256 | 128 | 64色 | フルカラー)

PNG 画像用の減色マトリクス。オクトツリー(八分木)空間分割および Floyd-Steinberg ディザリングを実行し、アルファ透明度を保ちながら 8 ビットインデックスカラーの制限内に収めます。

初期値: フルカラー(24-bit)
Exifメタデータ削除 (exifSanitization)"strip" | "safe" | "retain"

プライバシー保護バリア。Canvas での再シリアライズ時に、TIFF/Exif セグメント(GPS 位置情報、カメラ製造番号、撮影日時)を完全に破棄します。

初期値: strip

現場のベストプラクティス・実践Tips

WebP と JPEG の圧縮効率ベンチマーク比較

写真アセットを標準的なベースライン JPEG から WebP に変換すると、同等の構造的類似性指標(SSIM > 0.95)を維持したままファイル容量を 25%〜35% 削減できます。WebP は VP8 フレーム内マクロブロック予測と離散算術符号化を活用しているため、明暗差の激しい輪郭周辺に生じる高周波 DCT リンギングノイズを効果的に抑制します。

モバイル WebKit Canvas のメモリ上限回避策

iOS Safari には厳格な Canvas メモリ上限(一般的に累積 GPU 割り当て 256 MB〜384 MB)が存在します。1,200万画素(12 MP)を超える高解像度写真を処理する際は、OffscreenCanvas や createImageBitmap による段階的ダウンサンプリングを実行し、圧縮完了後に明示的に canvas.width = canvas.height = 0 を設定してハードウェアコンテキストの即時ガベージコレクション(GC)を促してください。

ビザ・公的申請の容量上限に挑む二分探索収束法

在外公館のビザ申請(米国 DS-160 の 240 KB 上限や EU シェンゲンビザの 200 KB 上限)やパスポート申請ポータルでは、厳格なファイル容量制限が課されます。「目標サイズ(Target File Size)」モードを使用すれば、JPEG/WebP の量子化パラメータに対して自動 7 段階二分探索を実行し、手作業の試行錯誤なしに 300 ミリ秒以内で視覚品質を最大化した極限値へと収束させることが可能です。

透過 UI アセットに対するオクトツリーパレット量子化

ベタ塗り領域やアルファ透過を持つ UI アイコン、ロゴ、スクリーンショットにおいて、JPEG への変換は透明度を破壊し、非可逆 WebP では境界にハロー(後光ノイズ)が生じることがあります。PNG アセットに対して Floyd-Steinberg ディザリングを組み合わせた 8 ビット・オクトツリー(八分木)パレット量子化を適用することで、ピクセル精度の輪郭を維持したまま 60%〜75% のファイルサイズ削減を実現できます。

よくある落とし穴とトラブルシューティング

⚠️圧縮後の出力ファイルが元の入力ファイルより肥大化する

すでに圧縮済みの JPEG や WebP 画像を高画質設定(85% 以上)で再エンコードすると、変換エンコーダーが既存の量子化ノイズやブロック歪みを本物の高周波データとみなして記録し、エントロピー符号化テーブルを肥大化させてしまいます。品質を 75% に下げるか、解像度を 10% 程度縮小(リサイズ)して周波数領域を効率的に再量子化してください。

⚠️圧縮後に透過背景が黒または白のベタ塗りに変わってしまう

JPEG 規格(ISO/IEC 10918-1 / JFIF)にはアルファ透明度チャンネルが存在しないため、半透明ピクセルは不透明な単色マット(通常は黒または白)に平坦化されます。8 ビットアルファチャンネル付き非可逆圧縮に対応した WebP、または 8 ビット減色 PNG を出力フォーマットに指定してください。

⚠️目標サイズソルバーで極端に小さい KB 上限に到達できない

4K 画像を 50 KB 未満にするなど極端なサイズ上限を指定した場合、量子化が品質の下限値(1%)に到達し、DCT ベースラインのヘッダー情報と最小ランレングス符号の限界によりこれ以上圧縮できなくなります。「最大解像度」を有効にしてピクセル総面積を縮小してください。ファイル容量は線形寸法に対して二次関数(2乗)でスケールするため劇的に削減されます。

⚠️一括画像処理中にモバイルブラウザがフリーズまたはタブ再読み込みされる

複数のスマートフォン撮影写真を同時にデコードすると、モバイル端末の VRAM(ビデオメモリ)制限を超過し、ブラウザタブのクラッシュが引き起こされます。設定で並列処理数を 1(直列順次実行)に制限し、次の画像デコードを開始する前に各画像バッファを解放してガベージコレクションを行わせてください。

よくある質問 (FAQ)

目標ファイルサイズ(指定KB)圧縮はどのように正確な容量を算出するのですか?▼

指定 KB 圧縮は、離散コサイン変換(DCT)の量子化パラメータ空間 [1, 100] に対して O(log k) の二分探索を実行します。各反復ステップにおいて Canvas エンコーダーが canvas.toBlob() で生成したバイト容量を検証し、目標値を超過した場合は探索範囲を二等分することで、わずか 7 回以内の反復(300 ミリ秒未満)で指定容量内に収まる最高の視覚品質へと収束させます。

Web パフォーマンスを最大化するための最適な画質とファイルサイズの基準は?▼

推奨される Web 標準ベンチマークは、WebP 形式で品質 75%〜82% です。この設定により SSIM(構造的類似性指標)0.96 以上を維持しながら、メインのヒーロー画像を 150 KB 以下、サムネイルを 70 KB 以下に抑えられます。知覚可能な圧縮ノイズを発生させることなく、Google Core Web Vitals の重要指標である LCP(Largest Contentful Paint < 2.5秒)の要件をクリアできます。

WebP、JPEG、PNG のうち、最もファイルサイズが小さくなるフォーマットはどれですか?▼

写真において WebP は VP8 フレーム内マクロブロック予測により、同等の視覚品質(SSIM)の標準 JPEG と比較して 25%〜35% ファイルサイズを縮小できます。また、透過を持つ 24 ビット PNG と比較しても、非可逆アルファ圧縮によって 70% 以上の容量削減が可能です。PNG が必須となるのは、DCT 量子化ノイズを避けて文字の輪郭を鮮明に保つ必要がある図面・線画アセットや、8 ビットインデックスカラー画像のみです。

すでに圧縮された画像を再圧縮するとなぜファイルサイズが大きくなることがあるのですか?▼

非可逆変換符号化は「非べき等(non-idempotent)」な処理であるためです。すでに圧縮された画像を高い品質設定(85% 以上)で再圧縮すると、8×8 の DCT ブロック境界の不整合が発生し、前回の圧縮ノイズを有意な高周波ピクセル情報として誤認識します。これによりハフマン符号や算術符号のテーブルが肥大化し、より強力に再量子化しない限りファイルサイズが 10%〜25% 増加する現象が発生します。

ブラウザ内(クライアントサイド)処理はどのように機密画像データを保護していますか?▼

画像のデコード、リサンプリング、再エンコードなどの全処理は、外部 HTTP リクエストを一切発生させず、ブラウザの HTML5 Canvas、createImageBitmap、Web Workers を利用して端末のローカルメモリ内でのみ実行されます。ローカルオリジンのサンドボックス内において Web Crypto API(crypto.subtle.digest)で暗号化検証も行えるため、外部サーバーへの情報漏洩リスクが皆無であり、日本の個人情報保護法(APPI)や GDPR、HIPAA、RFC 6454 セキュリティ仕様に完全準拠したプライバシー保護が保証されます。

透過画像を JPG に変換すると背景が黒や白の単色になってしまうのはなぜですか?▼

JPEG 規格(JFIF / ISO/IEC 10918-1)にはアルファ(透明度)チャンネルが存在せず、YCbCr 輝度・色差プレーンのみを符号化するためです。RGBA の Canvas ピクセルバッファを image/jpeg として書き出す際、ブラウザは透明ピクセルを不透明な下地色(通常は 0x000000 の黒または 0xFFFFFF の白)に自動合成します。透明度を維持するには WebP または PNG を選択してください。

関連開発者ツール

全ツール一覧 →
インタラクティブCSSグラデーション生成ツールデザイン

CSS linear、radial、conicグラデーションの完全な構文ガイド。二重位置カラーストップ、OKLCH色空間補間、放射形状制御、テキストマスク、Tailwind CSS / SVG連携まで網羅。

ツールを開く→
多重レイヤー CSS ボックスシャドウ ジェネレーターデザイン

自然で美しい光学多層シャドウを作成。アンビエントオクルージョン、インセット、ブラー拡散、多重階層を直感的に調整し、TailwindやCSSコードを即座に出力します。

ツールを開く→
CSS Clip-Path ポリゴン&ベクターマスクジェネレーターデザイン

ドラッグ操作でポリゴン頂点を自由に編集。レスポンシブ対応のCSS clip-pathおよびSVGクリッピングマスクを即時生成。

ツールを開く→
CSS Grid レイアウト ビジュアルジェネレーターデザイン

直感的な2次元CSSグリッド作成ツール。fr比率単位・minmax()関数・gap間隔を視覚的に調整し、最適化されたCSS、Tailwind、React JSXコードを即座に生成します。

ツールを開く→
8値オーガニック CSS ボーダー角丸ジェネレーターデザイン

スラッシュ(/)構文による8値完全指定で、自然な有機的ブロブ形状やスキュアクルを直感的に生成・エクスポート。

ツールを開く→
インタラクティブ CSS ベジェ緩動曲線プレイグラウンドデザイン

cubic-bezier(x1, y1, x2, y2)の制御点を直感操作。オーバーシュートや物理弾性アニメーションを実機比較検証。

ツールを開く→