25

PDF file signature

Magic number at the start of the file · %PDF-

25 50 44 46 2D

A PDF begins with %PDF- followed by its version, for example %PDF-1.7. Modern Adobe Illustrator (.ai) files are PDF-compatible and start with the same bytes, so they are detected as PDF.

Hex signature
25 50 44 46 2D
Offset
0 (start of file)
ASCII
%PDF-
Length
5 bytes

What this magic number means

A magic number is a short, fixed run of bytes at a known position that tells a program what a file really is, no matter what the filename says. If a file starts with the bytes 25 50 44 46 2D (the text %PDF-), it is a PDF file.

End-of-file marker

This format is identified by a trailer, not a header. The bytes 25 25 45 4F 46 appear near the end of the file (%%EOF marks the end of a PDF).

Formats that use the 25 50 44 46 signature

These file types in our database carry this signature:

How to check a file's signature

You can read the first bytes of any file yourself. The magic bytes are shown in hex, the same way this page lists them.

Linux & macOS

  • xxd -l 16 example.pdf
  • hexdump -C -n 16 example.pdf
  • file example.pdf

Windows (PowerShell)

  • Format-Hex -Path example.pdf -Count 16

Python

  • open("example.pdf","rb").read(5).hex()

In your browser

Frequently asked questions

What is the PDF file signature?

PDF files start with the hex bytes 25 50 44 46 2D (%PDF- in ASCII). This magic number identifies the format regardless of the file's name or extension.

How do I check a file's magic number?

Open the file in a hex editor, or run a command such as xxd -l 16 example.pdf on Linux or macOS, or Format-Hex -Path example.pdf -Count 16 in Windows PowerShell, and read the first bytes.

Can a file fake the PDF signature?

Renaming a file does not change its bytes, so the extension can lie but the signature usually cannot. A genuine PDF file has these exact bytes; a file with the wrong bytes is not really PDF, whatever its name says.

Related signatures

Sources