Quicken data file
application/octet-stream
Magic Bytes
Offset: 0
51 20 BE FF E5 00 6F 00 6F 00 74 00 20 00 45 00 6E 00 74 00 72 00 79 00
The Quicken Data File (QSD) is a proprietary storage format developed by Intuit for its personal finance management software suite. This format stores financial records, including individual transaction histories, account balances, and investment data, for end users. As a legacy format primarily associated with earlier versions of Quicken for Windows, it has largely been superseded by the standard QDF extension in current software releases while remaining a stable format for archival purposes.
Validation Code
How to validate .qsd files in Python
Python
def is_qsd(file_path: str) -> bool:
"""Check if file is a valid QSD by magic bytes."""
signature = bytes([0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00])
with open(file_path, "rb") as f:
return f.read(24) == signature
How to validate .qsd files in Node.js
Node.js
function isQSD(buffer: Buffer): boolean {
const signature = Buffer.from([0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00]);
return buffer.subarray(0, 24).equals(signature);
}
Go
func IsQSD(data []byte) bool {
signature := []byte{0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00}
if len(data) < 24 {
return false
}
return bytes.Equal(data[:24], signature)
}
API Endpoint
GET
/api/v1/qsd
curl https://filesignature.org/api/v1/qsd