UTOC

application/octet-stream

Safe

Magic Bytes

Offset: 0
2D 3D 3D 2D 2D 3D 3D 2D 2D 3D 3D 2D 2D 3D 3D 2D

The Universal Table of Contents (UTOC) is a metadata index format developed by Epic Games for the Unreal Engine 5 Zen Store. This format serves as a mapping directory to help the engine locate and stream assets stored within corresponding UCAS container files during gameplay. Because these files contain structural data rather than executable code, they are considered safe, though they are proprietary and primarily used for large-scale video game data management.

Extension

.utoc

MIME Type

application/octet-stream

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .utoc files in Python

Python
def is_utoc(file_path: str) -> bool:
    """Check if file is a valid UTOC by magic bytes."""
    signature = bytes([0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D])
    with open(file_path, "rb") as f:
        return f.read(16) == signature

How to validate .utoc files in Node.js

Node.js
function isUTOC(buffer: Buffer): boolean {
  const signature = Buffer.from([0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D]);
  return buffer.subarray(0, 16).equals(signature);
}
Go
func IsUTOC(data []byte) bool {
    signature := []byte{0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D, 0x2D, 0x3D, 0x3D, 0x2D}
    if len(data) < 16 {
        return false
    }
    return bytes.Equal(data[:16], signature)
}

API Endpoint

GET /api/v1/utoc
curl https://filesignature.org/api/v1/utoc

Related Formats