Skip to content

Adobe Portable Document Format (.pdf)

.pdf file signature | application/pdf

Adobe Portable Document Format, Forms Document Format, and Illustrator graphics filesTrailers:0A 25 25 45 4F 46(.%%EOF)0A 25 25 45 4F 46 0A(.%%EOF.)0D 0A 25 25 45 4F 46 0D 0A(..%%EOF..)0D 25 25 45 4F 46 0D(.%%EOF.)NOTE:There may be multiple end-of-file marks within thefile. When carving, be sure to get the last one.

Safe

Magic Bytes

Offset 0
25 50 44 46 2D

Sources: Apache Tika, Wikipedia

All Known Signatures

6 signature variants are documented for .pdf files across multiple sources.

Hex Signature Offset Sources
25 50 44 46 2D 0 Apache Tika, Wikipedia
25 50 44 46 0 Gary Kessler, Neil Harvey FileSignatures
EF BB BF 25 50 44 46 2D 0 Apache Tika
25 25 0 Apache Tika
25 50 44 46 2D 31 2E 1 Apache Tika
25 50 44 46 2D 32 2E 1 Apache Tika

Extension

.pdf

MIME Type

application/pdf

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .pdf files in Python

Python
def is_pdf(file_path: str) -> bool:
    """Check if file is a valid PDF by magic bytes."""
    signature = bytes([0x25, 0x50, 0x44, 0x46, 0x2D])
    with open(file_path, "rb") as f:
        return f.read(5) == signature

How to validate .pdf files in Node.js

Node.js
function isPDF(buffer: Buffer): boolean {
  const signature = Buffer.from([0x25, 0x50, 0x44, 0x46, 0x2D]);
  return buffer.subarray(0, 5).equals(signature);
}

How to validate .pdf files in Go

Go
func IsPDF(data []byte) bool {
    signature := []byte{0x25, 0x50, 0x44, 0x46, 0x2D}
    if len(data) < 5 {
        return false
    }
    return bytes.Equal(data[:5], signature)
}

API Endpoint

GET /api/v1/pdf
curl https://filesignature.org/api/v1/pdf

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .pdf file?

A .pdf file is a Adobe Portable Document Format file. Adobe Portable Document Format, Forms Document Format, and Illustrator graphics filesTrailers:0A 25 25 45 4F 46(.%%EOF)0A 25 25 45 4F 46 0A(.%%EOF.)0D 0A 25 25 45 4F 46 0D 0A(..%%EOF..)0D 25 25 45 4F 46 0D(.%%EOF.)NOTE:There may be multiple end-of-file marks within thefile. When carving, be sure to get the last one.

What are the magic bytes for .pdf files?

The magic bytes for Adobe Portable Document Format files are 25 50 44 46 2D at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .pdf file?

To validate a .pdf file, read the first bytes of the file and compare them against the known magic bytes (25 50 44 46 2D) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .pdf files?

The primary MIME type for .pdf files is application/pdf.

Is it safe to open .pdf files?

Adobe Portable Document Format (.pdf) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.