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.
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
MIME Type
application/pdf
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .pdf files in 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
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
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
/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.