MAFF
application/octet-stream
Magic Bytes
Offset: 0
50 4B 03 04 50 4B 05 06 50 4B 07 08
The Mozilla Archive Format (MAFF) is a web archiving file format developed by the Mozilla community to save complete web pages into a single file. Unlike standard HTML saving methods that separate assets, MAFF compresses the page content, images, and metadata using ZIP compression. This format is now considered obsolete, as native support was removed from modern Firefox versions, though third-party utilities can still extract the archived contents.
Validation Code
How to validate .maff files in Python
Python
def is_maff(file_path: str) -> bool:
"""Check if file is a valid MAFF 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 .maff files in Node.js
Node.js
function isMAFF(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 IsMAFF(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/maff
curl https://filesignature.org/api/v1/maff