AVIFをJPGに変換:ソフトが開いてくれない画像の正体
ウェブサイトから画像を保存したのに、パソコンのどのソフトでも開けない。それがAVIFです。Chrome、Edge、Firefox、Safariはいずれも表示できますし、画像配信のCDNの多くが既定でAVIFを配信しているので、こちらが選んだつもりがなくてもこの形式が手元に届きます。一方で、古いバージョンのPhotoshop、Windowsフォトビューアー、印刷所、そして多くのアップロードフォームは、いまだにこの拡張子を受け付けません。ファイルが壊れているわけではありません。手元のソフトが作られた時点では存在しなかった形式で届いた、というだけです。JPGは事実上どこでも読めるただ一つのラスター形式なので、変換するのがメール送信、印刷、自分では設定を変えられないフォームへの投稿に戻るための最短ルートになります。ここから先は、このコンバーターがあなたのファイルに何をするかの説明です。ほかの変換ページがたいてい書かない部分も含めて書きます。
JPGはAVIFより大きくなるのが普通です
ほかのコンバーターはどれも「ファイルが小さくなる」と書いています。この変換に関しては、その約束は事実ではありませんし、確かめるのも簡単です。AVIFはJPEGよりはるかに効率のよいコーデックなので、同じ絵をJPGにすると必要なバイト数が増えます。以下は、138 KBのAVIFとして届いた2000×1500の写真を、当サイトのサーバーで三つの設定すべてに通した結果です。
| 設定 | JPGのサイズ | AVIFとの比較 |
|---|---|---|
| Best quality(最高画質) | 426 KB | +207% |
| Recommended(推奨) | 184 KB | +33% |
| Smallest(最小サイズ) | 87 KB | -37% |
もう一つ、1200×900でわずか21 KBのAVIFでも傾向は同じで、差はさらに大きくなりました。+285%、+55%、Smallestでもまだ+4%です。元のAVIFがうまくエンコードされているほど、JPGがそれを下回る見込みは小さくなります。ここで変換する目的は互換性であって、容量の節約ではありません。本当に軽くしたいのであれば、変換後にJPGを圧縮するか、ウェブ用にはAVIFを残し、AVIFが拒否される場所だけJPGを使ってください。
写真は正しい向きで出てきます
スマートフォンはほとんどの写真を横向きで記録し、どちらに回すかを示すタグを付けて保存します。そのタグを無視するコンバーターに縦位置の写真を渡すと、全部横倒しで返ってきます。ここではエンコードを始める前にタグを読んで実際に回転を適用し、そのうえで出力からタグを消します。この両方が必要です。タグが残ったままだと、Chrome、Safari、iOS、Windowsのフォトが、すでに直っている写真をもう一度回してしまいます。理由が分からないまま上下逆さまの画像ができあがるのは、これが原因です。
色が派手に転ぶことはありません
最近のスマートフォンはsRGBより広い色域のDisplay P3で撮影します。このプロファイルを捨てても、何も変換されません。同じ数値が間違ったものさしで読まれるだけで、彩度の高い色はすべて過剰になります。肌は赤くなり、空はネオンのようになります。既定ではプロファイルをそのままJPGに引き継ぎます。送り先がプロファイルをまったく見ない場合は、Colour profile(カラープロファイル)の設定を使えば、タグを捨てるのではなく、画像そのものを正しくsRGBへ変換します。
透明な部分は自分で選んだ色で埋まります
JPEGにはアルファチャンネルがないため、透明な背景は何かで塗りつぶすしかありません。角が透明なロゴを雑なコンバーターに渡すと、背後に黒い四角が入った状態で返ってくることがよくあります。見た目はファイルが壊れたときとまったく同じです。ここでは白が既定で、設定の横にあるカラーピッカーからスウォッチでも16進数コードでも好きな色を指定できます。透明部分を統合したことは結果画面に表示されるので、背景の変化が後から分かって驚くことはありません。塗りつぶさずに透明のまま残したい場合は、AVIFをPNGに変換をお使いください。
どの設定を選ぶか
Best quality(最高画質)は、保存用のコピーや印刷に回すデータ向けで、ファイルが数倍重くなっても構わない場合の選択です。Recommended(推奨)は画面で見るもの全般に対する正解で、通常の表示サイズの写真であれば劣化は見えません。Smallest(最小サイズ)はメール、メッセージアプリ、サイズ制限が本当の制約になっている場面のための設定です。あとから気が変わったら、何度でも無料で変換し直せます。
ファイルは名前ではなく中身で判別します
名前を変えても中身は変わりませんし、ファイル名は日常的に付け替えられるものです。拡張子だけ.jpgになっているAVIFや、ブラウザから別名で保存された.avifも、ファイル自身のバイト列から判別して正しく変換します。グレースケールのAVIFはグレースケールのまま出力されます。アニメーションAVIFは最初のフレームが静止画として書き出され、その旨が結果に表示されます。
まとめて変換してもファイル名はそのまま
フォルダー内の画像を一度に変換すると、一つのZIPにまとまって返ってきます。ファイル名は送ったときのままで、photo.avifはphoto.jpgになります。アラビア語、中国語、アクセント付きの文字を含む名前もそのままです。読み取れないファイルが一つあっても全体が台無しになることはありません。そのファイルだけ処理を飛ばし、理由とともに結果に名前が出て、残りは通常どおり変換されます。結果には合計だけでなく、ファイルごとの変換前と変換後のサイズも個別に表示されます。
得られるもの
- AVIFが存在する前に作られたソフトでも開けるJPG
- 正しい向きの写真。向きのタグは消してあるので、ビューアーが再び回すことはありません
- 広色域の色をそのまま保持、または指定すれば正しくsRGBへ変換
- 透明部分は自分で選んだ色で塗りつぶし。意図しない黒にはなりません
- 縦横の画素数は毎回、元のまま
- まとめて変換した場合は、元のファイル名のまま一つのZIPで受け取り
次はどうしますか
塗りつぶさずに透明な背景を残したい場合は、AVIFをPNGに変換をどうぞ。本物のアルファチャンネルがあり、半透明もそのまま保てます。
JPGはもう手元にあるけれど、メールに添付するには重すぎますか。JPEGを圧縮なら、画素数を変えずにサイズを下げられます。
同じ問題で形式だけ違う場合は、HEICをJPGに変換が、iPhoneでのまったく同じ状況に対応します。