INX
application/x-adobe-indesign-interchange
Magic Bytes
Offset: 0
3C 3F 61 69 64
The InDesign Interchange (INX) format is an XML-based representation developed by Adobe Systems for the InDesign desktop publishing software. Its primary function was enabling backward compatibility, allowing documents created in newer versions of InDesign to be exported for use in immediately preceding releases. Now considered a legacy format, INX has been superseded by the InDesign Markup Language (IDML) but remains viewable in standard text editors due to its underlying text-based structure.
Validation Code
How to validate .inx files in Python
Python
def is_inx(file_path: str) -> bool:
"""Check if file is a valid INX by magic bytes."""
signature = bytes([0x3C, 0x3F, 0x61, 0x69, 0x64])
with open(file_path, "rb") as f:
return f.read(5) == signature
How to validate .inx files in Node.js
Node.js
function isINX(buffer: Buffer): boolean {
const signature = Buffer.from([0x3C, 0x3F, 0x61, 0x69, 0x64]);
return buffer.subarray(0, 5).equals(signature);
}
Go
func IsINX(data []byte) bool {
signature := []byte{0x3C, 0x3F, 0x61, 0x69, 0x64}
if len(data) < 5 {
return false
}
return bytes.Equal(data[:5], signature)
}
API Endpoint
GET
/api/v1/inx
curl https://filesignature.org/api/v1/inx