Why renaming works at all
File extensions are a hint to the operating system, not a description of the contents. A .jfif file already begins with the JPEG SOI marker FF D8 FF, which is exactly what a JPEG decoder looks for. Change the label and every JPEG-aware program will read it happily.
Nothing is re-compressed, so nothing is lost. Renaming and converting produce the same visual result — the converter just also handles the cases below where renaming quietly fails.
The four ways renaming goes wrong
- Hidden extensions. Windows hides known extensions by default. You think you are renaming
photo.jfiftophoto.jpg, but you actually createphoto.jpg.jfif. Turn extensions on first: File Explorer → View → Show → File name extensions. - It is not really a JPEG. Some sites serve PNG or WebP data with a
.jfifname. Renaming to.jpgthen produces a file that will not open anywhere. Check the header bytes if in doubt. - Cached thumbnails. Windows Explorer sometimes keeps showing a broken icon after the rename. Delete the thumbnail cache with Disk Cleanup, or press F5.
- Cloud sync services. A few sync clients preserve the original MIME type recorded at upload, so the file behaves as JFIF even after renaming locally. Re-uploading the renamed copy resolves it.
Renaming a whole folder at once
Windows — PowerShell
Get-ChildItem -Path . -Filter *.jfif -Recurse |
Rename-Item -NewName { $_.Name -replace '\.jfif$', '.jpg' }
Windows — Command Prompt
ren *.jfif *.jpg
macOS and Linux
for f in *.jfif; do mv -- "$f" "${f%.jfif}.jpg"; done
Run any of these on a copy of the folder the first time.
Rename or convert?
| Rename | Convert here | |
|---|---|---|
| Quality | Unchanged | Unchanged |
| Handles mislabelled files | No | Yes — decodes and re-writes correctly |
| Works on iPhone / Android | Awkward | Yes |
| Batch | Needs a command line | Drag in, download a ZIP |
| Other output formats | No | PNG, PDF, WebP, ICO, BMP |
If you are comfortable at a command line and certain the files are genuine JPEGs, renaming is the fastest route. Otherwise use the converter, which produces a correct file either way.