Flip JFIF images online for free. Mirror horizontally or vertically.
JFIF (JPEG File Interchange Format) is the same JPEG-compressed image data as .jpg and .jpeg, just wrapped under a different extension. The format is standardized as ITU-T Recommendation T.871 and ISO/IEC 10918-5 (2013), and its bytes are byte-for-byte interchangeable with .jpg once you rename the extension. Files end up as .jfif mostly because of a Windows MIME-registry quirk introduced in Windows 10 version 1909 (December 2019) that causes Microsoft Edge, Chrome, and other browsers on Windows to save downloaded JPEGs with the .jfif suffix until the user edits HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg — a fix that often reverts after the next Windows update. Flipping operates on the pixel data and is independent of which suffix the file carries.
.jfif, and a horizontal flip restores the mirrored look people expect on Instagram, TikTok, or BeReal..jfif because the OS hands them the registry-default extension. Flip the image in place without renaming or converting first..jfif and .jpg source files.| Property | .jfif | .jpg | .jpeg |
|---|---|---|---|
| Compression | JPEG (DCT, baseline / progressive) | JPEG (DCT, baseline / progressive) | JPEG (DCT, baseline / progressive) |
| MIME type | image/jpeg | image/jpeg | image/jpeg |
| Spec governing the container | JFIF (ITU-T T.871 / ISO 10918-5, 2013) | JFIF or Exif (depending on writer) | JFIF or Exif (depending on writer) |
| Typical writer | Browsers on Windows (post Win10 1909) | Cameras, phones, most editors | Older Mac / Unix tooling, web frameworks |
Renaming .jfif → .jpg |
Works — bytes unchanged | n/a | n/a |
| Color model | Y (greyscale) or YCbCr | Y or YCbCr | Y or YCbCr |
| Stores resolution / aspect ratio metadata | Yes (APP0 segment) | If JFIF or Exif present | If JFIF or Exif present |
| Stores camera EXIF (capture time, GPS) | Rare — JFIF and Exif APP segments are technically mutually incompatible per ITU-T T.871, but most modern decoders tolerate hybrid files | Yes — Exif is the dominant container for camera JPGs | Yes |
If you'd rather drop the .jfif extension entirely, use JFIF to JPG — it's a rename pass with optional re-encode. To swap to a different format, see JFIF to PNG.
| Operation | What it does | Result of doing it twice | Typical use |
|---|---|---|---|
| Horizontal flip (mirror) | Reflects across the vertical axis (left ↔ right) | Returns to original | Selfies, RTL layouts, iron-on transfers |
| Vertical flip | Reflects across the horizontal axis (top ↔ bottom) | Returns to original | Inverted scans, reflection effects |
| Rotate 90° | Quarter-turn (portrait ↔ landscape) | Image lands at 180° (still wrong) | Phone-photo orientation fix |
| Rotate 180° | Half-turn (upside down) | Returns to original | Same visual as H-flip + V-flip combined |
| Horizontal + Vertical flip | Both axes mirrored | Returns to original | Equivalent to a 180° rotation |
For 90° / 180° / 270° turns or arbitrary-angle straightening, use Rotate JPG (which also accepts .jfif). To resize without flipping, see Resize JPG. To trim the image area, see Crop JPG. For other formats: Flip JPG, Flip PNG, Flip WebP, Flip HEIC.
This is a Windows MIME-registry quirk introduced with Windows 10 version 1909 in December 2019. The image/jpeg MIME type maps to the .jfif extension in HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg, so when Microsoft Edge, Chrome, Vivaldi, or Teams saves a downloaded JPEG it picks up .jfif from the registry. The image data itself is normal JPEG — you can rename the file to .jpg and it opens identically in every viewer. Editing the registry to set Extension to .jpg works as a temporary fix but Windows updates frequently reset it. Microsoft has not published an official permanent fix.
JPEG is a lossy format, so a flip technically does involve a re-encode through the JPEG encoder. At the default "Quality" of 85 the perceptual loss is hard to see; the file size can differ from the original, because the editor does not copy the source file's own JPEG quality. If you plan to flip the same image many times in a row, convert to PNG via JFIF to PNG, do all the flips there, and convert back to JPEG at the end to avoid generation loss. Some tools advertise "lossless JPEG flip" using DCT-block manipulation — that only works when the image dimensions are multiples of 8 (or 16) pixels; this tool re-encodes for predictable behaviour across all sizes.
Usually yes — JFIF and JPG share the same image/jpeg MIME type and identical compressed bytes for browser-saved files, so a rename is enough for 99% of viewers, social uploads, and editors. Where a true conversion helps: if the JFIF was written without an Exif APP segment and your downstream tool is Exif-only (some legacy print pipelines or DSLR review software), running it through JFIF to JPG inserts a clean Exif container during the re-encode. For flipping specifically, "Save as" offers "Same as original" or JPG, PNG, WebP and other formats.
If the source JFIF carries Exif data — which it usually does for files originating from a camera and routed through a browser — and you save as JPG, the capture timestamp, GPS coordinates, ISO / aperture / shutter, camera make and model, and lens info are copied across unchanged (PNG, WebP and the other output formats are saved without it). The Exif Orientation tag is reset to 1 (normal) since the pixels themselves are now in the intended layout. Strictly speaking the JFIF spec (ITU-T T.871) and Exif spec define their APP segments such that they're mutually incompatible, but every modern decoder (browsers, Photoshop, GIMP, Photos.app) tolerates files that carry both. To strip metadata for privacy, save as PNG or WebP, which are written without EXIF — the editor has no remove-metadata switch for JPG output. To shrink the file afterward, use Compress JPG.
iPhone and most Android phones display the front-camera preview mirrored so framing feels natural ("if I move my hand left, my reflection moves left"), but they save the photo un-mirrored — which is why text on a t-shirt reads correctly in the saved file but feels off compared to what you saw on screen. When you re-save that photo from a Windows browser it lands as .jfif. A horizontal flip recreates the mirrored preview, which is what most people actually want when posting to social media.
Yes — drop up to 50 JFIF files at once (a mixed batch works too). The flip direction you set applies to every file in the batch; "Download all (.zip)" saves every flipped result in one ZIP, or use "Download one by one" to save them separately.
They're the same operation. "Mirror" usually refers to a horizontal flip (reflecting left ↔ right, like a bathroom mirror), which is also what most apps mean by "Flip Horizontal". "Flip Vertical" is the top ↔ bottom version. If a tool labels its single button "Mirror" with no axis option, it almost always means horizontal. Here the Flip tab's "Mirror" row has both: "Horizontal" for left ↔ right and "Vertical" for the upside-down version.
No — flipping operates on pixels, not glyphs, so any rendered text or logo inside the photo will be mirror-readable (backwards) after a horizontal flip, or upside down after a vertical flip. If you need the photo flipped while a watermark or caption stays readable, that's a manual edit in Photoshop, GIMP, or Photopea where you flip the background layer and re-render the text on top. For iron-on / silkscreen workflows, the mirror-readable text is exactly what you want — the press flips it back.
It can. The pixel content is the same, just rearranged, but the photo is re-encoded at the "Quality" setting (85 to start), not at the quality the original was saved with — a JFIF saved at a low quality can come out larger, one saved at a very high quality smaller. The Output line shows an estimated size before you download. If you need the file smaller after flipping, lower the "Quality" slider or downscale with Resize in the same session.