Skip to content

XML paper specification file magic bytes (.xps)

.xps file signature: 50 4B 03 04 | application/vnd.ms-xpsdocument

Category: Documents

XML Paper Specification (XPS) is a fixed-layout document format developed by Microsoft and standardized through ECMA and ISO. It is used for document viewing, printing, archiving, and sharing pages with preserved layout, commonly in Windows applications and print workflows. XPS is generally safe to open, though files may contain embedded resources and should still be handled cautiously when received from untrusted sources; adoption has also declined in favor of PDF.

Safe

Magic Bytes

Offset 0
50 4B 03 04

Sources: Gary Kessler

Validation Code

How to validate .xps files in Python

Python
def is_xps(file_path: str) -> bool:
    """Check if file is a valid XPS by magic bytes."""
    signature = bytes([0x50, 0x4B, 0x03, 0x04])
    with open(file_path, "rb") as f:
        return f.read(4) == signature

How to validate .xps files in Node.js

Node.js
function isXPS(buffer: Buffer): boolean {
  const signature = Buffer.from([0x50, 0x4B, 0x03, 0x04]);
  return buffer.subarray(0, 4).equals(signature);
}

How to validate .xps files in Go

Go
func IsXPS(data []byte) bool {
    signature := []byte{0x50, 0x4B, 0x03, 0x04}
    if len(data) < 4 {
        return false
    }
    return bytes.Equal(data[:4], signature)
}

API Endpoint

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

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .xps file?

A .xps file is an XML paper specification file. XML Paper Specification (XPS) is a fixed-layout document format developed by Microsoft and standardized through ECMA and ISO. It is used for document viewing, printing, archiving, and sharing pages with preserved layout, commonly in Windows applications and print workflows. XPS is generally safe to open, though files may contain embedded resources and should still be handled cautiously when received from untrusted sources; adoption has also declined in favor of PDF.

What are the magic bytes for .xps files?

The magic bytes for XML paper specification file (.xps) files are 50 4B 03 04 at byte offset 0. These bytes identify the file format more reliably than the extension alone.

How do I validate a .xps file?

To validate a .xps file, read the first bytes of the file and compare them against the known magic bytes (50 4B 03 04) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .xps files?

The primary MIME type for .xps files is application/vnd.ms-xpsdocument.

Is it safe to open .xps files?

XML paper specification file (.xps) 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.