Command Palette

Search for a command to run...

What Is a JFIF File, and Why Does Windows Save Images as .jfif?

What Is a JFIF File, and Why Does Windows Save Images as .jfif?

T
Toolz Team
|Sep 19, 2026|17 分読んでください
Google で Toolz.dev を優先する

JFIFからJPGへのコンバーター

ブラウザで JFIF 画像を JPG にバッチで変換し、ロスレスで名前を変更します

JFIFからJPGへのコンバーターを使う

You right-click a photo in Chrome or Edge on Windows, choose Save image as, and the file lands in Downloads as photo.jfif. Then an upload form refuses it, your photo editor leaves it out of its open dialog, and Windows offers to find an app in the Microsoft Store. It looks like you downloaded some unusual format. You did not. A JFIF file is a JPEG, and the only thing wrong with it is the name.

This guide covers what JFIF is, where it sits in the JPEG standards, why Windows picks that extension, how to tell a real JPEG from a misnamed file by its first bytes, and which fix makes sense: a rename, a re-encode, or a registry change so it stops happening. It sits under the image tools hub alongside the other format guides.

TL;DR: A JFIF file is an ordinary JPEG image. JFIF (JPEG File Interchange Format) is the file layout almost every .jpg already uses, standardized as ITU-T T.871, so .jfif, .jpg and .jpeg hold the same bytes. Windows saves images as .jfif when its registry maps the image/jpeg type to that extension. To fix a file, rename it: the JFIF to JPG converter copies the data through untouched, so size, quality and EXIF stay identical. Use JFIF to PNG only when you need a lossless copy for editing. Both run client-side, nothing uploaded, free, no signup.

What is a JFIF file?

A JFIF file is a JPEG-compressed image stored in the layout defined by the JPEG File Interchange Format. The name describes the wrapper, not a different kind of picture. Open a .jfif and a .jpg saved from the same source in a hex editor and you will see the same bytes in the same order.

The reason JFIF exists at all goes back to how JPEG was standardized. The JPEG committee's core standard, ITU-T T.81 (also ISO/IEC 10918-1, published in 1992), defines how image data is compressed and decompressed: the discrete cosine transform, quantization, Huffman coding. It deliberately says very little about the file around that data. It does not fix which color space the numbers are in, how pixels map to physical size, or how a program should recognize the file.

That gap meant two programs could each write "valid JPEG" that the other could not display correctly. Eric Hamilton at C-Cube Microsystems wrote JFIF to close it, and version 1.02, dated 1992, became the de facto layout for JPEG files on every platform. It was formally standardized much later as ITU-T T.871 in 2011, also published as ISO/IEC 10918-5.

JFIF adds three practical rules on top of T.81:

  1. The file carries a short APP0 segment labeled JFIF right after the start-of-image marker.
  2. Color images are stored as YCbCr (or grayscale with one component), with a defined conversion to RGB, so every decoder turns the numbers into the same colors.
  3. The header records pixel density and aspect ratio, and can hold a tiny uncompressed thumbnail.

So when someone asks "is JFIF the same as JPG", the precise answer is that JPEG is the compression and JFIF is the most common file format for carrying it. The .jpg extension does not name a separate format. It is a three-letter abbreviation that dates from when DOS and early Windows limited extensions to three characters, which is also why .jpeg exists as the longer spelling.

What do the first bytes of a JFIF file look like?

Every JPEG file starts with the bytes FF D8 FF, and a JFIF-labeled file follows that with an APP0 segment containing the ASCII text JFIF and a zero byte. Here is the start of a typical file:

Offset  Bytes                                      Meaning
0000    FF D8                                      SOI: start of image
0002    FF E0                                      APP0 marker
0004    00 10                                      segment length (16 bytes)
0006    4A 46 49 46 00                             "JFIF" + NUL identifier
000B    01 02                                      JFIF version 1.02
000D    01                                         density units (1 = dots per inch)
000E    00 48 00 48                                X and Y density (72 x 72)
0012    00 00                                      thumbnail width and height (none)
0014    FF DB ...                                  quantization table, then image data
....    FF D9                                      EOI: end of image

Photos straight from a camera or phone often look slightly different. They usually carry an APP1 segment labeled Exif (marker FF E1) holding the capture date, camera model, exposure settings and sometimes GPS coordinates, either instead of the JFIF segment or next to it. To a decoder that difference does not matter. Chrome, Firefox, Safari, Windows Photos and every image editor read both.

This is the check the Toolz converter uses. Its format detection reads the first bytes of each file, and anything starting FF D8 FF is JPEG data. Only then does it look at the file name: if the extension is .jfif, .jfi or .jif, the file is reported as JFIF so the page can tell you what happened, even though the data is identical to a .jpg.

Is JFIF the same as JPG?

Yes. The image data is identical, and nothing about quality, color depth or compression differs between the two extensions. What differs is how software reacts to the name.

Property .jfif .jpg / .jpeg
Compression JPEG, lossy (T.81) JPEG, lossy, the same data
File layout JFIF (T.871) or Exif JFIF or Exif, the same layout
MIME type image/jpeg image/jpeg
Transparency None None
Animation None None
Bits per channel 8 8
Opens in browsers Yes Yes
Accepted by upload forms Often rejected by extension checks Accepted almost everywhere
Listed in app open dialogs Sometimes missing Always
Converting between them A rename, no quality change A rename, no quality change

The MIME type row is the one that explains the whole problem. The media type image/jpeg, one of the original image types defined in RFC 2046, covers every JPEG file whatever it is named. A server sends Content-Type: image/jpeg for every JPEG it serves. There is no separate image/jfif type. When a browser needs to turn that content type back into a file extension, several extensions are equally correct, and the operating system decides which one wins.

Why does Windows save images as .jfif?

Windows saves images as .jfif because the registry entry that maps the image/jpeg content type to a file extension is set to .jfif on that machine, and Chrome and Edge ask Windows for that mapping when they name a downloaded image.

The value lives here:

HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg
    Extension    REG_SZ    .jfif

On machines where downloads come out as .jpg, the same value reads .jpg. Nothing is broken in either state; both extensions are registered for JPEG. Why the value flips on some machines is not documented by Microsoft, and reports blame different things: an image application registering itself, a Windows update, or a browser update. What is consistent is the effect. Once the value says .jfif, browsers that consult it will keep naming JPEG downloads that way until it changes back.

You can change it yourself. Open the Registry Editor, go to the key above, double-click Extension and set it to .jpg. Back up the registry first, since a wrong edit in HKEY_CLASSES_ROOT can break file associations. The change only affects new downloads. Files you already have keep their .jfif names, and those still need renaming.

If you would rather not touch the registry, two other habits avoid the problem. Type the file name with .jpg at the end in the Save dialog, which browsers respect. Or copy the image and paste it into an editor, which never involves a file extension at all.

How do I convert JFIF to JPG without losing quality?

Rename the file. Because the bytes are already JPEG, changing .jfif to .jpg produces a valid JPG with no change to a single pixel, no second round of compression and no metadata lost.

There are three ways to do that:

  • In File Explorer. Turn on File name extensions under the View menu (Windows hides known extensions by default), then rename photo.jfif to photo.jpg and confirm the warning. Fine for one file, tedious for fifty.
  • With a command. In PowerShell, Get-ChildItem *.jfif | Rename-Item -NewName { $_.Name -replace '\.jfif$','.jpg' } renames every .jfif in the current folder.
  • In the browser. The JFIF to JPG converter on Toolz does the same rename for a whole batch and hands the results back as one ZIP.

The browser route adds one check the other two skip: it reads the bytes before trusting the name. A normal .jfif is copied through untouched and comes back under a .jpg name. The size before and after is identical, and the note under the file says JFIF is already JPG data, so the file was renamed without re-encoding. That matching byte count is the visible proof that nothing was compressed again. A 2.1 MB holiday.jfif comes back as a 2.1 MB holiday.jpg with the same capture date, camera model and color profile still attached.

If the bytes say something else, the page does not pretend. A .jfif that is really a PNG or a WebP under the wrong name is decoded and re-encoded as a genuine JPEG, and the result card names the format it found. That path is a real conversion: it uses the Quality slider, drops EXIF data, and fills any transparent areas with white, because JPEG has no transparency.

The rename happens client-side. The file is read inside your browser tab and never uploaded, which matters here more than you might expect, because receipts, scanned IDs and documents saved from webmail are a common source of stray .jfif files.

When should I convert JFIF to PNG instead?

Convert JFIF to PNG when the image is heading somewhere that should not compress it again: an editor where you will make several rounds of changes, a document template, or a build step that re-saves images. PNG is lossless, so every later save keeps exactly the pixels you have now.

That is a different job from fixing the extension, and it comes with trade-offs worth knowing before you pick it:

  • The file gets bigger. PNG stores every pixel exactly, while JPEG approximates them. A 1,024 x 768 scan that was around 180 KB as a .jfif typically comes back several hundred kilobytes heavier as a PNG, at the same pixel dimensions.
  • Existing damage stays. Whatever JPEG compression already did to edges and flat areas is decoded faithfully and preserved. PNG is lossless from this point forward, not lossless from the original scene.
  • No transparency appears. JFIF has no alpha channel, so the PNG is fully opaque. No converter can invent a transparent background from a JPEG.
  • Metadata is dropped. The JFIF to PNG converter decodes through a browser canvas, which does not carry EXIF, GPS or color profiles across.

For the specific case of a photo that is going somewhere public, that last point can be useful. Most of the time, though, a rename to .jpg is what people need, and the PNG route is the exception.

Which conversion should I pick?

Pick by what you need the file for, not by which format sounds higher quality. This table covers the common destinations:

You need Do this Quality change Metadata
An upload form to accept the file Rename to .jpg None Kept
A folder of downloads to match .jpg filters Batch rename to .jpg None Kept
A lossless master for repeated editing Convert to PNG None from here on, file grows Dropped
A smaller file for the web Convert to WebP Re-encoded at your chosen quality Dropped
A PDF to email or print Convert to PDF Embedded as a page Dropped
A favicon or Windows icon Convert to ICO Resampled to icon sizes Dropped

The last three rows go through the general Image Converter, which accepts JFIF along with JPG, PNG, WebP, AVIF, GIF, BMP, ICO, HEIC, TIFF, PSD, SVG, CR2, DNG and PDF, and writes JPG, PNG, WebP, GIF, ICO, PDF or SVG. Drop a .jfif there, choose JPG, and it takes the same rename path as the dedicated page. Choose anything else and the image is decoded and re-encoded. If WebP is on the table, what WebP is and when it beats JPEG covers the size and compatibility trade-off in detail.

The dedicated pair pages take only their own source format. The JFIF to JPG page accepts .jfif, .jfi and .jif files, and a plain .jpg dropped on it is turned away, since there is nothing to convert. Its file picker lists only those extensions for the same reason: image/jpeg is shared by JPG and JFIF, so including the MIME type would let the picker offer every .jpg on your disk.

What is the difference between JFIF, Exif and plain JPEG?

All three are JPEG-compressed images. They differ in which metadata segment sits at the front of the file, and a decoder reads all of them the same way.

Variant Marker Identifier What it adds Typical source
JFIF FF E0 (APP0) JFIF\0 Color space rule, pixel density, optional thumbnail Browsers, editors, web exports
Exif FF E1 (APP1) Exif\0\0 Camera settings, capture date, orientation, GPS, thumbnail Cameras and phones
Both APP0 then APP1 Both Everything above Some editing software
Neither None None Just the compressed image Stripped or minimal encoders

Strictly, the JFIF specification expects its segment to come first, and Exif defines its own layout, so a file with only an Exif segment is not a JFIF file by the letter of either standard. In practice nobody distinguishes them. Operating systems treat all four rows as JPEG, the .jpg extension is used for all four, and so is .jfif on the machines described above. The extension tells you nothing about which segment is inside.

This is also why the "JFIF vs JPEG quality" question has no answer. Quality is decided when the image is compressed, by the quantization tables the encoder chose. It is the same whatever the file is called, and renaming it neither helps nor hurts.

Why do some apps refuse to open .jfif files?

Most apps that refuse a .jfif can read the data perfectly well; they reject the name before looking inside. An upload form usually checks the extension against a fixed list such as .jpg, .jpeg and .png. An editor's open dialog filters by extensions it registered. A gallery app or backup rule matches *.jpg. None of those checks read the first bytes.

Here is how the common failures map to causes:

Symptom Cause Fix
"File type not supported" on an upload form Extension allow-list Rename to .jpg
File missing from an editor's open dialog Dialog filters by registered extensions Rename, or choose All files
Windows offers a Microsoft Store app No program associated with .jfif Rename, or set Photos as the default for .jfif
Sorting script or backup skips the file Pattern matches *.jpg only Batch rename the folder
File still fails after renaming The data is not JPEG at all Convert it; check what the converter reports

The last row is rare but real. A file downloaded with a .jfif name can occasionally hold PNG or WebP data, because some sites serve a different format than the URL suggests. Renaming that file in File Explorer produces a .jpg that is secretly a PNG, which some strict software still rejects. A converter that checks the bytes catches it, re-encodes it as real JPEG, and tells you what it found.

Are my files private when I convert JFIF online?

On Toolz, yes: conversion is client-side, so the file is read and renamed or re-encoded inside your browser tab and is never uploaded to a server. The page also keeps working with the network disconnected once it has loaded.

Two details are worth knowing. First, a rename to JPG keeps every EXIF field, including GPS coordinates if your phone recorded them, because the bytes are copied rather than decoded. If the image is going somewhere public, run it through the EXIF remover as well. Second, a re-encode to PNG, WebP or anything else drops that metadata as a side effect of decoding through a canvas.

The limits are short. Images above 100 megapixels are refused with a message rather than crashing the tab, and empty files are refused. The tools are free, no signup, with a daily limit on how many conversions each one runs.

Can I stop getting .jfif files altogether?

Yes, by changing the registry value described above from .jfif to .jpg. After that, Chrome and Edge name new JPEG downloads with the familiar extension. It is the only fix that addresses the cause instead of the symptom.

If you manage several machines, or the value keeps flipping back, the practical routine is simpler: leave the registry alone and batch rename whatever collects in Downloads every so often. The JFIF to JPG converter takes the whole folder at once and returns converted-jpg.zip, numbering any duplicate names so nothing is overwritten.

And if you are on the other side of the problem, running a site whose users upload photos, accept .jfif, .jfi and .jif in your allow-list, or better, check the file's first bytes the way this guide shows. Every one of those files is a JPEG your code already knows how to handle.

For the other format that confuses Windows users in the same way, iPhone photos that arrive as HEIC, see HEIC vs JPG.

Frequently Asked Questions

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!