Skip to content

FamilySearch/GEDCOM

Repository files navigation

FamilySearch GEDCOM

The official FamilySearch GEDCOM specification for exchanging genealogical data.

This repository is for the collaborative development of the FamilySearch GEDCOM specification. If you are looking for the specification itself, see https://gedcom.io.

If you are looking for FamilySearch's GEDCOM 5.5.1 Java parser, which previously had this same repository name, see https://github.com/familysearch/gedcom5-java

Repository structure

  • changelog.md is a running log of major changes made to the specification.
  • exid-types.json is a JSON file containing registered EXID-TYPE values.
  • specification/ contains the FamilySearch GEDCOM specification:
    • specification/gedcom-number-title.md files are the source documents used to define the FamilySearch GEDCOM specification. It is written in pandoc-flavor markdown and is intended to be more easily written than read. It is split into several files (ordered by the integer in their names) to facilitate comparing files.
    • In a local check-out, this is also where the build scripts place rendered files gedcom.html and gedcom.pdf; see releases for a pre-rendered copy of these.
    • specification/terms/
  • build/ contains files needed to render the specification
  • extracted-files/ contains digested information automatically extracted from the specification. All files in this directory are automatically generated by scripts in the build/ directory.
  • version-detection/ contains the FamilySearch GEDCOM version detection specification:
    • version-detection/version-detection.md describes how to detect the GEDCOM version of a file.

Branches

  • main contains the current release. Patch versions are generally pushed directly to main upon approval.

  • v7.1 contains a working draft of the next minor release. Changes from main have been discussed and approved by the working group supervising the next minor release, meaning they are (a) minor, not major, changes, as described in A Guide to Version Numbers and (b) have been judged as meeting all three of the following criteria for inclusion:

    • Valuable: they are present in historical records and are either defining aspects of a person's life or otherwise important for informing research or creating life summaries
    • Absent: they are meaningfully distinct from, and not merely a more detailed subtype of, existing structure types
    • Used: multiple family history applications with active user bases either use it now or have expressed a desire to add it as soon as it is available in the standard

    Until v7.1 is released, this branch may be changed at any time without notice.

  • sandbox contains candidate text for various possible changes that might or might not be included in future releases, often because they have not yet been demonstrated to meet the "used" criteria.

  • All other branches are for conversation drafts, potentially to be incorporated into one of the above branches or to be deleted.