Skip to content

EPSF magic bytes (.epsf)

.epsf file signature: 25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30 | application/postscript

Category: Images

Encapsulated PostScript File (EPSF) is a legacy PostScript-based graphics format created by Adobe Systems and defined as part of the PostScript ecosystem. It is used for placing vector illustrations, logos, and page elements in desktop publishing, illustration, and print-production workflows. Because it can contain embedded PostScript code, files from untrusted sources should be handled carefully, although the format is generally considered safe when viewed with compatible software.

Safe

Magic Bytes

Offset 0
25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30

Sources: Apache Tika, Wikipedia

All Known Signatures

5 signature variants are documented for .epsf files across multiple sources.

Hex Signature Offset Sources
25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30 0 Apache Tika, Wikipedia
25 21 0 Apache Tika
04 25 21 0 Apache Tika
C5 D0 D3 C6 0 Apache Tika
25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 31 20 45 50 53 46 2D 33 2E 30 0 Wikipedia

Validation Code

How to validate .epsf files in Python

Python
def is_epsf(file_path: str) -> bool:
    """Check if file is a valid EPSF by magic bytes."""
    signature = bytes([0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x2D, 0x33, 0x2E, 0x30, 0x20, 0x45, 0x50, 0x53, 0x46, 0x2D, 0x33, 0x2E, 0x30])
    with open(file_path, "rb") as f:
        return f.read(23) == signature

How to validate .epsf files in Node.js

Node.js
function isEPSF(buffer: Buffer): boolean {
  const signature = Buffer.from([0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x2D, 0x33, 0x2E, 0x30, 0x20, 0x45, 0x50, 0x53, 0x46, 0x2D, 0x33, 0x2E, 0x30]);
  return buffer.subarray(0, 23).equals(signature);
}

How to validate .epsf files in Go

Go
func IsEPSF(data []byte) bool {
    signature := []byte{0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x2D, 0x33, 0x2E, 0x30, 0x20, 0x45, 0x50, 0x53, 0x46, 0x2D, 0x33, 0x2E, 0x30}
    if len(data) < 23 {
        return false
    }
    return bytes.Equal(data[:23], signature)
}

API Endpoint

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

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .epsf file?

A .epsf file is identified by the magic bytes 25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30 at byte offset 0. Encapsulated PostScript File (EPSF) is a legacy PostScript-based graphics format created by Adobe Systems and defined as part of the PostScript ecosystem. It is used for placing vector illustrations, logos, and page elements in desktop publishing, illustration, and print-production workflows. Because it can contain embedded PostScript code, files from untrusted sources should be handled carefully, although the format is generally considered safe when viewed with compatible software.

What are the magic bytes for .epsf files?

The magic bytes for EPSF (.epsf) files are 25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30 at byte offset 0. These bytes identify the file format more reliably than the extension alone.

How do I validate a .epsf file?

To validate a .epsf file, read the first bytes of the file and compare them against the known magic bytes (25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 2E 30) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .epsf files?

The primary MIME type for .epsf files is application/postscript.

Is it safe to open .epsf files?

EPSF (.epsf) 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.