
JPEG to JPG: There Is Nothing to Convert (and 7 Other Name Traps)
JPEG and JPG are the same format - the shorter name is a leftover from MS-DOS. Rename instead of converting, and learn the seven other extension traps that break uploads and web servers.
There is no difference between a .jpeg file and a .jpg file. Not a small one, not a technical one. The bytes are identical, the decoder is identical, and every program treats them the same way.
Tens of thousands of people search for a JPEG to JPG converter every month, and using one actively damages the image. This guide explains why, shows you what to do instead, and covers seven other extension traps that cause the same confusion.
Why Two Names Exist
Early versions of MS-DOS and Windows used the 8.3 filename convention: up to eight characters for the name, exactly three for the extension. JPEG is four characters, so it did not fit, and the format’s files were named .jpg on those systems.
Unix, and later macOS, never had that restriction, so .jpeg remained in use there. When Windows dropped the 8.3 limit in the mid-1990s, both spellings were already established, and neither went away.
Both refer to the same thing: an image compressed with the JPEG standard, wrapped in a JFIF or Exif container. The MIME type for both is image/jpeg. There is no image/jpg.
Prove It Yourself
cp photo.jpeg photo.jpg
# Identical contents
md5sum photo.jpeg photo.jpg
# 3d9f... photo.jpeg
# 3d9f... photo.jpg
# Both report the same format
file photo.jpeg photo.jpg
# photo.jpeg: JPEG image data, JFIF standard 1.01
# photo.jpg: JPEG image data, JFIF standard 1.01
The checksums match because copying does not change anything. That is the entire story.
Why a “Converter” Makes It Worse
Point a JPEG at an online “JPEG to JPG converter” and it will hand you back a file. Something did happen — just nothing you wanted.
Most such tools decode the image and re-encode it as a new JPEG. JPEG is lossy, so the second encode discards more detail on top of what the first one discarded. You get a slightly softer image, possibly a different file size, and no benefit whatsoever.
The damage is measurable. Re-saving one image at quality 85 ten times, and comparing each generation against the first:
Error Accumulated by Repeated Re-Saving
A 1200×630 JPEG re-encoded at q85 ten times. Error is RMSE against generation 1, scaled ×1000.
Error triples over ten generations while the file size barely moves — it stayed within 0.1% of 125 KB throughout. So you cannot detect this by looking at the file listing. You are simply losing image data in exchange for nothing.
Note that this is the mild case: same encoder, same quality, no edits. Change the quality setting, rotate the image, or pass it through a different tool and the loss per generation is larger.
You also uploaded your photo to a stranger’s server to achieve nothing.
What to Do Instead: Rename It
macOS Finder — select the files, right-click → Rename → Replace Text, find .jpeg, replace with .jpg.
Windows File Explorer — enable File name extensions in the View tab, then rename. For a batch:
# PowerShell
Get-ChildItem *.jpeg | Rename-Item -NewName { $_.Name -replace '\.jpeg$', '.jpg' }
REM Command Prompt
ren *.jpeg *.jpg
macOS and Linux:
# One file
mv photo.jpeg photo.jpg
# A folder
for f in *.jpeg; do mv -- "$f" "${f%.jpeg}.jpg"; done
# With the rename utility, where available
rename 's/\.jpeg$/\.jpg/' *.jpeg
This takes no time, loses nothing, and is what every converter should be doing.
When the Extension Genuinely Matters
Renaming is safe because the file is already a JPEG. Three situations make the name matter anyway.
Upload forms with an extension whitelist. Plenty of portals accept .jpg and reject .jpeg, or the reverse. The check is on the string, not the file. Renaming fixes it.
Case sensitivity on web servers. Linux servers treat photo.JPG and photo.jpg as different files. A page referencing photo.jpg gets a 404 when the file on disk is photo.JPG. This works fine on a Windows or macOS development machine and breaks the moment you deploy.
# Lowercase every extension in a folder
for f in *; do mv -- "$f" "$(echo "$f" | sed 's/\.[^.]*$/\L&/')"; done
Pick one convention for your whole site and enforce it. Our image SEO guide covers filename practice more broadly.
MIME type on the server. The browser follows the Content-Type header, not the extension. Both spellings must be served as image/jpeg. Every standard server configuration already does this, but a misconfigured one that sends application/octet-stream makes the browser download the file instead of displaying it.
Trap 2: .jfif
You download an image in Windows and get photo.jfif. Some applications refuse to open it.
JFIF — JPEG File Interchange Format — is the container that essentially all JPEGs use. So a .jfif file is a JPEG. The extension appears because a Windows registry entry maps the image/jpeg MIME type to .jfif, and some browsers follow it when saving.
Rename it to .jpg. Nothing else is required.
To stop it recurring, the fix is a registry edit under HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, where the Extension value should read .jpg rather than .jfif.
Trap 3: .jpe
A rarely used third spelling of the same format, produced by a few older applications. Also a JPEG. Also just rename it.
Trap 4: .tif and .tiff
Same story, same cause. TIFF’s four-letter extension did not fit 8.3, so .tif became the DOS spelling. The formats are identical and no conversion is needed.
TIFF has a genuine complication that JPEG does not, though: it is a container that can hold data compressed in several ways — uncompressed, LZW, ZIP, JPEG, or the fax encodings. Two .tiff files can behave very differently. Check with:
magick identify -verbose scan.tiff | grep -i compression
Trap 5: .heic and .heif
These are not simply two spellings, and this is where the pattern breaks.
HEIF is the container format. HEIC is the specific case of a HEIF file whose image data is compressed with HEVC, which is what Apple devices produce.
In practice, nearly every .heif file you meet is also HEVC-coded, so the two behave identically and tools accept both. But a HEIF container can hold other codecs, so renaming is not guaranteed safe the way it is for JPEG. Convert rather than rename if something rejects the file. Our HEIC to JPG guide covers the routes.
Trap 6: .avif Is a Cousin, Not a Sibling
AVIF uses the same underlying ISOBMFF container family as HEIC, but the image data is compressed with AV1 instead of HEVC. Renaming .heic to .avif produces a file nothing can open.
The confusion is worth knowing about because the two formats look similar in file listings and both are “the modern one” in different ecosystems. Apple devices produce HEIC; browsers and web tooling favour AVIF. See WebP vs AVIF vs JPEG XL for choosing between them.
Trap 7: .png Might Be Animated
There is no .apng extension in common use. An animated PNG is served as a .png, with image/apng or image/png as the MIME type, and browsers detect the animation from the file’s contents.
So a .png that animates in Chrome but shows a single frame in an old tool is not corrupt. It is an APNG meeting a decoder that only reads the first frame. Our guide to modern animated formats covers the alternatives.
Trap 8: “RAW” Is Not a Format
People ask how to convert “RAW to JPEG” as though RAW were one thing. It is a category. Every manufacturer has its own:
| Extension | Camera |
|---|---|
.cr2, .cr3 |
Canon |
.nef, .nrw |
Nikon |
.arw |
Sony |
.raf |
Fujifilm |
.orf |
Olympus and OM System |
.rw2 |
Panasonic |
.dng |
Adobe’s open standard, and some phones |
These are genuinely different formats with different sensor data layouts, which is why a new camera model can be unreadable in older software until support is added. Renaming does nothing at all here. See converting RAW to JPEG for the actual process.
A Quick Reference
| Extensions | Same file? | What to do |
|---|---|---|
.jpg .jpeg .jpe .jfif |
Yes | Rename |
.tif .tiff |
Yes | Rename |
.htm .html |
Yes | Rename |
.heic .heif |
Usually | Rename, or convert if rejected |
.heic .avif |
No | Convert |
.png .apng |
Same extension | Nothing — it is one format |
.svg .svgz |
No — .svgz is gzipped |
Decompress with gunzip |
.cr2 .nef .arw .dng |
No | Convert with a RAW processor |
When You Do Need a Real Conversion
If the file is not already a JPEG — it is a PNG, a WebP, a HEIC, a TIFF, or something from a camera — then renaming will not work, and a real conversion is required. The receiving software checks the contents, not the name, and a renamed PNG fails immediately with something like “not a valid JPEG file”.
Our guide on converting any image to JPG covers the routes on every platform, all of which are free and most of which are already installed.
Summary
The Short Version
.jpegand.jpgare the same format. Rename, never convert.- Online JPEG-to-JPG converters re-encode and lose quality for no gain.
.jfifand.jpeare also JPEG. Same treatment..tifand.tiffare the same. So are.htmand.html..heicand.heifare near-identical;.avifis a different codec.- Lowercase your extensions before deploying to a Linux server.
- “RAW” is a category, not a format, and always needs real conversion.
Checklist
- ✅ You checked the real format with
fileormagick identify - ✅ You renamed rather than converted, where the format already matched
- ✅ Extensions are consistently lowercase across the site
- ✅ The server sends
image/jpegfor both spellings - ✅ No image was uploaded to a converter to achieve a rename
If a form rejects your .jpeg, rename it and try again. That is the whole fix, and it takes two seconds.
Related Resources
Related Guides
10 Ways to Convert Any Image to JPG on Any Device
12 Image File Types Explained: When to Use Each
PNG to JPG and Back: 9 Ways to Convert Without Wrecking the Image
JPEG Optimization Mastery: The Definitive Guide
11 Image Optimization Myths That Refuse to Die
8 Ways to Convert HEIC to JPG (iPhone, Mac, Windows and Batch)