How to convert JFIF to BMP without uploading it
Every "free" online JFIF converter you've used uploads your photos to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For personal photos and anything you wouldn't post publicly, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.
This tool does exactly that. When you drop a JFIF here, your browser:
- Reads the file's real contents — the JFIF APP0 header (for example JFIF 1.02) is detected and reported on the file card, and a JPEG saved under any name (.txt, no extension) is still accepted, because JFIF and JPG are the same JPEG data. A PNG, GIF, WebP, AVIF or BMP file wearing a .jfif name is refused, with the real format named.
- Decodes the JFIF natively — every browser includes a JPEG decoder, so there is no decoder file to download and no waiting for a library to load.
- Reads the photo's EXIF orientation data and stores the output upright, so a portrait phone photo doesn't come back sideways. The rest of the EXIF data, including location, is dropped.
- Re-encodes the pixels as a raw BMP with a pure-JavaScript BMP encoder — BITMAPINFOHEADER, bottom-up rows, at the bit depth you chose. Your original file is never modified.
Why Windows saves .jfif files — and why upload forms reject them
JFIF — JPEG File Interchange Format — is the standard container for a JPEG-compressed photo,
defined in 1991 so that JPEG images could be exchanged reliably between programs. The important
fact is simple: a .jfif file is a JPEG. It holds the same compressed pixels
you would find in a .jpg file, plus a small header describing the format version,
resolution and colour information. JFIF vs JPG is only the extension and the wrapper — the
picture itself is identical.
So why does Windows keep producing them? When you save an image from a browser on Windows, the
browser asks the operating system which extension to use for JPEG data, and Windows has
historically answered .jfif — the extension recorded in its registry under
HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg. Chrome and Edge on Windows
both did this for years, which is why so many Downloads folders are full of .jfif
files that look broken everywhere except the browser. The file was never corrupt — the programs
that reject it simply check the extension before they look at the contents, and
.jfif is not on their list.
That extension check is also why upload forms reject them: a form that accepts
.jpg, .jpeg and .png refuses a .jfif on the
label alone, even though the bytes are a perfectly good JPEG. Converting to BMP fixes the
rejection — and is the right move when the destination actually wants raw uncompressed pixels.
If all you need is an accepted extension, our
JFIF to JPG Converter renames the same bytes
instead, with no re-encoding at all.
You can also stop Windows producing .jfif files at the source: open the Registry Editor, go to
HKEY_CLASSES_ROOT, then MIME, then Database, then
Content Type, then image/jpeg, and change the Extension
value from .jfif to .jpg — after that, Edge saves images as
.jpg. Only change that key if you are comfortable editing the registry, and back
it up first. Files already saved as .jfif still need converting — that is what the
tool above does, in seconds.
What makes this converter different
The converters that top the results for this search mostly upload your files to a server (XConvert, Zamzar, Convertio and OnlineConvertFree all convert server-side), and the client-side ones we found cap the bit depth — one offers only 24-bit output, another only 16-bit and 24-bit, with no 1-bit or 8-bit option at all. This page is the only dedicated JFIF-to-BMP page we found that combines a batch of 20 files with a ZIP download, the full bit-depth range (1/8/16/24/32-bit), Floyd–Steinberg dithering, hardware and retro destination presets, JFIF version detection per file, and a live network-request counter so you can verify the privacy claim yourself. It runs entirely in your browser — there is no server to upload to.
When is BMP the right choice for a JFIF?
Almost never for sharing or storage — JFIF is smaller and PNG is lossless and smaller still. BMP earns its place when the destination demands raw pixels: legacy Windows software and GDI tooling, printer utilities, embedded firmware and machine-vision rigs that read uncompressed data, and sprite or retro-game editors that load 1-bit or 8-bit BMPs. If the program you are feeding accepts anything else, use JFIF to PNG instead and keep the smaller file.
Honest limitations
No quality recovery
JPEG throws away detail when it compresses. A BMP holds the same decoded pixels, uncompressed — it cannot put back what JPEG discarded. Blocky artefacts in the JFIF stay blocky in the BMP.
BMPs are much larger than JFIFs
Expect roughly 20× the size for a 24-bit BMP of a photo, and more at 32-bit. Every file shows its size multiple honestly, and the batch bar shows the total before you download anything.
16-bit loses colour depth
16-bit BMP keeps 5 bits per channel — 32,768 colours instead of 16.7 million. Smooth gradients will band. Use it only when the destination insists on 16-bit.
8-bit and 1-bit are approximations
8-bit output is a 256-colour palette built by median cut; 1-bit is black and white only. Dithering fakes the missing shades by speckling pixels, but detail and smooth colour are lost either way.
32-bit alpha is always 255
JFIF has no transparency, so there is no alpha to preserve. A 32-bit BMP from this tool is one-third larger than the 24-bit version with identical visible pixels — pick it only when the destination requires it.
Metadata is stripped
Camera metadata (EXIF, including location) is dropped on re-encode. The orientation tag is read and applied first, so the output is stored upright. Greyscale JFIFs stay greyscale in the pixels.