Image Formats · Guide

What Is a JFIF File? Why Windows Saves .jfif, and How to Get a JPG or PNG Back

24 min read · Published November 9, 2026 · Mochify Engineering Team

You saved a photo from a web page, went to upload it to a form, a marketplace listing or a work system, and the site refused it. The file was called photo.jfif. You did not ask for that. Windows, or whichever browser you used, picked the name, and the "Save as type" box offered nothing else. Now you have a folder of pictures you cannot use, a search box open, and a lot of pages telling you to download a converter.

Here is the straight answer the forums keep circling: a JFIF file is a JPEG. Not a cousin, not an older version, not a subtype. The bytes inside photo.jfif are the same bytes a .jpg would hold, and renaming it changes nothing except the label. This guide explains why the label appears (one registry value on your Windows machine that your browser consults), how to get a .jpg or a .png back on Windows, Mac, iPhone and Android, how to stop it happening again, and the one technical fact behind all of it: JPEG has two common file layouts, JFIF and Exif, and nearly every program reads both.

Published November 9, 2026 by the Mochify Engineering Team. Measured on November 7, 2026: one .jfif renamed, re-encoded with jpegli, and converted to PNG, with the Windows registry cause read from the Chromium source.

The short answer: a JFIF is a JPEG

JFIF stands for JPEG File Interchange Format. It is the file layout most JPEG images have used since 1992, so a file called .jfif holds exactly the same kind of picture as one called .jpg, and every image viewer, editor and browser opens it. The extension is the only difference, and it only matters to software that checks the name instead of the contents.

The original JPEG standard defined how to compress a picture but not how to store the result as a file: nothing said where the resolution or the color space went, or what the first few bytes should be. In 1992 a short specification filled that hole. It called itself "a minimal file format which enables JPEG bitstreams to be exchanged" (JFIF 1.02, September 1992), and it did one job: it put a small header at the front of the file, then the JPEG data. That layout became so universal that nobody names it. Open a .jpg saved from one website and a .jfif saved from another in a hex viewer and both begin FF D8 FF E0, with the letters JFIF a few bytes in. The UK National Archives' format registry lists jpg, jpe, jpeg, jif, jfif and jfi as extensions for one and the same format (PRONOM fmt/44).

So the question "what is a JFIF file" has a one-line answer, and the real questions are the ones under it: why did your computer choose that name, what happens if you rename it, and what to do with the files you already have. Those take the rest of the guide.

Five words this guide uses

The rest of the guide assumes only these.

  • JPEG is the compression method: the math that turns a picture into a small file by discarding detail your eye does not miss. It is also the everyday name for the file.
  • JFIF is a file layout for JPEG data: a short header, then the compressed picture. Most JPEGs on the web use it.
  • Exif is the other common layout. Cameras and phones write it, because it has room for the camera settings, the date, and the GPS position. A photo from your phone is usually an Exif-layout JPEG.
  • Extension is the part of the file name after the dot: .jpg, .jfif, .png. It is a label. It does not change the bytes.
  • MIME type is how programs describe a file's kind without a name: image/jpeg for any JPEG, image/png for a PNG. When a browser downloads a picture it knows the MIME type first and has to work out an extension from it, which is where the trouble starts.

Why Windows and your browser save images as .jfif

Windows keeps a table that maps each MIME type to a preferred file extension, and on many Windows 10 and Windows 11 machines the entry for image/jpeg reads .jfif. When a browser downloads an image whose web address does not end in a usable extension, it asks Windows which extension goes with image/jpeg, and Windows answers from that one entry. The picture is a normal JPEG; the name is Windows' choice.

That table lives in the registry at HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, in a value called Extension. This is not folklore: the Chromium source code that Chrome and Microsoft Edge share opens exactly that key and reads exactly that value when it needs the preferred extension for a MIME type (platform_mime_util_win.cc, function GetPlatformPreferredExtensionForMimeType). Microsoft's own documentation describes the table as the thing that "associates a MIME content type with a file name extension" (MIME Table, Windows Installer), and the same key is the answer given on Microsoft's Q&A site every time the question comes up, including by a Microsoft Community Support Specialist in January 2023. Firefox has had the same reports on Windows since December 2019, so this is not a Chrome quirk.

A worked example

Walk a download through it. You right-click a product photo on a shop page and choose "Save image as". The image's address is something like https://cdn.example.com/img/8f3a2c91?w=1600: no .jpg anywhere, because the shop's image service serves pictures by ID. The browser already received the file with the header Content-Type: image/jpeg, so it knows what it has. To fill in the save dialog it needs a name, and the address gives it none, so it asks Windows for the extension that belongs to image/jpeg. On a machine where that registry value says .jfif, the dialog offers 8f3a2c91.jfif and a "Save as type" list with nothing better in it. Save the same image from a page whose address ends in /hero.jpg and you get hero.jpg, because the browser takes the extension from the address and never asks.

That is why the symptom looks random. Some sites give you .jpg, some give you .jfif, and the difference is whether the address carried an extension, not anything about the picture.

Why it comes and goes

Because the mapping is one value on one machine, it is a machine state, not a Windows feature you can look up. Users on Microsoft's forums have reported the value changing back after some Windows updates and have blamed third-party software for setting it; a 2020 thread that names the key ends with the poster asking "why is it getting changed after an update" and getting no answer (Microsoft Q&A, March 2020). We could not find any Microsoft document stating what a fresh install ships in that value, so we will not tell you it is "the default". What we can say is that the reports run from Windows 10 in 2019 to Windows 11 in 2026, the browser code has not changed, and the fix in section 7 is the same throughout.

Does renaming .jfif to .jpg lose anything?

No. Renaming changes the label and not one byte of the file. We checked it the literal way: we took a 1600 x 1200 JPEG saved as photo.jfif (1,186,845 bytes), copied it to photo.jpg, and hashed both. The SHA-256 of the two files is identical, 54a59b68...e09ac4cb in both cases. There is nothing to lose because nothing was converted.

The reason renaming works is that almost no program trusts the extension. Image libraries read the first bytes of the file (the FF D8 that opens every JPEG) and decode from there; the name is for humans and for file managers. That is why the forum answer "just rename it" is correct, and why it frustrates people anyway: the places that refuse a .jfif are the places that check the name and never look inside. Web upload forms with an accepted-extensions list, some marketplace listing tools, older desktop software, and a few phone apps do this. For those, the label is the whole problem, and changing it is the whole fix.

When the rename is not enough

Three cases call for more than a rename.

  1. You cannot see or change the extension. Windows hides extensions by default, so a file that shows as photo may be photo.jfif underneath, and typing .jpg on the end of a hidden extension gives you photo.jpg.jfif. Section 6 shows how to reveal extensions first. On a phone, or a work machine you do not administer, renaming may not be offered at all.
  2. You have a folder of them. Renaming forty files by hand is the kind of job that makes people download converters, and a batch converter is the right tool for it.
  3. You want the file changed as well as renamed. The photo may carry metadata you would rather not upload, or it may be larger than the form allows. A rename keeps every byte, including the ones you wanted gone. A re-encode is the better move here, and section 8 covers what it costs you and what it saves.

The rule of thumb: one file, extension visible, nothing else wrong with it, rename it. Anything else, convert it. The JFIF to JPG converter takes .jfif files directly, three at a time with no signup, and hands back standard .jpg files.

JFIF vs Exif: the two JPEG file layouts

"JFIF vs JPEG" is a comparison between a container and its contents, so it has no winner. The comparison that does exist is JFIF vs Exif: the two layouts a JPEG file can use, and the reason a photo from your phone and a picture from a website are both JPEGs yet start with different bytes.

Every JPEG file begins with a two-byte start-of-image marker, FF D8, and ends with an end-of-image marker, FF D9. Between them sit numbered "application segments" that carry everything the compressed picture itself does not: resolution, color space, and metadata. The JFIF specification requires its segment, APP0, to come straight after the start marker; it is identified by the text JFIF and carries the version, the pixel density and an optional thumbnail (JFIF 1.02, standardized as ITU-T T.871). The Exif specification, written by the camera industry, requires its segment, APP1, to come straight after the start marker too; it is identified by the text Exif and carries the camera make and model, exposure settings, date, orientation, and, if the device had one, the GPS position (Exif 2.2, compressed file structure). Both standards claim the first slot, which is a formal incompatibility, and in practice it does not matter: many programs and cameras write both segments one after the other, and the Exif standard tells readers to skip any segment they do not recognize, so a JFIF-only reader ignores the Exif block and an Exif reader ignores the JFIF block.

FeatureJFIF layoutExif layout
Who writes itWeb images, editors, most software librariesCameras, phones, photo apps
First bytes after FF D8FF E0 (APP0), then JFIFFF E1 (APP1), then Exif
What the header carriesVersion, pixel density, optional thumbnailCamera settings, date, orientation, GPS, thumbnail
Usual extension.jpg, .jpeg, or .jfif when Windows names it.jpg, .jpeg
Opens inEverythingEverything

Two consequences for the files on your disk. First, the .jfif Windows gave you is almost always a JFIF-layout file, because web images are, and it carries no camera metadata to worry about. Second, a phone photo renamed to .jfif would still be an Exif-layout file, GPS and all, and would still open everywhere. The extension says nothing about which layout is inside, and neither layout needs a particular extension. If you want the metadata gone, that is a re-encode with the metadata stripped, which the Mochify tool pages and API do by default; our guide to the risks in EXIF data covers what is in there and who reads it.

How to open or fix a .jfif on Windows, Mac, iPhone and Android

Any browser opens a .jfif (drag it into a tab), and so do Photos on Windows, Preview on a Mac, and every image editor. The fix is only needed when something checks the name. Here is the click-by-click route on each platform, rename first and convert second.

Windows 10 and 11

Show extensions first, or you will rename a hidden one. In File Explorer open the View menu, then Show, and tick File name extensions (Microsoft documents the same steps on its file extensions page; on Windows 10 it is the View tab, then the File name extensions checkbox). Now right-click the file, choose Rename, change .jfif to .jpg, press Enter, and click Yes when Windows warns that the file might become unusable. It will not; that warning is generic.

For a converted copy rather than a rename, open the file in Paint, choose File > Save as > JPEG picture (or PNG picture), and save. Paint decodes the picture and writes a fresh file, so this is a re-encode: the result is a new JPEG at Paint's quality setting, not the original bytes.

Mac

Select the file in Finder, press Return, and edit the name from .jfif to .jpg; confirm Use .jpg in the dialog. For a converted copy, open it in Preview, choose File > Export, pick JPEG or PNG from the Format menu (Apple's guide lists HEIC, JPEG, JPEG-2000, OpenEXR, PDF, PNG and TIFF, and notes "If you choose JPEG or JPEG-2000, you can adjust the image's quality"), then Save (Preview User Guide). Export is a re-encode, like Paint's Save as.

iPhone and iPad

If the file arrived by email, message or download, it is in the Files app. Touch and hold it, tap Rename, change .jfif to .jpg, and tap Done. The picture opens from Files either way; it is the apps that insist on .jpg that needed the rename. If you cannot find a rename option, or you have several files, open the JFIF to JPG converter in Safari, tap the drop zone to pick the files, and save the JPGs that come back to Files or Photos. We make no promises about how Photos treats a .jfif by that name, because Apple does not document it; the converter route avoids the question.

Android

Open your file manager (Files by Google, or the maker's own), find the download, use the menu to Rename, and change the extension. For several files, or when the gallery app will not show them, open the converter page in Chrome and upload from there. Gallery and sharing apps differ by maker, so we have not listed per-app steps.

Any platform: a folder of them

Drop the lot on the JFIF to JPG converter (three per batch with no signup; 25 per batch on a Day Pass or any paid plan), or open the Mochify web app, drop the files, and type what you want. The Mochify Workflow section below walks through it.

How to stop Windows saving images as .jfif

Change the one registry value the browser reads, and every browser on the machine saves .jpg from then on. The value is Extension under HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, and the fix is to set it from .jfif to .jpg. It is the same answer a Microsoft Community Support Specialist gave on Microsoft Q&A in January 2023.

You do not need this if you only hit a .jfif now and then: rename the file and move on. Do it if you save web images often, or if a form you use every day rejects them. Do not do it on a work machine you do not administer; ask IT, who may have a policy that sets it.

The steps

  1. Back up the registry first: in Registry Editor, File > Export, save the file somewhere you will find it. Registry edits have no undo.
  2. Press Windows + R, type regedit, press Enter, and click Yes on the permission prompt.
  3. Paste this into the address bar at the top and press Enter: HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg
  4. In the right-hand pane, double-click Extension. The Value data box reads .jfif.
  5. Change it to .jpg and click OK.
  6. Close Registry Editor and restart your browser. Microsoft's answer suggests a restart of the computer; in our reading of the browser code the value is looked up at download time, so a browser restart is usually enough, and a reboot settles it either way.

Check it worked

Go back to a page that gave you a .jfif (one whose image address has no extension) and save the image again. The dialog should now offer .jpg. Files you saved earlier stay .jfif: the fix changes what happens next, not what already happened, so rename or convert those.

If it comes back

Users have reported the value reverting after some Windows updates, and one Microsoft thread blamed a third-party program for resetting it. If .jfif returns, repeat the steps; it takes a minute. Keep the exported backup, and if you find a program that keeps resetting it, that program's support is the place to report it.

JFIF to PNG, JFIF to PDF, and when a re-encode beats a rename

A rename gives you the original bytes under a new name. A conversion gives you a new file, and that is the right choice when the target format is not JPEG, when you want the metadata gone, or when you want the file smaller. We ran one .jfif through both of Mochify's paths to put numbers on it.

The test file is a 1600 x 1200 photo-like test image (gradient, fine noise and texture, encoded the way a camera JPEG is), 1,186,845 bytes as a JFIF-layout JPEG. Measured on November 7, 2026 against api.mochify.app:

RouteResultSizeChange
Rename .jfif to .jpgSame bytes, SHA-256 identical1,186,845 bytes0
JFIF to JPG (jpegli, quality 85, metadata stripped)New JPEG965,522 bytes18.6% smaller
JFIF to PNG (pixel-exact, metadata stripped)New PNG4,630,004 bytes3.9x larger

JFIF to JPG is a fresh JPEG encode with Google's jpegli encoder at quality 85, which keeps photos looking the same on screen while usually taking bytes off a file that was saved at a high quality setting. A file that was already compressed hard can come back a little larger; if you need the exact original bytes, rename instead. The output opens everywhere a JPEG does, and the metadata is stripped by default, with a Strip EXIF switch after upload if you want it kept. Our guide on why jpegli changes the JPEG picture has the encoder comparison.

JFIF to PNG is for the form, template or app that asks for PNG specifically, or for a picture you will edit and re-save several times (each JPEG save adds a little compression; a PNG adds none). The PNG holds the JFIF's decoded pixels exactly, so it looks the same, no better and no worse: the detail JPEG compression already removed does not come back, and the file is several times larger because PNG stores every pixel. Graphics with flat color grow far less than photos. Two things a PNG does not give you from a JFIF: transparency, because a JPEG has none to carry over (if you want the background cut out, open the Mochify web app and type "remove the background and convert to PNG"; background removal is on every plan, including Free), and a smaller file, which is the JPG's job. Our guide to lossless image formats covers when lossless is the right call and when it is the wrong one.

JFIF to PDF is the next thing people search for, usually because a form, portal or print shop wants one PDF and turns a .jfif away. The JFIF to PDF converter takes the .jfif files directly, with JPG, PNG, WebP, AVIF, HEIC or JXL mixed in if you have them, and builds one PDF with a page per image in the order you add them: three images per PDF without an account or on a free account, 20 on any paid plan or a Day Pass. Each image is re-encoded with jpegli as a baseline JPEG, the kind every PDF reader can show, so the pages look the same and print cleanly but are a fresh encode rather than the original bytes; pages come out upright, the page fits the image by default with A4 or Letter as options for paper, and the PDF carries no metadata. Renaming to .pdf does not work, for the same reason renaming to .png does not: the extension is a label, and a PDF reader expects PDF bytes.

The one you do not need: JFIF to JPEG. .jpg and .jpeg are two spellings of the same extension, and a .jfif is already the same format as both. Rename it, or convert it if you want it smaller or cleaner, and ignore any tool that charges for the difference.

Cheat sheet

You haveYou wantDo thisWhat changes
One .jfif, extension visibleA .jpgRename it (Windows: View > Show > File name extensions first)Nothing inside; 0 bytes
A .jfif on a phone or locked-down PCA .jpgFiles app > Rename on iPhone; file manager > Rename on Android; or the JFIF to JPG converter from the browserNothing (rename) or a fresh jpegli JPEG (converter)
A folder of .jfif files.jpg filesDrop them on JFIF to JPG, or the web app with "convert these to JPG"Fresh JPEGs at quality 85, metadata stripped by default
A .jfif and a form that wants PNGA .pngJFIF to PNG, or Paint / Preview Save as PNGPixel-exact PNG, several times larger, no transparency
A .jfif and a form that wants PDFA .pdfJFIF to PDF: drop the files, one PDF backOne PDF page per image, 3 per PDF free, 20 paid or Day Pass
Every download arriving as .jfifIt to stopRegistry: HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, Extension = .jpgNew downloads save as .jpg; old files unchanged
A .jfif with location data in itIt goneConvert (the JFIF tool pages strip metadata by default); a rename keeps itNew file, no EXIF or GPS

The thirty-second version: a JFIF is a JPEG; the name came from one Windows registry value your browser consulted; renaming loses nothing; convert when you have many, want them smaller, or want the metadata gone.

Mochify Workflow: fix a folder of .jfif files

  1. Say what you want

    Open the Mochify web app, drop your .jfif files on it (the uploader accepts the .jfif extension), and type the result in plain English: convert these to JPG and remove the metadata, or convert to PNG for the form that insists on PNG, or JPG, 1600px wide, strip the location data if you want them resized on the way. Magic Flow reads the sentence with a language model, then the C++ engine does the work.

  2. Or use the one-job page

    For a straight conversion, the JFIF to JPG converter and the JFIF to PNG converter are drop-and-download: .jfif in, a jpegli JPG at quality 85 or a pixel-exact PNG out, three files per batch with no signup, 25 per batch on a Day Pass or any paid plan. A Strip EXIF switch appears after upload, on by default, if you want the metadata kept.

  3. From the terminal or an agent

    The same conversion runs from the Mochify CLI (mochify *.jfif -p "convert to jpg"), from an AI assistant through the hosted MCP server or the local MCP server (mochify serve), and from the REST API with POST /v1/squish?type=jpg on api.mochify.app, authenticated with Authorization: Bearer <key>. All four are clients over the same API.

  4. Saving images from websites often?

    The Mochify Chrome extension's right-click menu has a Convert to JPG option that saves the image straight to Downloads as a JPG, one image at a time, so the .jfif never appears.

  5. What happens to your files

    Images travel over HTTPS to api.mochify.app, are converted in memory, and are discarded as soon as your download is ready: nothing is written to disk, no logs contain your image data, and your images are never used to train AI. That holds for the web app, the tool pages, the CLI, both MCP servers and the API (the hosted MCP server keeps the converted file behind a short-lived link for about five minutes so your assistant can fetch it; the original is still discarded at once).

Got one file and a visible extension? Rename it and skip all of this. The workflow is for the folder, the phone, the locked-down machine, and the form that wants something a rename cannot give.

FAQ

Is a JFIF file the same as a JPG?

Yes. JFIF is the file layout most JPEG images use, so a .jfif and a .jpg hold the same kind of picture, compressed the same way, and open in the same programs. Only the extension differs, and the extension is a label. Renaming .jfif to .jpg changes nothing inside the file.

Why are my JPEGs turning into JFIF?

Because of one Windows registry value. When a browser saves an image whose web address has no extension, it asks Windows which extension goes with the MIME type image/jpeg, and on many Windows 10 and 11 machines the answer stored at HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg is .jfif. Chrome, Edge and Firefox all consult it. The picture is a normal JPEG; the name is Windows' choice.

How do I change a JFIF to a JPG?

Rename it: on Windows, show file name extensions (View > Show > File name extensions), right-click the file, Rename, and change .jfif to .jpg; on a Mac, select it in Finder and edit the name; on an iPhone, touch and hold it in Files and tap Rename. For several files, or when you cannot rename, drop them on the JFIF to JPG converter and download the JPGs. Renaming keeps the original bytes; the converter writes a fresh jpegli JPEG with the metadata stripped.

How do I stop Windows saving images as .jfif?

Open Registry Editor, go to HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, double-click Extension, change .jfif to .jpg, and restart your browser. Back up the registry first, and leave it alone on a work machine you do not administer. New downloads then save as .jpg; files already saved stay .jfif until you rename or convert them.

What is the difference between JFIF and JPEG?

JPEG is the compression method; JFIF is one of the two file layouts that carry it. The other is Exif, which cameras and phones write because it has room for camera settings and GPS. A JFIF-layout file starts with an APP0 segment labeled JFIF; an Exif-layout file starts with an APP1 segment labeled Exif. Both decode identically, both usually carry a .jpg extension, and most programs write and read both.

Can I convert a JFIF to PNG, and will it be transparent?

Yes, and no. A JFIF to PNG conversion gives you a PNG with the JFIF's pixels exactly, so it opens wherever PNG is required, but it is several times larger (3.9x in our test) and it has no transparency, because the JPEG had none. If you want the background removed, open the Mochify web app and type "remove the background and convert to PNG"; background removal is on every plan, including Free.

Can I open a JFIF file on an iPhone or Android phone?

Yes. The picture opens in the Files app on iPhone and in a file manager on Android, and in any browser. Apps that insist on .jpg are the ones that need the file renamed (touch and hold, Rename) or converted; the JFIF to JPG converter works from the phone's browser when renaming is not offered.

Does converting a JFIF to JPG lose quality?

A rename loses nothing. A conversion is a fresh JPEG encode, and Mochify's runs jpegli at quality 85, which keeps the picture looking the same on screen; a JFIF saved at high quality usually comes back smaller (18.6% smaller in our test), and one that was already heavily compressed can come back a little larger. If the exact original bytes matter, rename instead of converting.

Got a folder of .jfif files? Open the Mochify web app, drop them in and type convert these to JPG and remove the metadata; Magic Flow does the rest, and your images are processed in memory and never stored.