JFIFファイルとは?ダウンロードが.jfifで保存される理由
ウェブサイトから画像を保存したとき、.jpgのつもりが、末尾が.jfifのファイルになっていた——そんな経験はありませんか。するとWindowsで壁紙に設定できなかったり、 アップロードフォームに拒否されたり、アプリが「サポートされていない形式」と表示したりします。 でもご安心を。ファイルには何の問題もありません。JFIFファイルは、名札を付け替えただけのJPEGです。
手っ取り早い答え
JFIFはJPEG File Interchange Formatの略です。.jfifファイルの中身は、ごく普通のJPEG画像データ——すべての.jpgの中に入っているのとまったく同じ、DCTベースの非可逆圧縮です。実質的な違いは、拡張子と、 ソフトウェアに画像の解釈方法を伝える小さなヘッダーだけ。つまり実際には、JFIFファイルは JPEGそのものです。たいていは.jpgにリネームするだけで済みますし、JFIFからJPGできちんと変換することもできます。
では、JFIFとは実際に何なのか?
1990年代初頭にJPEGが標準化されたとき、圧縮アルゴリズムは定義されました—— しかし、圧縮データを、異なるプログラムが確実に読める実際のファイルとしてどう格納するかまでは、 規格が完全には定めていませんでした。2つの画像がどちらも「JPEG」でありながら、 バイトの並べ方が違うということが起こり得たのです。JFIFはそのすき間を埋めるために作られました。 どのアプリケーションでも一貫して開けるよう、JPEG圧縮されたデータをファイル内にどう配置すべきかを きっちり定めた、小さく実用的な交換フォーマット(interchange format)です。
JFIFヘッダーは、生の画像データの上に、次のような管理用の情報をいくつか記録します:
- 画像の縦横比(ピクセル密度比)
- 解像度の単位——1インチあたりか1センチメートルあたりか
- 水平・垂直の解像度の値
- 任意で埋め込まれるサムネイルプレビュー
それだけです。JFIFは画像も、色も、品質も変えません。標準的なJPEGデータを包む「包装の取り決め」に すぎないのです。この形式が「ベースラインJPEG」と呼ばれることがあるのはそのためです—— 人々が単にJPEGファイルと言うとき、たいてい指しているのがこのJFIFなのです。
なぜダウンロードが.jpgではなく.jfifで保存されたのか?
多くの人がこの記事にたどり着くきっかけとなる質問であり、よく知られたWindowsの癖です。 ブラウザがJPEG画像をダウンロードするとき、その画像のimage/jpegというMIMEタイプにどの拡張子が対応するかをOSに尋ねます。Windowsはその答えをレジストリに 保存しています。一部のマシンでは、そのエントリが.jpgではなく.jfifに設定されており——その結果、ウェブから保存するすべてのJPEGが、突然.jfifファイルとして降ってくるのです。
知っておくとよい点をいくつか:
- ウェブサイトのせいではありません。同じ画像でも別のPCで保存すれば、しばしば
.jpgで落ちてきます。拡張子はサーバーではなく、あなたのコンピューターのMIMEと拡張子の対応付けが 決めています。 - まったく無害です。バイトは通常のJPEGで、変わっているのはラベルだけ。画像が壊れたり、 品質が落ちたりすることはありません。
- この現象は長年にわたり複数のWindowsバージョンやブラウザの組み合わせで見られてきたため、 特定のリリースのバグというより、一般的なレジストリ/関連付けの挙動と考えるのがよいでしょう。
macOSやLinuxのユーザーが.jfifを目にすることはめったにありません。 これらのシステムは、デフォルトでimage/jpegを.jpgまたは.jpegに対応付けているからです。
JFIF vs Exif——JPEGを包む2つの方式
JFIFがJPEGのコンテナなら、カメラで撮った写真はどこに位置づけられるのか、と思うかもしれません。 それらは通常Exif(Exchangeable Image File Format)を使います—— 同じJPEGデータのための、別の交換の取り決めです。JFIFもExifも、標準的なJPEGで圧縮された ピクセルを格納する点は同じで、運ぶメタデータが違うだけです:
- JFIFは軽量なベースラインです。解像度と縦横比といった基本情報くらいしか 記録しません——汎用的な交換フォーマットとして理想的です。
- Exifはデジタルカメラやスマートフォンが書き込むものです。カメラの機種、露出、 ISO、GPS座標、撮影日時、向きといった、豊富な撮影メタデータを加えます。
歴史的には、この2つのヘッダーは同じファイル内で完全にうまく共存できたわけではありませんが、 実際には現代のソフトウェアは両方を難なく読み取ります。要点はこうです。ファイルにJFIF、Exif、 JPG、JPEGのどのラベルが付いていても、その中の圧縮された画像は同じJPEG規格に従っています。
JFIFファイルを直す・変換する方法
やりたいことに合った方法を選んでください。
方法1——ただリネームする
データはすでに標準的なJPEGなので、photo.jfifをphoto.jpgにリネームするだけで、大多数のケースでうまくいきます。Windowsでは、エクスプローラーで ファイル拡張子の表示をオンにし(表示 → 表示 → ファイル名拡張子)、拡張子を直接編集します。 画像は以前とまったく同じように開きます。ディスク上に見慣れた.jpgが欲しいだけなら、これがいちばん手早い解決策です。
方法2——きちんと変換する
リネームはラベルを変えますが、ファイルの中身は変えません。アップロードフォームやマーケット プレイス、アプリがそれでもファイルを拒否する場合——拡張子だけでなく実際のエンコードを 検証するものもあります——本当の変換は画像をきれいに再エンコードし、互換性を保証します。 どこでも通用する標準的な写真ファイルならJFIFからJPGを、編集用の可逆な複製やアプリが特定の形式を求める場合はJFIFからPNGを使ってください。どちらも完全に ブラウザ内で動くので、画像がデバイスから外に出ることはありません。
方法3——大元を直す(任意)
ダウンロードのたびに.jfifで来るのにうんざりしているなら、根本原因はimage/jpegを拡張子に対応付けているWindowsのレジストリエントリです。 上級者はその関連付けを修正して、今後のJPEGダウンロードが再び.jpgで保存されるようにできます。レジストリの編集に抵抗があるなら、必要なときに各ファイルを 変換する方法でまったく問題ありませんし、システム設定に手を触れずに済みます。
どこでもJFIFを開いて使う
見慣れない拡張子にもかかわらず、JFIFのサポートは事実上ユニバーサルです。中身はただのJPEG だからです。以下はすべて.jfifファイルをそのまま開けます:
- WindowsフォトとmacOSプレビュー
- 主要なウェブブラウザすべて
- Photoshop、GIMP、Affinity Photoなどの編集ソフト
- iOSとAndroidのスマホ写真ギャラリー
ときどき引っかかるのは、厳格なアップロード検証です——求人応募ポータル、本人確認のステップ、 「jpg, jpeg, png」のようなホワイトリストで拡張子を照合するECの商品出品などです。 そうした場合は、先に変換すれば問題は消えます。
JFIFを変換すると品質は落ちる?
リネームは何も失いません——バイトはそのままだからです。JFIFをJPGに変換すると、JPEGを一度 再エンコードします。品質を高く(85%以上)保てば、目に見える違いはごくわずかです。JFIFをPNGに 変換すると、ピクセルを正確に保つ、より大きな可逆ファイルになりますが、元のJPEGがすでに 捨てたディテールまでは取り戻せません。目的が別の形式ではなく、より小さいファイルなら、 代わりに画像圧縮ツールを通してください。
結論
.jfifファイルは、恐れるべき見慣れない新形式ではありません——珍しい拡張子が 付いた、古くて標準的なJPEGであり、WindowsのMIME関連付けの癖によって表面化しただけです。 手早く直すなら.jpgにリネームし、確実な互換性が必要ならJPGまたはPNGに変換してください。いずれにせよ、画像は無事です。