PK3

application/octet-stream

Safe

Magic Bytes

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

PK3 is a legacy compressed archive format developed by id Software for use in the Quake III Arena game engine. It serves as a container for storing game assets, including textures, models, sound files, and map data, to optimize loading and organization. Based on the ZIP standard, PK3 files are generally secure, though users should scan archives from third-party sources to prevent the execution of malicious scripts within modified game environments.

Extension

.pk3

MIME Type

application/octet-stream

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .pk3 files in Python

Python
def is_pk3(file_path: str) -> bool:
    """Check if file is a valid PK3 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 .pk3 files in Node.js

Node.js
function isPK3(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 IsPK3(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/pk3
curl https://filesignature.org/api/v1/pk3

Related Formats