ODG
application/vnd.oasis.opendocument.graphics
Magic Bytes
Offset: 0
50 4B
OpenDocument Graphics (ODG) is an XML-based vector image format developed and maintained by the Organization for the Advancement of Structured Information Standards (OASIS). It serves as the native format for drawing applications like LibreOffice Draw and Apache OpenOffice Draw, facilitating the creation of diagrams, flowcharts, and technical illustrations. As an open standard, ODG files are ZIP-compressed archives containing XML data; while generally secure, users should exercise caution as they can theoretically embed macros or external scripts.
Validation Code
How to validate .odg files in Python
Python
def is_odg(file_path: str) -> bool:
"""Check if file is a valid ODG by magic bytes."""
signature = bytes([0x50, 0x4B])
with open(file_path, "rb") as f:
return f.read(2) == signature
How to validate .odg files in Node.js
Node.js
function isODG(buffer: Buffer): boolean {
const signature = Buffer.from([0x50, 0x4B]);
return buffer.subarray(0, 2).equals(signature);
}
Go
func IsODG(data []byte) bool {
signature := []byte{0x50, 0x4B}
if len(data) < 2 {
return false
}
return bytes.Equal(data[:2], signature)
}
API Endpoint
GET
/api/v1/odg
curl https://filesignature.org/api/v1/odg