画像の形式を変える理由は用途によってはっきり分かれます。Webに載せるならWebPが軽い、透過が必要ならPNG、写真をメールで送るならJPEG、提出先の指定でJPEGしか受け付けない、といった具合です。どれが正解かは画像の中身ではなく、その画像をこれから何に使うかで決まります。
OFFilerの形式変換は、PNG・JPEG・WebPの相互変換を、品質を選びながらブラウザ内で行います。変換の前後でファイルサイズがどう変わったかもその場で表示されます。以下では、それぞれの形式をいつ選ぶべきか、変換で失われるもの、特に注意が必要な透過の扱いについて説明します。
3つの形式をどう選ぶか
WebP・JPEG・PNGの役割
WebPは同じ見た目をJPEGより小さいファイルで表現できるため、Webサイトに載せる画像では第一候補になります。JPEGは写真向けの非可逆形式で、対応していない環境がほぼ無いという強みがあります。PNGは可逆形式で、透過を扱えるのはこの3つの中でPNGとWebPだけです。ロゴ、アイコン、スクリーンショット、図表はPNGが向いています。
変換時の品質は、高画質(90)・バランス(70)・小サイズ(50)のプリセットから選ぶか、数値で直接指定できます。この品質はJPEGとWebPにのみ効き、可逆形式であるPNGへの変換では無視されます。
変換はキャンバス経由で行われる
変換は、画像を一度キャンバスに描画し、目的の形式でエンコードし直すという流れで行われます。ブラウザが持っているエンコーダをそのまま使うため、追加のライブラリを読み込む必要がなく、処理は高速です。
この方式の帰結として、エンコードできるかどうかはブラウザの対応状況に依存します。対応していない形式を指定した場合は、黙って壊れたファイルを返すのではなく、エラーとして知らせます。
変換で失われるもの
JPEGへ変換すると透過は黒くなる
JPEGには透明度を記録する仕組みがありません。そのため、背景が透過されたPNGやWebPをJPEGへ変換すると、透明だった部分は黒く塗り潰された状態で出力されます。ロゴやアイコンをJPEGにして「背景が真っ黒になった」という現象はこれが原因です。
透過を保ったまま軽くしたいのであれば、変換先はWebPを選んでください。透過を残す必要がないのであれば、JPEGにする前に背景を白などで塗っておくのが確実です。
EXIFとICCプロファイルは引き継がれない
キャンバスを経由するため、元の画像が持っていたEXIF(撮影日時・カメラ機種・GPSの位置情報)とICCプロファイルは変換後の画像に残りません。位置情報を落としたい場合には都合が良い挙動ですが、それを主目的にするならEXIF削除の方が意図が明確です。
また、非可逆形式から非可逆形式への変換(JPEG→WebPなど)は、一度失われた情報の上にもう一度圧縮をかけることになります。元データが手元にあるなら、元データから直接目的の形式へ変換するのが最も画質が保たれます。
HEICはこのツールでは扱えない
iPhoneの標準形式であるHEICは、ChromeやFirefoxがそもそもデコードできないため、このツールの入力にはできません。専用のHEIC変換を使ってJPEGまたはPNGにしてから、必要であればこのツールで別の形式へ変換してください。
変換の前後でつなぐ
仕様と制限
- 変換できる形式
- PNG、JPEG、WebP
- サイズ上限
- 1ファイルあたり50MB
- 品質指定
- 高画質90 / バランス70 / 小サイズ50、数値指定も可
- 品質が効く形式
- JPEGとWebPのみ(PNGは可逆のため無視)
- 透過
- PNGとWebPは保持。JPEGでは黒くなる
- 失われる情報
- EXIF、ICCプロファイル
- HEIC
- 非対応(HEIC変換を使う)
- 通信
- ファイルの送信なし。処理はすべてブラウザ内