JFIF, JPEG and PNG
A .jfif file is a JPEG saved under a less common
extension — Windows browsers sometimes pick that name when you save
a picture. JPEG is a lossy format: it throws away detail your eye is
unlikely to notice in order to keep photos small. PNG is lossless: it
keeps every pixel exactly, supports transparency, and is the usual
format for screenshots, logos and graphics that will be edited.
People arrive at this page for two different reasons. Some have a
.jfif photo and a site or app that flatly refuses to
accept it, but would take a PNG. Others already have a JPG, PNG or
WebP and need a PNG specifically — for an app icon slot, an image
editor that only imports PNG layers, or a template that expects
transparency. This converter accepts all of those inputs and writes
a PNG either way; it does not need to know which reason brought you.
How this converter works
Each file is checked by its contents rather than its extension, so a picture that was renamed or mislabelled is still handled correctly. The browser then decodes it — through the same code path it uses to display any image — and a canvas writes the decoded pixels back out as PNG. Because PNG compression is lossless there is no quality slider on this page: unlike the JPEG-based converters, there is nothing to trade away. Every PNG this tool writes holds exactly the pixels the decoder produced, no more and no less.
Transparency is carried through rather than invented. A PNG or WebP file that already has transparent or semi-transparent areas keeps them in the output, because nothing is painted behind the image during the conversion. A JFIF or JPEG file has no transparency to begin with — JPEG cannot store an alpha channel at all — so its PNG is simply opaque, the same as the photo you started with.
What it accepts
JFIF, JPEG, PNG, WebP, GIF and BMP files are all accepted, sniffed from the first bytes of each file rather than its name or extension. Adding a PNG that is already a PNG still works — the tool decodes and re-writes it, which is occasionally useful for stripping unusual colour profiles or metadata, though that is a side effect rather than the point of the page. Anything that is not a recognised image format is rejected the moment you add it, with the reason shown next to the file name, so a batch never fails partway through on a file that should never have been in the queue.
What to expect from the file size
The PNG will look identical to the original, and for a photograph it will usually be several times larger — a typical JPEG photo saved as PNG can easily grow from a few hundred kilobytes to several megabytes. That is the cost of storing every pixel exactly instead of approximating runs of similar colour the way JPEG does. Converting to PNG cannot recover detail that JPEG compression already threw away; it only guarantees that no more is lost from this point on, however many times the PNG is opened, edited and saved again.
Flat graphics behave differently. A screenshot, a scanned document page or a simple logo often has large areas of identical colour, and PNG compresses those very efficiently — the size difference from the original JFIF or JPG can be small, or the PNG can even come out smaller if the source photo was compressed inefficiently.
Common mistakes
Converting an ordinary photograph to PNG "to be safe" usually just produces a much larger file for no visible benefit — JPEG's lossy compression is not something you can undo by picking a different output format, and a photo does not need PNG's transparency support. PNG earns its size when the image has flat colour, needs transparency, or will be edited and re-saved repeatedly, where each lossless round trip stays lossless instead of degrading a little more each time, as a JPEG re-save would.
If what you actually need is a .jpg file, the
JFIF to JPG converter
is the better choice: it hands back the original JPEG data without any
conversion at all, so the file stays small and no detail is
re-encoded. If your source is a HEIC photo from an iPhone rather than
a JFIF, start at
HEIC to JPG instead —
this page does not decode HEIC.
Where your files go
Nowhere. Decoding and encoding happen in your browser, and the page has no upload endpoint for images — there is no server call to send a file to. Your original files are left untouched; each PNG is a new file you download separately. Re-encoding through the canvas does not carry EXIF metadata such as camera model, timestamp or GPS location into the PNG, since the browser's canvas API never exposes that data to begin with.
Limits
Up to 30 files of 25 MB each per batch, checked before the conversion starts so a file that is too large is rejected rather than left to fail partway through. Animated GIFs become a single-frame PNG of their first frame only — PNG has no equivalent of GIF's animation, so there is no setting that changes this. Files that are not images are rejected when they are added, with the reason shown. Converting many large files back to back is limited by your device's memory rather than by anything this page enforces, so a phone may need smaller batches than a laptop.
Convert two or more files in one batch and a "download all" option appears, bundling every result into a single ZIP so you are not clicking through downloads one at a time. Each file also keeps its own download link if you only want one of them.