What is MIME type "application/x-ibooks+zip"?

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

application/x-ibooks+zip is a MIME type used for files created by Apple iBooks Author. It bundles all parts of an interactive digital book into one compressed package, much like a ZIP archive.

The format organizes text, images, videos, and interactive elements together. Files using this MIME type carry the IBOOKS extension.

For further details on this file format, see the reference at filext.com.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/x-ibooks+zip    
  

HTML

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


    <a href="file.dat" type="application/x-ibooks+zip">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', 'application/x-ibooks+zip');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

How do I configure Apache or Nginx to serve .ibooks files?

To ensure browsers handle the file correctly, you must define the MIME type in your server configuration. For Apache, add AddType application/x-ibooks+zip .ibooks to your .htaccess or config file. For Nginx, add application/x-ibooks+zip ibooks; inside the types { } block in mime.types.

Can I open application/x-ibooks+zip files on Windows or Android?

Generally, no; this format is proprietary to Apple and designed specifically for the Apple Books app on macOS and iOS. While you can rename the file extension to .zip to extract and view the internal images or text, the interactive book experience will not function on non-Apple operating systems.

What is the difference between an .ibooks file and a standard .epub?

While both use ZIP compression and XML, application/x-ibooks+zip allows for proprietary Apple widgets, specific layouts, and interactivity that standard ePub readers cannot process. Standard application/epub+zip files are open-standard and compatible with a wide range of e-readers, whereas .ibooks files are locked to the Apple ecosystem.

Why is my browser downloading the file as a .zip instead of .ibooks?

This usually happens if the web server is misconfigured and sends the generic application/zip MIME type instead of application/x-ibooks+zip. When the browser sees the generic type, it may default to the .zip extension. Updating your server's MIME type settings usually resolves this issue.

Is the application/x-ibooks+zip format secure?

Since this format is essentially a compressed archive containing web technologies (HTML, CSS, JavaScript), it carries similar risks to web pages. However, because these files are sandboxed within the Apple Books application, the security risk is generally contained compared to executable files.

How can I inspect the contents of an .ibooks file?

Because the +zip suffix indicates a ZIP-based container, you can rename the file extension from .ibooks to .zip. Once renamed, you can open it with any standard archive utility to view the internal assets, such as images, videos, and XML configuration files.

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.