0 HEAD  ·  1 GEDC  ·  2 VERS 5.5.1 / 7.0

The GEDCOM format, in plain English.

GEDCOM (GEnealogical Data COMmunication) is the file format family history travels in — a plain-text standard created by FamilySearch in 1984 that every genealogy program can read and write. A .ged file looks cryptic in Notepad, but the structure underneath is simple. Here it is.

Every line has the same shape

A GEDCOM file is nothing but lines, and every line follows one grammar: a level number, an optional @-fenced ID, a tag, and a value. The level numbers create the hierarchy — a line at level 2 gives detail about the level-1 line above it, the way indentation works in an outline.

// one person, annotated 0 @I5@ INDI // start a record: an individual with ID @I5@ 1 NAME Karl /Lindqvist/ // surname sits between slashes 1 SEX M 1 BIRT // a birth event… 2 DATE 7 JAN 1920 // …detailed by level-2 lines 2 PLAC Göteborg, Sweden 1 FAMC @F4@ // child in family @F4@ 1 FAMS @F2@ // spouse in family @F2@

Two record types do almost all the work

At level 0, a file is a list of records: a HEADer, then mostly INDI (individual) and FAM (family) records, plus supporting SOUR (source), NOTE, and OBJE (media) records, and finally a TRLR trailer that marks the file as complete.

The crucial idea: people are never linked to people directly. They are linked through families. An individual points at families with FAMC (“I am a child of this family”) and FAMS (“I am a partner in this family”); the family record points back with HUSB, WIFE, and one CHIL line per child. Siblings, then, are simply people whose FAMC points at the same family — the format never states sibling relationships at all. When these two-way links disagree, people silently vanish during imports, which is exactly what the validator checks for.

// the family connecting people together 0 @F2@ FAM 1 HUSB @I5@ // Karl, from above 1 WIFE @I6@ 1 CHIL @I3@ 1 CHIL @I7@ 1 MARR 2 DATE 14 MAY 1946

Dates are text with a vocabulary

The exact form is 2 JUN 1985 — day, three-letter English month, year — but genealogy is full of uncertainty, so the format has qualifiers: ABT (about), BEF / AFT (before/after), EST and CAL (estimated/calculated), ranges like BET 1900 AND 1905, periods like FROM 1920 TO 1926, and dual years like 1750/51 for the old-style/new-style calendar switch. Partial dates — a year alone, or a month and year — are valid too.

Encodings: the ANSEL surprise

Modern files are UTF-8, but GEDCOM predates Unicode, and files in the wild come in UTF-8, UTF-16, Windows-1252, and ANSEL — a pre-Unicode library standard with a famous quirk: accents are stored before the letter they sit on. A naive reader shows Göteborg as G¨oteborg. The declared 1 CHAR header line says which encoding a file uses, though it isn't always telling the truth — good readers verify rather than trust it.

5.5, 5.5.1, and 7.0 — what actually changed

VersionYearWhat it means in practice
GEDCOM 5.51996The long-reigning standard. ANSEL or ASCII text, 255-character lines, CONC/CONT continuation for long values.
GEDCOM 5.5.11999 / 2019A modest update — UTF-8 allowed, email/web fields, a few tags added and retired. A “draft” for twenty years yet the de-facto standard; it's what Ancestry, MyHeritage, and most desktop programs export today. Formally ratified in 2019.
GEDCOM 7.02021The real modernisation: UTF-8 only (no CHAR guessing), CONC abolished, no line-length limit, a clean extension mechanism, and GEDZIP — a zip that bundles the .ged with its photos, fixing the format's oldest complaint. FamilySearch's new tree export produces 7.0 natively.

Frequently confused

Is a .ged file the same as GEDCOM? Yes — .ged is just the file extension the GEDCOM standard uses. Does GEDCOM contain photos? Not in versions 5.x: it stores references to media files, not the files themselves (GEDZIP in 7.0 finally bundles them). Can I edit one by hand? It's plain text, so yes — carefully. Keep the level structure intact and re-check with the validator afterwards.

See it for yourself

The fastest way to internalise the format is to read a small real file next to its rendered tree: download a sample GEDCOM file, open it in a text editor, and load the same file in the viewer — which shows every person's raw GEDCOM record alongside their profile.