What is MIME type "image/vnd.ms-photo"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

image/vnd.ms-photo is a MIME type for advanced image files developed by Microsoft. It is used to store high-quality photos with improved compression and color handling.

This format supports what is known as HD Photo or JPEG XR. It is optimized for efficient storage and fast rendering of detailed images.

Files using this MIME type include those with extensions such as WDP, JXR, WMP, and HDP. They are seen in situations where maintaining image detail is essential.

Learn more about the JPEG XR standard on Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: image/vnd.ms-photo    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="image/vnd.ms-photo">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'image/vnd.ms-photo');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Which browsers support the image/vnd.ms-photo MIME type?

Native browser support for image/vnd.ms-photo is extremely limited. It was primarily supported by Internet Explorer (9+) and legacy versions of Microsoft Edge; modern browsers like Chrome, Firefox, and Safari do not display these files natively. For web usage, it is recommended to convert these files to widely supported formats like image/jpeg or image/png.

How do I configure Apache to serve WDP and JXR files correctly?

To ensure your Apache server sends the correct headers for these files, add the following line to your .htaccess file or server configuration: AddType image/vnd.ms-photo .wdp .jxr .hdp .wmp. This ensures the browser identifies the file as a Microsoft HD Photo rather than a generic binary stream.

What is the difference between image/vnd.ms-photo and image/jxr?

image/vnd.ms-photo is the older, vendor-specific MIME type used when Microsoft first introduced the format as Windows Media Photo. When the format was standardized as JPEG XR, the MIME type image/jxr became the official standard. While they refer to the same underlying technology, older software may specifically look for the vnd.ms-photo identifier.

Why would I use this format over standard JPEG?

Files with the image/vnd.ms-photo type (JPEG XR) support higher dynamic range (HDR), better compression efficiency, and lossless editing capabilities compared to standard JPEGs. However, due to compatibility issues, they are best suited for internal archival or specific Windows-centric workflows rather than general web distribution.

How can I open .wdp or .jxr files on Windows and macOS?

On Windows, the native Photos app and Windows Photo Viewer can open WDP and JXR files without additional software. macOS users generally need third-party tools like XnView or specific plugins for Adobe Photoshop to view or edit these files, as Preview does not natively support them.

How do I add support for this MIME type in Nginx?

You can enable support in Nginx by editing your mime.types file or adding a types block inside your server configuration. Add the following line: image/vnd.ms-photo wdp jxr hdp;. Afterward, reload Nginx to apply the changes.

Are there security risks associated with image/vnd.ms-photo files?

Like any complex image format, parsing libraries can have vulnerabilities (such as buffer overflows) if not kept up to date. Ensure your operating system and image viewing software are patched. Additionally, verify that files uploaded to your server with extensions like WMP are actual images and not disguised executables.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.