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.
Magic Bytes
Offset 0
50 4B 03 04
Sources: Wikipedia
All Known Signatures
3 signature variants are documented for .pk4 files across multiple sources.
Extension
.pk4
MIME Type
application/octet-stream
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .pk4 files in 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
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
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
/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.