画像がアップロードされない仕組み|ブラウザ内処理とは
「画像はアップロードされません」と書かれていても、本当かどうか判断するのは難しいものです。ここでは、その仕組みと限界を説明します。
結論:ブラウザ内処理は、画像が端末の外に出ない点で安全ですが、端末のメモリに依存するため大きな画像は苦手です。対応形式もブラウザに左右されます。
仕組み
Web ページ上で動くプログラム(JavaScript)は、利用者が選んだファイルをブラウザのメモリ上で読み込み、加工し、保存用のファイルとして書き出すことができます。
この処理は端末の中で完結するため、ネットワークを通じて画像が送信されることはありません。開発者ツールの「ネットワーク」タブを見れば、画像の送信が行われていないことを確認できます。
利点
- 画像がサーバーに残らない(運営者も見られない)
- アップロードの待ち時間がない
- サーバー費用がかからないため、無料で提供しやすい
- 通信量が少なくて済む
制約
- メモリの上限:端末のメモリを超える画像は処理できません。当サイトでは 8192px・2500万画素を上限にしています
- 対応形式はブラウザ次第:HEIC など、ブラウザが読めない形式は扱えません
- 処理速度は端末次第:古い端末では時間がかかります
- ページを閉じると消える:処理結果は保存しないため、閉じる前にダウンロードが必要です
処理時間の実測
「どれくらい待つのか」が分かると、使うかどうかの判断がしやすくなります。当サイトの圧縮・リサイズツールで実際に計測した結果を掲載します。
画像は 1200×800(175KB)と 4032×3024(416KB)の2種類、処理は WebP 品質80 での圧縮と 50% リサイズ、各3回の中央値です。
| 圧縮(WebP 品質80) | リサイズ(50%) | |
| Chrome・1200×800 | 約 0.10 秒 | 約 0.03 秒 |
| Chrome・4032×3024 | 約 0.71 秒 | 約 0.16 秒 |
| WebKit・1200×800 | 約 0.19 秒 | 約 0.09 秒 |
| WebKit・4032×3024 | 約 1.2 秒 | 約 0.42 秒 |
計測条件:PC 上の Chrome、および iPhone 13 相当の WebKit エミュレーション。実際の端末では CPU 性能・メモリ・画像の内容によって変わります。特に実機の iPhone では、メモリの制約からエミュレーションより時間がかかる場合があります。
自分で確認する方法
本当に送信されていないか確かめたい場合は、ブラウザの開発者ツールを開き、「ネットワーク」タブで画像を処理してみてください。画像データの送信が記録されていなければ、端末内で処理されています。
この記事で使えるツール
関連記事
この記事について
サラッとツールズ編集部が、公開情報と実際の動作確認をもとに作成しています。内容に誤りがある場合はお問い合わせよりご連絡ください。