小さい画像を引き伸ばすと輪郭がぼやけて、階段状のギザギザが出てしまいます。昔の Web サイトから保存した写真、送ってもらった画像が縮小されていた、スクリーンショットを印刷したい、といった場面ではどうしても元より大きくする必要が出てきますが、画像編集ソフトの拡大機能は足りない画素を周りの色から混ぜて埋めるだけなので、大きくすればするほどぼやけていきます。
AI を使うと、この足りない部分を学習した特徴から「もっともらしく」描き足せます。ただし高画質化をうたう Web サービスはほとんどがアップロードを前提にしていて、無料だと解像度に上限があったり、透かしが入ったりするものも少なくありません。
この記事では、私が作った「Media Tools」の AI アップスケールを使って、画像をどこにも送らずに 2 倍・4 倍へ高画質化する手順を説明します。処理はすべてブラウザの中で動くため、画像が端末から出ることはありません。
- 必要なもの: 拡大したい画像と、ブラウザ
- 必要ないもの: アプリのインストール、アカウント登録、料金、画像のアップロード
普通に拡大した場合とどう違うか
同じ写真(320×433)の顔まわりを、同じ大きさで並べたものが次の画像です。左が単純な引き伸ばし、中央が AI で 2 倍、右が 4 倍になります。
引き伸ばしたものは画素がそのまま四角く残って目のあたりが崩れているのに対し、AI で 2 倍にしたものは輪郭が戻り、髪の流れまで分かるようになりました。4 倍はさらに滑らかですが、肌の質感が失われて全体にのっぺりした印象になります。これは後で説明する Real-ESRGAN の癖で、倍率を上げれば上げるほど良くなるわけではありません。
方式 | 足りない画素の埋め方 | 向いている場面 |
|---|---|---|
画像編集ソフトの拡大 | 周りの色を混ぜる | 少しだけ大きくする |
AI(Real-ESRGAN) | 学習した特徴から推定して描く | 元が小さい、輪郭を保ちたい |
ここで私が書いておきたいのは、AI が元の情報を取り戻しているわけではないということです。縮小したときに消えた画素は戻ってきません。それらしい線と質感を新しく描き足しているだけなので、細かい文字がつぶれた画像を拡大しても、読める文字にはなりません。
用意するもの
- 拡大したい画像(JPG・PNG・WebP・HEIC などをそのまま読み込めます)
- ブラウザ(Chrome・Edge・Safari・Firefox のいずれか)
- 初回だけ約 64MB の通信(AI モデルの取得)
Python の環境を作る必要も、GPU 搭載の PC を用意する必要もありません。WebGPU に対応した環境では GPU を使い、対応していない環境では CPU に切り替わって動きます。
拡大する手順
手順は 3 つで、倍率を選んで画像を読み込み、「実行」を押すだけになります。

小さい画像や古い写真を AI(Real-ESRGAN)で 2 倍・4 倍に高画質化する無料ツール。ブラウザ内で推論するため画像は送信されません。WebGPU 対応、登録不要。
- AI アップスケールのページをブラウザで開きます。
- 「拡大率」で 2× か 4× を選びます。
- 拡大したい画像をドロップするか、クリックして選び、「実行」を押します。
処理が終わると結果の行に「比較」「コピー」「保存」が並びます。1 枚だけなら「保存」で書き出せますが、何枚もまとめて処理する場合は先に「保存先フォルダを選ぶ」で出力先を指定しておくと完了と同時にそこへ書き込まれるので、私は枚数によって使い分けています。仕上がりを確かめたい場合は「比較」を押すと元の画像と並べて表示されます。
初回は AI モデルの取得が入るため、私の環境(Radeon 780M / WebGPU)では 320×433 の写真を 2 倍にするのに 22.44 秒かかりました。2 回目以降はモデルがブラウザに保存されるので、同じ画像が 5.83 秒で終わります。
2× と 4× の使い分け
倍率を上げると処理時間も出力サイズも増えます。同じ 320×433 の写真で測った結果が次のとおりです。
倍率 | 出力の大きさ | 処理時間 | ファイルサイズ |
|---|---|---|---|
2× | 640×866 | 5.83 秒 | 420.5 KB |
4× | 1280×1732 | 28.48 秒 | 1.3 MB |
4× は 2× のおよそ 5 倍の時間がかかります。出力の画素数が 4 倍になるので当然ではありますが、「とりあえず 4×」と選ぶと待たされることになります。
私は基本的に 2× を使い、それで足りないときだけ 4× に上げるようにしています。先ほどの比較画像のとおり、4× は滑らかになる一方で質感が失われるため、倍率が高いほど良いとは限らないためです。印刷のように元の 4 倍の画素数がどうしても要る場合を除けば、2× で十分なことが多いです。
得意なものと苦手なもの
Real-ESRGAN は写真の質感やイラストの線を補うのが得意で、Web から保存した小さい画像の拡大には向いています。一方で、次のようなものは苦手です。
- 縮小で完全に失われた細かい文字。読めるようにはなりません
- 顔の細部。全体に滑らかになり、のっぺりした印象になります
顔をはっきりさせたい場合は、顔専用のモデルを使う「顔復元」のほうが向いています。こちらは「GFPGAN」という別のモデルで顔だけを描き直すもので、「先に拡大」のオプションを付ければ拡大と顔の復元を 1 回で済ませられます。写真全体を大きくしつつ顔もはっきりさせたい、という場合はそちらを使ってください。
スキャンした古い写真の顔がつぶれている、拡大したらぼやけた、という写真を AI で復元する手順を説明します。ブラウザの中だけで処理するため写真はどこにも送られず、会員登録も料金も必要ありません。集合写真の顔もまとめて復元できます。
大きい画像は自動で縮小されてから拡大される
端末のメモリを守るため、入力の画素数に上限を設けています。WebGPU で約 300 万画素、CPU では約 48 万画素で、これを超えた画像は自動的に縮小されてから拡大されます。
試しに 2000×1600(320 万画素)の画像を 2× で処理したところ、「元が大きすぎるため 2000×1600 から縮小してから拡大しました」と表示され、112.64 秒かかりました。上限を超えると縮小の手間が入るうえ、そもそも処理する画素数が多いので時間も延びます。
もともと大きい画像に、このツールを使う意味はあまりありません。アップスケールが効くのは元が小さい画像です。大きな画像の画質が気になる場合は、拡大ではなく圧縮やノイズ除去のほうが目的に合っていると私は考えています。
GPU があるかどうかで 12 倍違う
同じ画像を WebGPU が使える環境と使えない環境の両方で測りました。
画像 | GPU(WebGPU) | CPU(WebAssembly) |
|---|---|---|
320×433 を 2×(初回・モデル取得込み) | 22.44 秒 | 132.49 秒 |
320×433 を 2×(2 回目) | 5.83 秒 | 72.19 秒 |
500×530 を 2× | 8.36 秒 | 118.98 秒 |
差は約 12 倍です。CPU でも動くこと自体は変わらないものの待ち時間はまるで違うので、遅いと感じたときのために、処理が終わると画面に GPU と CPU のどちらで動いたかを表示するようにしてあります。Chrome か Edge の新しめの版であれば WebGPU が使えます。
なお CPU 側は 1 スレッドで動いています。SharedArrayBuffer を使えば複数スレッドに分けられるのですが、それには COEP というヘッダーの設定が必要で、設定するとサイトが読み込める外部リソースの範囲が狭まってしまうため、今回は見送りました。
タイルに分けて推論している
画像全体を一度に AI へ渡すとメモリが足りなくなるため、タイルに分けて推論し、結果を貼り合わせています。タイルの大きさは WebGPU で 256 ピクセル、CPU で 128 ピクセルです。
そのまま切って貼り合わせると継ぎ目が線として見えてしまうので、各タイルの周囲 12 ピクセルを余分に含めて推論し、出力側でその縁を捨てています。画像の外側にあたる部分は端の画素で埋めています。
ここで一つ、実装していて分かったことがあります。入力タイルの寸法を常に同じに揃えたところ、処理が 4 倍以上速くなりました。当初は画像の端で半端な大きさのタイルをそのまま渡していたのですが、寸法が変わるたびに WebGPU がシェーダーを作り直していたようで、320×240 の画像を 2 倍にするのに 20 秒かかっていたものが 4.5 秒になりました。端を余分に含めて捨てる作りは、継ぎ目を消すためであると同時に、この寸法を揃えるためでもあります。
よくある質問
無料で使えますか?
使えます。会員登録もログインも必要ありませんし、処理できる枚数にも制限を設けていません。透かしも入りません。
画像はサーバーに送られますか?
送られません。AI の推論はブラウザの中で動くため、読み込んだ画像が端末の外へ出ることはなく、初回に取得するのは AI モデルのファイルだけです。
どのくらいの大きさまで拡大できますか?
入力の画素数に上限があり、WebGPU で約 300 万画素、CPU で約 48 万画素です。超えた場合は自動で縮小してから拡大し、その旨が表示されます。
文字がつぶれた画像を読めるようにできますか?
できません。縮小で失われた情報は戻らないため、AI はそれらしい形を描き足すだけになります。文字は特に不自然な結果になりやすい部分です。
顔写真がのっぺりします
Real-ESRGAN の既知の傾向です。顔をはっきりさせたい場合は「顔復元」のツールを使ってください。「先に拡大」を付ければ拡大と顔の復元を 1 回で行えます。
スマートフォンでも使えますか?
使えます。ただし初回に約 64MB の通信が発生するので、Wi-Fi に接続した状態で試すほうが安全です。WebGPU に対応していない端末では CPU で動くため、時間はかかります。
まとめ
小さい画像を大きくするのに、アップロードも会員登録も必要ありません。倍率を選んで「実行」を押すだけで、輪郭を保ったまま拡大できます。
- 単純な引き伸ばしと違い、AI は足りない部分を推定して描き足す
- ただし元の情報が戻るわけではない。つぶれた文字は読めるようにならない
- 私の環境では 2× が 5.83 秒、4× は 28.48 秒。倍率を上げるほど質感は失われる
- GPU と CPU では約 12 倍の差が出る
- 顔をはっきりさせたいなら、顔専用の「顔復元」を併用する
関連記事とツール

小さい画像や古い写真を AI(Real-ESRGAN)で 2 倍・4 倍に高画質化する無料ツール。ブラウザ内で推論するため画像は送信されません。WebGPU 対応、登録不要。
画像の背景を透過するのに、写真をどこかへアップロードする必要はありません。ブラウザーの中で動く AI で人物も商品も切り抜く手順と、2 つのモデルの使い分け、実測した処理時間をまとめます。

画像の変換・圧縮・切り抜き・AI 高画質化・背景除去、音声の変換・無音除去・音量調整、動画の変換・圧縮・トリム・字幕焼き込み・GIF 化を、アップロードせずブラウザ内で処理する無料ツール集。サイズ制限なし、登録不要。

