CR3
image/x-canon-cr3
Magic Bytes
Offset: 4
66 74 79 70 63 72 78 20
Canon Raw 3 (CR3) is a proprietary raw image file format developed and maintained by Canon Inc. for use in its digital camera systems. It stores unprocessed sensor data based on the ISO Base Media File Format, primarily used by professional photographers for high-fidelity image editing and post-processing. Introduced in 2018 to succeed the CR2 format, CR3 files utilize efficient compression and are generally considered secure for storage within standard photography workflows.
Validation Code
How to validate .cr3 files in Python
Python
def is_cr3(file_path: str) -> bool:
"""
Check if file is a valid CR3 by magic bytes.
Signature offset: 4 bytes
"""
signature = bytes([0x66, 0x74, 0x79, 0x70, 0x63, 0x72, 0x78, 0x20])
with open(file_path, "rb") as f:
f.seek(4)
return f.read(8) == signature
How to validate .cr3 files in Node.js
Node.js
function isCR3(buffer: Buffer): boolean {
// Signature offset: 4 bytes
const signature = Buffer.from([0x66, 0x74, 0x79, 0x70, 0x63, 0x72, 0x78, 0x20]);
if (buffer.length < 12) return false;
return buffer.subarray(4, 12).equals(signature);
}
Go
func IsCR3(data []byte) bool {
// Signature offset: 4 bytes
signature := []byte{0x66, 0x74, 0x79, 0x70, 0x63, 0x72, 0x78, 0x20}
if len(data) < 12 {
return false
}
return bytes.Equal(data[4:12], signature)
}
API Endpoint
GET
/api/v1/cr3
curl https://filesignature.org/api/v1/cr3