Skip to content

Mozilla Browser Archive (.xpi)

.xpi file signature | application/octet-stream

zip file formatand formats based on it, such asEPUB,JAR,ODF,OOXML

Safe

Magic Bytes

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

Sources: Wikipedia

All Known Signatures

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

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

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);
}

How to validate .xpi files in Go

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

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. zip file formatand formats based on it, such asEPUB,JAR,ODF,OOXML

What are the magic bytes for .xpi files?

The magic bytes for Mozilla Browser Archive files are 50 4B 03 04 50 4B 05 06 50 4B 07 08 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 50 4B 05 06 50 4B 07 08) 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?

There is no officially registered MIME type for .xpi files. Systems typically use application/octet-stream as a generic fallback when handling this format.

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.