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/jpegfor any JPEG,image/pngfor 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.
- You cannot see or change the extension. Windows hides extensions by
default, so a file that shows as
photomay bephoto.jfifunderneath, and typing.jpgon the end of a hidden extension gives youphoto.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. - 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.
- 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.
| Feature | JFIF layout | Exif layout |
|---|---|---|
| Who writes it | Web images, editors, most software libraries | Cameras, phones, photo apps |
First bytes after FF D8 | FF E0 (APP0), then JFIF | FF E1 (APP1), then Exif |
| What the header carries | Version, pixel density, optional thumbnail | Camera settings, date, orientation, GPS, thumbnail |
| Usual extension | .jpg, .jpeg, or .jfif when Windows names it | .jpg, .jpeg |
| Opens in | Everything | Everything |
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
- Back up the registry first: in Registry Editor, File > Export, save the file somewhere you will find it. Registry edits have no undo.
- Press Windows + R, type
regedit, press Enter, and click Yes on the permission prompt. - Paste this into the address bar at the top and press Enter:
HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg - In the right-hand pane, double-click Extension. The Value data box reads
.jfif. - Change it to
.jpgand click OK. - 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:
| Route | Result | Size | Change |
|---|---|---|---|
Rename .jfif to .jpg | Same bytes, SHA-256 identical | 1,186,845 bytes | 0 |
| JFIF to JPG (jpegli, quality 85, metadata stripped) | New JPEG | 965,522 bytes | 18.6% smaller |
| JFIF to PNG (pixel-exact, metadata stripped) | New PNG | 4,630,004 bytes | 3.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 have | You want | Do this | What changes |
|---|---|---|---|
One .jfif, extension visible | A .jpg | Rename it (Windows: View > Show > File name extensions first) | Nothing inside; 0 bytes |
A .jfif on a phone or locked-down PC | A .jpg | Files app > Rename on iPhone; file manager > Rename on Android; or the JFIF to JPG converter from the browser | Nothing (rename) or a fresh jpegli JPEG (converter) |
A folder of .jfif files | .jpg files | Drop 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 PNG | A .png | JFIF to PNG, or Paint / Preview Save as PNG | Pixel-exact PNG, several times larger, no transparency |
A .jfif and a form that wants PDF | A .pdf | JFIF to PDF: drop the files, one PDF back | One PDF page per image, 3 per PDF free, 20 paid or Day Pass |
Every download arriving as .jfif | It to stop | Registry: HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, Extension = .jpg | New downloads save as .jpg; old files unchanged |
A .jfif with location data in it | It gone | Convert (the JFIF tool pages strip metadata by default); a rename keeps it | New 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
Say what you want
Open the Mochify web app, drop your
.jfiffiles on it (the uploader accepts the.jfifextension), and type the result in plain English:convert these to JPG and remove the metadata, orconvert to PNGfor the form that insists on PNG, orJPG, 1600px wide, strip the location dataif you want them resized on the way. Magic Flow reads the sentence with a language model, then the C++ engine does the work.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:
.jfifin, 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.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 withPOST /v1/squish?type=jpgonapi.mochify.app, authenticated withAuthorization: Bearer <key>. All four are clients over the same API.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
.jfifnever appears.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.