Skip to content

PK4 (.pk4)

.pk4 file signature | application/octet-stream

PK4 is a ZIP-based archive format used by id Software’s id Tech 4 engine and maintained as part of that game content packaging ecosystem. It is commonly used to store maps, textures, models, sounds, and other resources for games and mod projects, especially in Doom 3 and related titles. Like other archive formats, it can contain compressed content and should be opened cautiously when obtained from untrusted sources.

Safe

Magic Bytes

Offset 0
50 4B 03 04

Sources: Wikipedia

All Known Signatures

3 signature variants are documented for .pk4 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

.pk4

MIME Type

application/octet-stream

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .pk4 files in Python

Python
def is_pk4(file_path: str) -> bool:
    """Check if file is a valid PK4 by magic bytes."""
    signature = bytes([0x50, 0x4B, 0x03, 0x04])
    with open(file_path, "rb") as f:
        return f.read(4) == signature

How to validate .pk4 files in Node.js

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

How to validate .pk4 files in Go

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

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .pk4 file?

A .pk4 file is identified by the magic bytes 50 4B 03 04 at byte offset 0. PK4 is a ZIP-based archive format used by id Software’s id Tech 4 engine and maintained as part of that game content packaging ecosystem. It is commonly used to store maps, textures, models, sounds, and other resources for games and mod projects, especially in Doom 3 and related titles. Like other archive formats, it can contain compressed content and should be opened cautiously when obtained from untrusted sources.

What are the magic bytes for .pk4 files?

The magic bytes for PK4 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 .pk4 file?

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

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

Is it safe to open .pk4 files?

PK4 (.pk4) 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.