Free webp to jpg
PJPEG

Progressive JPEG (Legacy IE Alias)

image/pjpeg Released 1992 · by Joint Photographic Experts Group / Microsoft (Alias)

The image/pjpeg MIME type is an obsolete, non-standard alias for Progressive JPEG images. It was historically generated by older versions of Microsoft Internet Explorer (specifically IE 6 through IE 8) during file uploads. Both baseline and progressive JPEGs should always use the standard image/jpeg MIME type in modern web development.

Legacy & Web Progressive Production Ready

Technical Specifications

MIME Type
image/pjpeg
Extensions
.jpeg.jpg.pjpeg.pjp.jfif
Container
JPEG (ISO/IEC 10918-1)
Compression
Lossy (DCT)
Algorithms
Discrete Cosine Transform (DCT)
Color Depth
8-bit, 12-bit
Metadata
EXIF XMP ICC
Capabilities
Transparency
Animation
Progressive Loading
Alpha Channel
HDR Support
Official Specification
Aliases: image/jpeg

Magic Bytes & HTTP Headers

File Signature (Magic Bytes)
FF D8 FF E0 (JFIF) / FF D8 FF E1 (Exif)
ASCII: ÿØÿ
HTTP Headers
Content-Type: image/jpeg
HTML Accept Attribute
accept="image/jpeg, image/pjpeg, .jpg, .jpeg"

Browser Support Matrix

Browser Status Min Version
Chrome Chrome
Supported All
Firefox Firefox
Supported All
Safari Safari
Supported All
Edge Edge
Supported All
Internet Explorer Internet Explorer
Supported Legacy

Advantages & Limitations

Advantages
  • Progressive JPEGs (which this MIME type attempted to describe) provide excellent perceived loading speeds on slow connections by rendering a low-resolution preview first
  • Files sent with this MIME type are fully backwards compatible with any standard JPEG decoder
Limitations
  • It is a non-standard MIME type that violates IANA specifications
  • Causes strict file upload validation scripts to fail if not explicitly whitelisted or mapped
  • Creates unnecessary confusion, as the official image/jpeg MIME type already fully encompasses progressive encoding

Developer Code Snippets

import magic
# Libmagic will correctly identify the file as 'image/jpeg' regardless of the 'pjpeg' extension or legacy IE headers
print(magic.from_file('upload.pjp', mime=True)) # Outputs 'image/jpeg'
// In Express.js (Multer), map pjpeg to jpeg to prevent upload rejection
if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/pjpeg') {
  cb(null, true);
}
import "net/http"
// http.DetectContentType will resolve progressive JPEGs to "image/jpeg", completely ignoring the legacy pjpeg alias.
// Standardize legacy IE uploads in PHP
if ($_FILES['image']['type'] == 'image/pjpeg') {
    $_FILES['image']['type'] = 'image/jpeg';
}

File Detection Steps

How to programmatically detect a image/pjpeg file by reading its raw bytes:

  1. 1 Check the first 3 bytes for the standard JPEG signature: FF D8 FF
  2. 2 Map any incoming 'image/pjpeg' Content-Type headers directly to 'image/jpeg' in your backend routing

Software Support

A
All Modern Web Browsers
A
Adobe Photoshop
ImageMagick ImageMagick

Conversion Tools

Share & Embed

Markdown Badge
PJPEG Format Badge
[![PJPEG Format](https://freewebptojpg.com/mime/image/pjpeg/badge.svg)](https://freewebptojpg.com/mime/image/pjpeg)
Interactive iframe Widget
<iframe src="https://freewebptojpg.com/mime/image/pjpeg/embed" width="100%" height="280" style="border:1px solid #cbd5e1;border-radius:8px;" title="PJPEG Specs"></iframe>

JSON API

All data on this page is available as a free, open JSON API. Use it in your project, documentation, or tooling.

GET https://freewebptojpg.com/mime/image/pjpeg.json Open JSON
Free to use
No auth required
CORS enabled
Use from any domain
Cached 24h
Cache-Control headers set

Frequently Asked Questions

Is image/pjpeg a valid MIME type?

No, it is a non-standard MIME type created by Microsoft for older versions of Internet Explorer. The official and universally supported MIME type for all JPEGs, whether progressive or baseline, is image/jpeg.

What is the difference between image/jpeg and image/pjpeg?

Technically, there is no difference in the file structure or rendering capability. An image/pjpeg is just a standard JPEG file (usually encoded progressively) that happened to be uploaded from an old version of Internet Explorer.

How should my backend handle image/pjpeg file uploads?

If you are building a file upload validator, you should map image/pjpeg directly to image/jpeg and process it as a standard JPEG. If you strictly block image/pjpeg, users on legacy corporate systems or older Windows machines may encounter upload errors.

Related Formats

Share this format