Skip to content

Mozilla Browser Archive (.xpi)

.xpi file signature | application/x-xpinstall

Mozilla Browser Archive (XPI) is a package format created and maintained by Mozilla for distributing browser extensions and related add-ons. It is primarily used to install extensions, themes, and other components for Firefox and other Mozilla-based applications. Because XPI files can contain executable code and configuration data, they should be installed only from trusted sources; older add-on formats are now largely superseded by WebExtensions.

Safe

Magic Bytes

Offset 0
50 4B 03 04

Sources: Wikipedia, Gary Kessler

All Known Signatures

3 signature variants are documented for .xpi files across multiple sources.

Hex Signature Offset Sources
50 4B 03 04 0 Wikipedia, Gary Kessler
50 4B 05 06 0 Wikipedia
50 4B 07 08 0 Wikipedia

Extension

.xpi

MIME Type

application/x-xpinstall

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])
    with open(file_path, "rb") as f:
        return f.read(4) == signature

How to validate .xpi files in Node.js

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

How to validate .xpi files in Go

Go
func IsXPI(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/xpi
curl https://filesignature.org/api/v1/xpi

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .xpi file?

A .xpi file is a Mozilla Browser Archive file. Mozilla Browser Archive (XPI) is a package format created and maintained by Mozilla for distributing browser extensions and related add-ons. It is primarily used to install extensions, themes, and other components for Firefox and other Mozilla-based applications. Because XPI files can contain executable code and configuration data, they should be installed only from trusted sources; older add-on formats are now largely superseded by WebExtensions.

What are the magic bytes for .xpi files?

The magic bytes for Mozilla Browser Archive files are 50 4B 03 04 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .xpi file?

To validate a .xpi 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 .xpi files?

The primary MIME type for .xpi files is application/x-xpinstall.

Is it safe to open .xpi files?

Mozilla Browser Archive (.xpi) 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.