HelpDatabase Reference › FTDNA_Tree

FTDNA_Tree Table

The FTDNA_Tree table stores family-tree individuals drawn from the linked family trees of your FTDNA matches. When a match has a public family tree, FTDNA exposes that tree as a list of people, and DNAGedcom records one row per person. A single tree therefore produces many rows, all sharing the same treeId and tree-owner kit number.

Because the data comes directly from each match’s own tree, a person can carry a wide range of detail — name, gender, birth and death information, location, biography, profile picture, ancestral surnames, relationship links to parents and spouse, haplogroups, and test flags. Most fields are stored as strings exactly as FTDNA returns them.

One row per person: A match’s tree is flattened into individual people. The same person can appear under multiple trees if several matches include that person in their own trees. Rows are de-duplicated on the combination of treeId and personKitNum, so the same tree is not stored twice.

Column Reference

Identifiers

ColumnTypeDescription
Idint (PK)Auto-incrementing primary key
treeIdstringFTDNA’s identifier for the person within the tree. Combined with personKitNum, identifies the tree this row belongs to.
personKitNumstringThe tree owner’s kit number (the match whose tree this person came from)
personKitNumDirtystringRaw/unprocessed form of the kit number as returned by FTDNA
contactIdstringFTDNA contact identifier associated with the person

Person

ColumnTypeDescription
person_prefixstringName prefix (e.g., “Dr.”, “Rev.”)
person_firstNamestringFirst (given) name
person_middleNamestringMiddle name
person_lastNamestringLast (family) name
person_suffixstringName suffix (e.g., “Jr.”, “III”)
person_genderstringGender as recorded in the tree

Birth & Death

ColumnTypeDescription
person_birthDaystringDay of birth
person_birthMonthstringMonth of birth
person_birthYearstringYear of birth
person_birthPlacestringPlace of birth
person_livingstringWhether the person is marked as living
person_deathDaystringDay of death
person_deathMonthstringMonth of death
person_deathYearstringYear of death
person_deathPlacestringPlace of death

Profile & Contact

ColumnTypeDescription
person_emailstringEmail address recorded for the person
person_locationstringLocation/residence
person_storystringBiographical story or notes from the tree
person_pictureUrlstringURL of the person’s profile picture
person_newPictureIdstringFTDNA identifier for the profile picture
person_pictureCropXstringPicture crop — X offset
person_pictureCropYstringPicture crop — Y offset
person_pictureCropWstringPicture crop — width
person_pictureCropHstringPicture crop — height
person_hasSurnamesChangedstringFlag indicating the person’s surname list was changed
person_surnamesstringAncestral surnames associated with the person

Ancestry

ColumnTypeDescription
paternalAncestorstringPaternal ancestor name (from FTDNA’s paternalAncestorName)
maternalAncestorstringMaternal ancestor name (from FTDNA’s maternalAncestorName)

Relationships

ColumnTypeDescription
motherIdstringTree identifier of the person’s mother
fatherIdstringTree identifier of the person’s father
spouseIdstringTree identifier of the person’s spouse
generationstringGeneration level within the tree
dependsOnIdstringIdentifier of the person this entry depends on within the tree structure
duplicateOfIdstringIdentifier of another person this entry is a duplicate of, when FTDNA flags one

Haplogroups & Tests

ColumnTypeDescription
yHaploGroupstringY-DNA haplogroup
mtHaploGroupstringMitochondrial (mtDNA) haplogroup
hasFamilyFinderstringWhether the person has a Family Finder (autosomal) test
isFamilyFinderMatchstringWhether the person is a Family Finder match
hasYTeststringWhether the person has a Y-DNA test
isyTestMatchstringWhether the person is a Y-DNA match
yTestNamestringName of the Y-DNA test
hasMtTeststringWhether the person has an mtDNA test
isMtTestMatchstringWhether the person is an mtDNA match
mtMatchTeststringName/identifier of the mtDNA match test
isMatchstringWhether the person corresponds to one of your DNA matches

Flags & Other

ColumnTypeDescription
imageFilestringImage file reference for the person
notesstringNotes recorded on the person
isTreeOwnerstringWhether this person is the owner of the tree
isFamilyPedigreestringWhether the person is part of the family pedigree view
isLinkedstringWhether the person is linked to a DNA test
privacyLevelstringPrivacy level set on the person in the tree
isInspectablestringWhether the person’s details may be inspected
sendLinkNotificationstringWhether a link notification should be sent
created_datestringDate the row was gathered (yyyy-MM-dd)

How It’s Populated

For each match that has a linked family tree, DNAGedcom requests that tree from FTDNA’s tree endpoint (the “get tree people” service). FTDNA returns the tree as a list of people, and the gatherer walks the list, mapping each person’s fields — name parts, gender, birth/death details, location, story, picture data, surnames, parent/spouse links, haplogroups, and test flags — into a new FTDNA_Tree row. The tree owner’s kit number is stored in personKitNum, and created_date is stamped with the gather date.

Before inserting, the application checks whether a row already exists with the same treeId and personKitNum; if so, the person is skipped, so re-gathering a tree does not create duplicates.

Related Tables

  • FTDNA_Matches2 — the match list. A match’s linked-tree URL is what drives tree gathering; tree rows join back to matches by kit number.
  • FTDNA_ICW2 — In Common With (shared matches) for FTDNA kits.
  • FTDNA_Chromo2 — shared chromosome-browser segments between two FTDNA kits.