What is MIME type "application/pdf"?

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

The MIME type application/pdf tells a computer how to handle documents in the Portable Document Format. It ensures that text, images, and layout stay the same no matter which device or software is used.
Files using this MIME type are most often PDF files. Some AI files from Adobe Illustrator can also use it because they share similar foundations.
This MIME type lets operating systems and web browsers know to launch a PDF viewer or plug-in so you can see the document exactly as intended. For more details on PDF and its usage, visit Adobe or check out FileInfo.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/pdf    
  

HTML

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


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

Associated file extensions

FAQs

How do I force a PDF to download instead of opening in the browser?

To force a file download, you must set the Content-Disposition HTTP header to attachment. For example, sending Content-Disposition: attachment; filename="document.pdf" tells the browser to save the file rather than using its built-in PDF viewer.

Is application/x-pdf the same as application/pdf?

No, application/pdf is the official, IANA-registered standard and should always be used. The type application/x-pdf is a non-standard, experimental variation used in the past, but modern browsers and servers expect the standard version.

Why are some Adobe Illustrator (.ai) files detected as application/pdf?

Modern Adobe Illustrator files often contain an embedded PDF-compatible version to allow other applications to preview the content. Because of this shared internal structure, MIME sniffing tools sometimes identify .ai files as application/pdf.

How do I configure Apache to serve PDF files correctly?

You can ensure Apache serves the correct content type by adding AddType application/pdf .pdf to your .htaccess or main configuration file. This guarantees that the server sends the Content-Type: application/pdf header to the client.

What happens if a server sends a PDF with the wrong MIME type?

If a server sends a PDF as text/plain, the browser may display a page full of garbled characters and binary code. If sent as application/octet-stream, the browser will usually force a download because it doesn't know it is safe to display the file.

Are files with the application/pdf MIME type safe?

While the format itself is standard, PDF files can support embedded scripts (JavaScript) which may be used maliciously. Always ensure your PDF viewer is up to date, as older versions may have vulnerabilities that can be exploited via this MIME type.

How do I add PDF support to Nginx?

Nginx usually includes PDF support by default via the mime.types file. If it is missing, you can manually add application/pdf pdf; inside the types { ... } block in your nginx.conf to ensure proper handling.

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.