Skip to content

PK3 (.pk3)

.pk3 file signature | application/octet-stream

PK3 is a ZIP-based archive format introduced by id Software for the Quake III Arena engine and related id Tech 3 games. It is used to package game assets such as maps, textures, sounds, scripts, and modification files for distribution and loading by compatible games and tools. Because it is an ordinary archive container, it may carry the same security concerns as other compressed files, including malformed or malicious content.

Safe

Magic Bytes

Offset 0
50 4B 03 04

Sources: Wikipedia

All Known Signatures

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

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

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

How to validate .pk3 files in Node.js

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

How to validate .pk3 files in Go

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

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .pk3 file?

A .pk3 file is identified by the magic bytes 50 4B 03 04 at byte offset 0. PK3 is a ZIP-based archive format introduced by id Software for the Quake III Arena engine and related id Tech 3 games. It is used to package game assets such as maps, textures, sounds, scripts, and modification files for distribution and loading by compatible games and tools. Because it is an ordinary archive container, it may carry the same security concerns as other compressed files, including malformed or malicious content.

What are the magic bytes for .pk3 files?

The magic bytes for PK3 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 .pk3 file?

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

The primary MIME type for .pk3 files is application/octet-stream.

Is it safe to open .pk3 files?

PK3 (.pk3) 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.