XPI

application/octet-stream

Safe

Magic Bytes

Offset: 0
50 4B 03 04 50 4B 05 06 50 4B 07 08

Cross-Platform Installer (XPI) is a ZIP-based installation archive format created and maintained by the Mozilla Foundation. It is primarily used to distribute extensions, themes, and plugins for Mozilla software, including the Firefox web browser and Thunderbird email client. While modern implementations utilize the WebExtensions API for improved security, legacy XPI files frequently contained privileged XPCOM components that required mandatory digital signatures to verify authenticity and prevent unauthorized system-level modifications.

Extension

.xpi

MIME Type

application/octet-stream

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .xpi files in Python

Python
def is_xpi(file_path: str) -> bool:
    """Check if file is a valid XPI by magic bytes."""
    signature = bytes([0x50, 0x4B, 0x03, 0x04, 0x50, 0x4B, 0x05, 0x06, 0x50, 0x4B, 0x07, 0x08])
    with open(file_path, "rb") as f:
        return f.read(12) == signature

How to validate .xpi files in Node.js

Node.js
function isXPI(buffer: Buffer): boolean {
  const signature = Buffer.from([0x50, 0x4B, 0x03, 0x04, 0x50, 0x4B, 0x05, 0x06, 0x50, 0x4B, 0x07, 0x08]);
  return buffer.subarray(0, 12).equals(signature);
}
Go
func IsXPI(data []byte) bool {
    signature := []byte{0x50, 0x4B, 0x03, 0x04, 0x50, 0x4B, 0x05, 0x06, 0x50, 0x4B, 0x07, 0x08}
    if len(data) < 12 {
        return false
    }
    return bytes.Equal(data[:12], signature)
}

API Endpoint

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

Related Formats