GEnealogical Data COMmunication

application/octet-stream

Safe

Magic Bytes

Offset: 0
30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C

GEnealogical Data COMmunication (GEDCOM) is a specification developed by The Church of Jesus Christ of Latter-day Saints for exchanging genealogical data between different software systems. It serves as the de facto standard for structuring familial relationships, events, and metadata, allowing users to migrate family trees across various genealogy applications and online platforms. While primarily a plain-text format that is safe for storage, historical versions lack strict validation, occasionally leading to interoperability issues between modern applications.

Extension

.ged

MIME Type

application/octet-stream

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .ged files in Python

Python
def is_ged(file_path: str) -> bool:
    """Check if file is a valid GED by magic bytes."""
    signature = bytes([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C])
    with open(file_path, "rb") as f:
        return f.read(16) == signature

How to validate .ged files in Node.js

Node.js
function isGED(buffer: Buffer): boolean {
  const signature = Buffer.from([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C]);
  return buffer.subarray(0, 16).equals(signature);
}
Go
func IsGED(data []byte) bool {
    signature := []byte{0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C}
    if len(data) < 16 {
        return false
    }
    return bytes.Equal(data[:16], signature)
}

API Endpoint

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

Related Formats