DRAFT Release 5.4

     21 August 1995

                    Note:    This draft is released for review only. Comments can be returned via INTERNET: GEDCOM@GEDCOM.ORG

    Prepared by the

    Family History Department

    The Church of Jesus Christ of Latter-day Saints

    Suggestions and Correspondence:


    Family History Department

    ATTN: GEDCOM Coordinator_3T

    50 East North Temple Street

    Salt Lake City, UT 84150


    Telephone (USA)    801-240-4534


Copyright © 1987, 1989, 1992, 1993, 1995 by The Church of Jesus Christ of Latter-day Saints. This document may be copied for purposes of review or programming of genealogical software, provided this notice is included. All other rights reserved.


        Introduction      3

            Purpose and Content of The GEDCOM Standard      3

            Purposes for Version 5.x      3

            Changes Introduced in Version 5.3      4

            Changes Introduced or Modified in Version 5.4      5

            GEDCOM Product Registration      7

        Chapter 1

Data Representation Grammar     9

            Concepts      9

            GRAMMAR      9

            Description of Grammar Components      13

        Chapter 2

Lineage-Linked Grammar     17

            Record Structures of the Lineage-Linked Form      21

            Substructures of the Lineage-Linked Form      27

            Primitive Elements of the Lineage-Linked Form      35

            Compatibility with Other GEDCOM Versions      52

            Packaging the GEDCOM Transmission File      54

            Sample Lineage-Linked GEDCOM Transmission      54

        Chapter 3

Using Character Sets in GEDCOM     59

            8-Bit ANSEL      59

            ASCII (USA Version)      60

            UNICODE (ISO 10646)      60

         Appendix A      63

            Lineage-Linked GEDCOM Tag Definition      63

         Appendix B      73

            Structure Cross Reference      73

            Primitive Cross Reference      75

         Appendix C      79

            LDS Temple Codes      79

         Appendix D      82

            ANSEL Character Set      82

                Non-spacing graphic characters      82

                Spacing graphic characters      84


GEDCOM was developed by the Family History Department of The Church of Jesus Christ of Latter-day Saints (LDS Church) to provide a flexible, uniform format for exchanging computerized genealogical data. GEDCOM is an acronym for GEnealogical Data Communication. Its purpose is to foster the sharing of genealogical information and the development of a wide range of inter-operable software products to assist genealogists, historians, and other researchers.

Purpose and Content of The GEDCOM Standard

The GEDCOM Standard is a technical document written for computer programmers, system developers, and technically sophisticated users. It covers the following topics:

*    GEDCOM Data Representation Grammar (see Chapter 1)

*    Lineage-Linked Grammar (see Chapter 2, beginning on page )

*    ANSEL Character Codes (see Chapter 3, beginning on page , and Appendix D beginning on page )

*    Cross Reference of Structures and Primitives (see Appendix B beginning on page )

*    Lineage-Linked GEDCOM Tags (see Chapter 2, beginning on page and Appendix A, )

This document describes GEDCOM at two different levels. Chapter 1 describes the lower level, known as the GEDCOM data format. This is a general-purpose data representation language for representing any kind of structured information in a sequential medium. It discusses the syntax and identification of structured information in general, but it does not deal with the semantic content of any particular kind of data. It is, therefore, also useful to people using GEDCOM for storing other types of data, not just genealogical data.

Chapter 2 of this document describes the higher level, known as a GEDCOM form. Each type of data that uses the GEDCOM data format has a specific GEDCOM form. This document discusses only one GEDCOM form: the Lineage-Linked GEDCOM Form. This is the form commercial software developers use to create genealogical software systems that can exchange compiled information about individuals with accompanying family, source, submitter, and note records. Other GEDCOM forms have been used for other kinds of data, including several that are not related to genealogy. These forms are not publicly exchanged at this time, and they are not discussed in this document.

Purposes for Version 5.x

Earlier versions of The GEDCOM Standard were released in October 1987 (3.0) and August 1989 (4.0). Versions 1 and 2 were drafts for public discussion and were not established as a standard.

The 5.x series of drafts includes both the first standard definition of the Lineage-Linked GEDCOM Form and also the first major expansion of the Lineage-Linked Form since its initial use in GEDCOM 3.0. The GEDCOM-compatible products registered as 4.0 systems should still be able to obtain all of the data that was previously handled by their product from GEDCOM 5.x systems. See "Compatibility with Previous GEDCOM Releases," (starting on page ) for compatibility specifics.

The 5.x version of GEDCOM has several purposes:

*    Simplify the description of the GEDCOM data representation grammar (rules) for ease of understanding. (See Chapter 1, starting on page .)

*    Standardize the legal contexts in which tags, values, and pointers appear in the Lineage-Linked GEDCOM Form. (See Chapter 2, starting on page .) The Lineage-Linked GEDCOM Form should not be confused with other GEDCOM forms, which apply the basic GEDCOM data format but use different tag, value, and pointer combinations for other purposes.

*    Define new data representations for support information such as sources, source citations, repositories, submitter records, submission records, and notes. (See Chapter 2, page , for GEDCOM representation of these support structures as used by the Lineage-linked grammar.)

*    Define a generic event structure.

*    Define a way of associating individuals one to another. This is accomplished through a pointer which points from one individual record to another with a user-defined relationship text placed subordinate to this pointer. This feature is not a substitute for handling direct family relationships. Direct family relationships are documented by the FAMC and FAMS pointers.

*    Add a product version number and a GEDCOM form and version number to the HEADer record structure.

*    Define DATE modifiers (from, to, abt, bef, aft, bet) and more rigorously define the regular date format.

*    Define an integration of multimedia to the GEDCOM context.

Changes Introduced in Version 5.3

Version 5.3 introduced the following changes to the GEDCOM standard:

*    An address structure was defined.

*    A new tag for marital status (MSTA) at the time of an event was added to the event structure. (This was removed in version 5.4.)

*    A mechanism for creating user-defined tags was added. These were defined in a SCHEMA definition in the header record of 5.3. (SCHEMA was removed in version 5.4.)

*    The Unicode standard (ISO 10646) was introduced as an additional character set. (This was reduced to potential character set in version 5.4. See Chapter 3, page .)

*    A <<MULTIMEDIA_LINK>> structure was introduced to provide linking and embedding to digitized photo, video, and sound files. (This was modified in version 5.4.)

*    The source structure NAME tag, meaning the name of the source in the <<SOURCE_STRUCTURE>>, was changed back to the TITLe tag and is used to show the title of a book, article, or descriptive title of non-titled sources.

*    The <<SOURCE_STRUCTURE>> was changed. Usage of CPLR, XLTR, and INFT tags in source substructures were discontinued.

*    The FORM {FORMAT} tag was added subordinate to the PLACe and the GEDCom tags in the HEADER record and also subordinate to the PLACe tag in the <<PLACE_STRUCTURE>>. The PLAC.FORM line in the header record indicates that all of the locality names are specified in a consistent hierarchy as specified by the value of the FORM. For example: 2 FORM City, County, State. GEDCOM 5.2 used the TYPE tag, subordinate to the PLAC tag instead of the FORM tag, for this purpose. This provision is for products which have overly structured the place value.

Changes Introduced or Modified in Version 5.4

The intent of version 5.4 is to propose an extended GEDCOM standard and allow individuals from selected organizations to provide the feedback necessary to declare the work a standard for the interchange of genealogical data.

Some changes introduced in GEDCOM version 5.4 are not compatible with earlier 5.x forms. The following features in version 5.4 are either new or are different from version 5.3:

*    The use of the SCHEMA has been eliminated. Although the schema concept is valid and essential to the growth of GEDCOM, it is too complex and premature to be implemented successfully into current products. Implementing it too early could cause developers to spend a great deal of resources programming something that would be outdated very quickly.

*    The EVENT_RECORD context has been deleted. This context was intended to support the evidence record concept in the Lineage-Linked GEDCOM Form, which ended up being more complicated than first supposed. Understanding the difference between the role of a source record and the role of a so called evidence record requires further study.

*    Non-standard tags (see <NEW_TAG>, page ) can be used within a GEDCOM transmission, provided that the first character is an underscore (for example _NUTAG). Non-standard tags should be used only as a last resort. Using a Note field is a more universal way of transmitting genealogical data that does not fit into the standard GEDCOM structure.

*    The SOURCE_RECORD structure was simplified into five basic sections: data or classification, author, title, publication facts, and repository. The data or classification section contains facts about the data represented by this source and is used to analyze the collection of sources that the researcher used. The author, title, publication facts, and repository sections provide free-form text blocks that inform subsequent researchers how to obtain the source data that the original researcher used.

*    The <<SOURCE_CITATION>> structure is placed subordinate to the fact being cited. It is generally best if the source citation contains only information specific to the fact being cited and then points to the more general description of the source, defined in a SOURCE_RECORD. This reduces redundancy, provides a way of controlling the GEDCOM record size, and more closely represents the normalized data model.

    Systems that structure sources into AUTHor, TITLe, PUBLication, and REPOsitory descriptions can and should always pass this information in GEDCOM using the SOURce record pointed to

by the <<SOURCE_CITATION>>. Systems that do not structure source information into these categories should provide the following information as part of the source citation structure:

    *    A descriptive title of the source

    *    Who created the work

    *    When and where was it created

    *    Where can it be obtained or viewed

*    Some attributes of individuals such as their EDUCation, OCCUpation, RESIdence, or nobility TITLe need to be described by using a date and place. Therefore the structure to describe the attributes were formatted to be the same as can be used for describing events. That is, these attributes are further defined using a date, place, and other values defined to describe events. (See <<INDIVIDUAL_EVENT_STRUCTURE>>, page .)

*    The LDS ordinance structures was changed to include the place of a living LDS baptism. The TYPE tag line was changed to a STATus tag line. This allows statements such as BIC, canceled, Infant, and so forth to be removed from the date line and be added here under the STATus tag. (See <LDS_(ordinance)_DATE_STATUS>, page .) Where (ordinance) is for BAPTISM, ENDOWMENT, CHILD_SEALING, and SPOUSE_SEALING.

*    Previous GEDCOM 5.x versions overloaded the FAMC pointer structure with subordinate events which connected individual events and an associated family. An adoption event, for example, was shown subordinate to the FAMC pointer to indicate which was the adoptive family. Sealing of child to parent event was also shown in this manner. GEDCOM 5.4 recognizes that these are events and should be at the same level as the other individual events. To show the associated family, a subordinate FAMC pointer is placed subordinate to the appropriate event. (See <<INDIVIDUAL_EVENT_STRUCTURE>> page and LDS_INDIVIDUAL_ORDINANCE at page.)

*    The date modifier ( int) was added to the date format to indicate that the associated date phrase has been interpreted and the interpretation follows the int prefix in the date field. The date phrase is also included in the date value enclosed in parentheses. (See <DATE_APPROXIMATE>, page .)

*    The <AGE_AT_EVENT> primitive definition now includes the key words stillborn, Infant, and Child. These words should be interpreted as being some approximate age at an event. (See <AGE_AT_EVENT>, page .)

*    The family event context in the FAMily record now allows the ages of both the husband and wife at the time of the event to be shown. (See FAM_RECORD page )

*    The <<PERSONAL_NAME_STRUCTURE>> structure now allows name pieces to be specifically identified as subordinate parts of the name line. Most products will not use subordinate name pieces. A nickname can now be included on the name line by enclosing it in double quotation marks.

    Note:Systems using the subordinate name parts must still be formed in the same way specified for <NAME_PERSONAL>.

*    A submission record was added to GEDCOM to enable the sending system to transmit certain information which will enable the receiving system to more appropriately process the GEDCOM data. The format currently designed for the submission record was created specifically for

TempleReady. system and for GEDCOM files being downloaded from Ancestral File.. (See SUBMISSION_RECORD, page .)

*    A RESTRICTION (RESN) tag and a <RESTRICTION_NOTICE> primitive were added to the INDIVIDUAL_RECORD context. This allows some records in Ancestral File to be marked for privacy (indicating some personal information is not included) and some records to be marked as locked (indicating that Ancestral File will not make changes to the record without authorization from an assigned record steward).

*    The following tags were eliminated:


*    The following tags were added:


GEDCOM Product Registration

Developers who claim that their products are compatible with GEDCOM must register their product with the Family History Department's GEDCOM coordinator. The Family History Department may reject Ancestral File and TempleReady submissions from products that are not registered.

To register a GEDCOM product, a developer must send the following information to the GEDCOM coordinator:

*    A diskette containing a small sample of the product's GEDCOM output. All of the fields that the product manages must be included in this data so that it can be tested for compatibility with other developers' products.

*    A proposed unique SOURce name that identifies the product, not the company, should be included in the GEDCOM header record as a value to the SOUR tag. This name can have up to 40 characters, can have mixed upper and lower case, and cannot have embedded spaces. Use either an underscore (_) to connect multiple words or else a combination of upper and lower case letters (for example, FamilyRecords or Family_Records, not Family Records). The Family History Department reserves the right to require uniqueness within the first 10 characters of this name.

*    An optional text file containing relevant technical documentation about the product's GEDCOM implementation.

Send this information to_

    Family History Department

    ATTN: GEDCOM Coordinator_3T

    50 East North Temple Street

    Salt Lake City, UT 84150


    blank page

Chapter 1

Data Representation Grammar


This chapter describes the core GEDCOM data representation language.

The generic data representation language defined in this chapter may be used to represent any form of structured information, not just genealogical data, using a sequential stream of characters.


A GEDCOM transmission represents a database in the form of a sequential stream of related records. A record is represented as a sequence of tagged, variable-length lines, arranged in a hierarchy. A line always contains a hierarchical level number, a tag, and an optional value. A line may also contain a cross reference identifier or a pointer. The GEDCOM line is terminated by a carriage return, a line feed character, or any combination of these.

The tag in the GEDCOM line, taken in its hierarchial context, identifies the information contained in the line, in the same sense that a field-name identifies a field in a database record. This means that the data is self-defining. Tags allow a field to occur any number of times within a record, including zero times. They also allow the use of different or new fields to be included in the GEDCOM data without introducing incompatibility, because the receiving system will ignore data which it does not understand and process only the data that it does understand.

The hierarchical relationships are indicated by a level number. Subordinate lines have a higher level number. The hierarchy allows a line to have sub-lines, which in turn may have its own sub-lines, and so forth. A line and its sub-lines constitute a context or enclosure, that is, a cluster of information pertaining directly to the same thing. This hierarchical arrangement corresponds with the natural hierarchy found in most structured information.

A series of one or more lines constitutes a record. The beginning of a new record is indicated by a line whose level number is 0 (zero).

In addition to hierarchical relationships, GEDCOM defines the inter-record relationships that allow a record to be logically related to other records, without introducing redundancy. These relationships are represented by two additional, but optional, parts of a line: a cross reference pointer and a cross reference identifier. The cross reference pointer "points at" a related record, which is identified by a required, matching unique cross reference identifier. The cross reference identifier is analogous to a primary key in relational database terminology.


This chapter defines the grammar for the GEDCOM format. The grammar is a set of rules that specify the character sequences that are valid for creating the expression of the GEDCOM line. The character sequences are described in terms of various combinations of elements (variables and/or constants). Elements may be described in terms of a set of other elements, some of which are

selected from a set of alternative elements. Each element in the definition is separated by a plus sign (+) signifying that both elements are required. When there is a choice of different elements that can be used, the set of alternatives are listed between opening and closing square brackets ([]), with each choice separated by a vertical bar ([alternative_1 | alternative_2]). The user can read the grammar components of the selected element by substituting any sub-elements until all sub-elements have been resolved.

A GEDCOM transmission consists of a sequence of logical records, each of which consists of a sequence of gedcom_lines, all contained in a sequential file or stream of characters. The following rules pertain to the gedcom_line:

*    Long values can be broken into shorter GEDCOM lines by using a subordinate CONC or CONT tag. The CONC tag assumes that the accompanying subordinate value is concatenated to the previous line value without saving the carriage return prior to the line terminator. The CONT assumes that the subordinate line value is concatenated to the previous line, saving the carriage return.

*     The beginning of a new logical record is designated by a line whose level number is 0 (zero).

*    Logical GEDCOM record sizes should be constrained so that they will fit in a memory buffer of less than 32K. Use of pointers to records, particularly NOTE records, should ensure that this limit will be sufficient.

*    Any length constraints are given in characters, not bytes. When wide characters (characters wider than 8 bits) are used, byte buffer lengths should be adjusted accordingly.

*    Level numbers must be between 1 to 99 and must not contain leading zeroes, for example, level one must be 1, not 01.

*    The cross reference ID has a maximum of 22 characters, including the enclosing at signs (@), and it must be unique within the GEDCOM transmission.

*    Pointers to records imply that the record pointed to does actually exists within the transmission. Future pointer structures may allow pointing to records within a public accessible database as an alternative.

*    The length of the GEDCOM TAG is a maximum of 31 characters, with the first 15 characters being unique.

*    The total length of a GEDCOM line, including leading white space, level number, cross reference number, tag, value, delimiters, and terminator, must not exceed 255 (wide) characters.

*    Leading white space (tabs, spaces, and extra line terminators) preceding a GEDCOM line should be ignored by the reading system. Systems generating GEDCOM should not place any white space in front of the GEDCOM line.

Grammar Syntax

A gedcom_line has the following syntax:


level + delim + [xref_id + delim] + tag + [delim + line_value] + terminator

for example:

    1 NAME Will /Rogers/

The components used in the pattern above are defined below in alphabetical order. Some of the components are defined in terms of other primitive patterns. The spaces used in the patterns below are only to set them apart and are not a part of the resulting pattern. Character constants are specified in the hex form (0x20) which is the ASCII hex value of a space character. Character constants that are separated by a (-) dash represent any character with in that range from the first constant shown to and including the second constant shown.


    [(0x41)-(0x5A) | (0x61)-(0x7A) | (0x5F) ]


    (0x41)-(0x5A)=A to Z

    (0x61)-(0x7A)=a to z

    (0x5F)=(_) underscore


    [ alpha | digit ]


    [ alpha | digit | otherchar | (0x23) | (0x20) | (0x40)+(0x40) ]



    (0x20)=space character



    [(0x20) ]




    [(0x30)-(0x39) ]

    One of the digits 0, 1,2,3,4,5,6,7,8,9


    [(0x40) + (0x23) + escape_text + (0x40) + non_at ]


    [ any_char | escape_text + any_char ]

    The escape_text is coded to meet the rules of a particular GEDCOM form.


    [ digit | level + digit ]

    (Do not use non-significant leading zeroes such as 02.)


    [ any_char | line_item + any_char ]


    [ pointer | escape | line_item ]


    [ alpha | digit | otherchar | (0x23) | (0x20 ) ]

null:= nothing


    [(0x21)-(0x22) | (0x24)-(0x2F) | (0x3A)-(0x3F) | (0x5B)-(0x5E) | (0x60) | (0x7B)-(0x7E) | (0x80)-(0xFF)]

where, respectively:

    (0x21)-(0x22)=! "

    (0x24)-(0x2F)=$ % & ' ( ) * + , - . /

    (0x3A)-(0x3F)=: ; < = > ?

    (0x5B)-(0x5E)=[ \ ] ^


    (0x7B)-(0x7E)={ | } ~

    (0x80)-(0xFE)=ANSEL characters above 127

    Any 8-bit ASCII character except control characters (0x00_0x1F), alphanum, space ( ), number sign (#), at sign (@), _ underscore, and the DEL character (0x7F).


    [(0x40) + alphanum + pointer_string + (0x40) ]


    [ non_at ]


    [ null | pointer_char | pointer_string + pointer_char ]


    [ alphanum | tag + alphanum ]


    [carriage_return | line_feed | carriage_return + line_feed |

    line_feed + carriage_return ]


    [ pointer ]

Description of Grammar Components


    The alpha characters include the underscore, which is used to link word pieces together in forming tag names or tag labels.


    Any 8-bit ASCII character except the control characters found in the range of 0x00_0x1F and 0x7F. If an @ is desired as part of the line_value, it must be written in GEDCOM as a double @, i.e., "3 doz. @ $20.00" must be stored as "3 doz. @@ $20.00."


    The delim (delimiter), a single space character, terminates both the variable-length level number and the variable-length tag. Note that space characters may also be present in a value.


    The escape is a character sequence in the grammar used to specify special processing, such as for switching character sets or for indicating an inclusion of a non-GEDCOM data form into the GEDCOM structure. The form of the escape sequence is:

        @+#+ escape_text+@ non_at.

    Receiving systems should discard any space character which follows the escape sequences closing at-sign (@). If the character following the escape sequence's closing at-sign (@) is not a space character then it should be kept as a part of the text following the escape. Systems writing escape sequences should always output a space character following the escape sequence.

    The specific format of the escape sequence is defined for the specific GEDCOM form being defined.


    The escape_text is defined to meet the requirements of a particular GEDCOM form.


    The level number works the same way as the level of indentation in an indented outline, where indented lines provide detail about the item under which they are indented. A line at any level L is enclosed by and pertains directly to the nearest preceding line at level L-1. The Level L may increase by 1 at most. Level numbers must not contain leading zeroes, for example level one must be (1), not (01).

    The enclosed subordinate lines at level L are said to be in the context of the enclosing superior line at level L-1. The interpretation of a tag must be in the context of the tags of the enclosing line(s) rather than just the tag by itself. Take the following record about an individual's birth and death dates, for example:

    0 INDI

        1 BIRT

            2 DATE 12 MAY 1920

        1 DEAT

            2 DATE 1960

    In this example, the expression DATE 12 MAY 1920 is interpreted within the INDI (individual) BIRT (birth) context, representing the individual's birth date. The second DATE is in the INDI.DEAT (individual's death) context. The complete meaning of DATE depends on the context.

        Note:The above example is indented according to the level numbers to make the concept more obvious. In the actual GEDCOM data, the level numbers are lined up vertically, meaning they are the first character(s) of the GEDCOM line.

    Some systems can indent GEDCOM data for better readability by putting space or tab characters between the terminator and the level number of the next line to visibly show the hierarchy. Also, some people have suggested allowing extra blank lines to visibly separate physical records. These features may be incorporated into the GEDCOM standard in the future, but making such a change now would make some existing systems incompatible.

    Therefore, new systems should discard any carriage returns, line feeds, spaces, and tabs that precede the level number. Until most receiving systems can deal indented GEDCOM data, new systems should still output the level number as the first character(s) of the GEDCOM line.


    The line_value identifies an object within the domain of possible values allowed in the context of the tag. The combination of the tag, the line_value, and the hierarchical context of the supporting gedcom_lines provides the understanding of the enclosed values. This domain is defined by a specific grammar for representing a given GEDCOM form. (See Chapter 2, starting on page for Lineage-Linked GEDCOM Form grammar.)

    Values whose source information contains illegible parts of the value should be indicated by replacing the illegible part with an ellipses (...).

    Values are generally not encoded in binary or other abbreviation schemes for reducing space requirements, and they are generally constrained to be understandable by a typical user without decoding. This is intended to reduce the decoding burden on the receiving software. A GEDCOM-optimized data compression standard will be defined in the future to reduce space requirements. Meanwhile, users may agree to compress and decompress GEDCOM files using any compression system available to both sender and receiver.

    The line_value within the context of a tag hierarchy of gedcom_lines represents one piece of information and corresponds to one field in traditional database or file terminology.


    Any 8-bit ASCII character except control characters (0x00_0x1F), alphanum, space ( ), number-sign (#), the at sign (@), and the DEL character (0x7F).


    A pointer stands in the place of the context identified by the matching xref_id. Theoretically, a receiving system should be prepared to follow a pointer to find any needed value in a manner that is transparent to the logic of the subsystem that is looking for specific tags. This highly flexible facility will probably be used more in the future. For the time being, however, the use

of pointers is explicitly defined within the GEDCOM form, such as the Lineage-Linked GEDCOM Form defined in Chapter 2 (see page ).

    The pointer represents the association between two objects that usually reside in different records. Objects within the same logical record can be associated. If this need exists, the pointer record composition contains an exclamation point (!) that separates the parent record's cross-reference ID from the specific substructure's cross-reference ID, which is at some subordinate level to the logical record at level zero. The cross-reference ID of the substructure subordinate to a zero level record is always composed of the Record ID number and the Substructure ID number, such as @I132!1@. Including the Record ID number in the pointer that associates objects within a record will allow the GEDCOM processors to build the index only at the record level and then search sequentially for the appropriate substructure cross reference ID.

    Complex logical record structures are divided into small physical records to accommodate memory constraints, many-to-many relationships, and independent record creation and deletion.

    The pointer must match a corresponding unique xref_id within the transmission, unless the colon (:) character is present (which will be used in the future as a network reference to a permanent file record). A pointer is given instead of duplicating an object, though the logical result is equivalent. An expanded traversal of a record tree includes following the pointer to related records to some depth, and splicing those records (logically) into the resultant expanded tree. Pointers may refer to either records which have not yet appeared in the transmission (forward reference) or to records that have already appeared earlier in the transmission (backward reference). This arrangement usually requires a preliminary pass to construct a look up table to support random access by xref_id during subsequent passes.


    A tag consists of a variable length sequence of alphanum characters. All user-defined tags, tags used that have not been defined in the GEDCOM standard, must begin with an underscore character (0x95).

    The tag represents the meaning of the line_value within the context of the enclosing lines, and contributes to the meaning of enclosed subordinate lines. Specific tags are defined in Appendix A (starting on page ).

    Although existing tags are only three or four characters long, systems should prepare to handle tags of any length. Tags will be unique within the first 15 characters.

    Valid combinations of specific tags, line_values, xref_ids, and pointers are constrained by the GEDCOM form defined for representing a given kind of information. (See Chapter 2, starting on page , for the Lineage-Linked GEDCOM Form grammar.)


    The terminator delimits the variable-length line_value and signals the end of the gedcom_line. The valid terminator characters are:

        [carriage_return |

        line_feed |

        carriage_return line_feed |

        line_feed carriage_return ]


    (See pointer, page )

    The xref_id is formed by any arbitrary combination of characters from the pointer_char set. The first character must be an alpha or a digit. The xref_id is not retained in the receiving system, and it may therefore be formed from any convenient combination of identifiers from the sending system. No meaning is attributed by the receiver to any part of the xref_id, other than its unique association with the associated record. The use of the colon (:) character is also reserved.


    The following are examples of valid but unrelated GEDCOM lines:

        0 @1234@ INDI

            . . .

            1 AGE 13y

            . . .

            1 CHIL @1234@

            . . .

            1 NOTE This is a note field that is

                2 CONT continued on the next line.

    The first line has a level number 0, a xref_id of @1234@, an INDI tag, and no value.

    The second line has a level number 1, no xref_id, an AGE tag, and a value of 13.

    The third line has a level number 1, no xref_id, a CHIL tag, and a value of a pointer to a xref_id named @1234@.

Chapter 2

Lineage-Linked Grammar


This chapter describes the specific tag, value, and pointer combinations used for exchanging lineage-linked genealogical information in the GEDCOM format. Lineage-linked data pertains to individuals linked in family relationships across multiple generations. The chapter also addresses specific compatibility issues pertaining to previous Lineage-Linked GEDCOM Form releases and contains a sample lineage-linked GEDCOM transmission.

The Lineage-Linked GEDCOM Form defined in this chapter is based on the general framework of the GEDCOM data representation grammar defined in Chapter 1. Commercial genealogical software systems use the Lineage-Linked GEDCOM Form to exchange data. It is also the only form approved for exchanging data with Ancestral File and TempleReady.


The basic description of the Lineage-Linked GEDCOM Form's grammar is presented in the following three major sections:

*    "Record Structures of the Lineage-Linked Form" (beginning on page )

*    "Substructures of the Lineage-Linked Form" (beginning on page )

*    "Primitive elements of the Lineage-Linked Form" (beginning on page )

The definition of the tags used in defining the lineage-linked structures are contained in Appendix A.

Symbols Used in Chapter 2

The following symbols are used in Chapter 2:

<<double_angle bracket >>

    Indicates a subordinate GEDCOM structure (pattern) is to be substituted_ <<Substructure >>. The substitute structure is found in alphabetical order in "Substructures of the Lineage-Linked Form," beginning on page .

<Single_angle bracket >

    Indicates the name of the appropriate value for this GEDCOM line_ <Primitive >. The specific definition of this value is found in alphabetical order in "Primitive Elements of the Lineage-Linked Form," beginning on page .

{braces }

    Indicates the minimum to maximum occurrences allowed for this structure or line_ {Minimum:Maximum }. Note that minimum and maximum occurrence limits are defined relative to the enclosing superior line. This means that a required line (minimum = 1) is not required if the optional enclosing superior line is not present. Similarly, a line occurring only once (maximum = 1) may occur multiple times as long as each occurs only once under its own multiple-occurring superior line.

[Square brackets ]

    Indicates a choice of one or more options_ [Choice of ].

| vertical bar |

    Separates the multiple choices, like choice 1 | choice 2_[Choice 1 | Choice 2].

n level number

    A level number which assumes the level number of the line which referenced the substructure name.

+1, +2 ...

    A +1 level number is 1 greater than the value that the superior n level number assumed. A +2 level number is 2 greater, and so forth.


    Various values specified for primitive name replacement are shown in uppercase letters only. This means that the values should be converted to all uppercase or lowercase prior to comparing. In other words, the terms UPPERCASE and UpperCase are considered equal. TAGS are always UPPERCASE.


    Indicates an allowable hexadecimal character value where HH is that value.

Lineage-Linked Form Usage Conventions

*    The order in which GEDCOM lines are written to a GEDCOM file is controlled by the context and level number. When the lines are of equal level number but have a different tag name then the order is not significant. The occurrence of equal level numbers and equal tags within the same context imply that multiple opinions or multiple values of the data exists. The significance of the order in these cases is interpreted as the submitter's preference. The preferred value being the first with less preferred data listed in subsequent lines by order of preference. For example, a researcher who discovers conflicting evidence about a person's birth event might list the most credible or preferred information first and the less credible or less preferred items after.

    Systems that support multiple fields or structures should allow their users to mark their preference order. The GEDCOM output should put the preferred information first. Systems that only support single field structures should use the preferred information (the first information listed) and store the remaining information as an exception, preferably within an appropriate NOTE field.

*    Conflicting event dates and places should be represented by placing them in separate event structures with appropriate source citations rather than by placing them under the same enclosing event.

*    The Lineage-Linked GEDCOM Form uses the TYPE tag to further classify its superior tag for the viewer. The value portion given by the TYPE tag is not intended to inform a computer program how to process the data. The difference between this value and a note value is that displaying systems should always display the type value when they display the data from the associated context. This gives the user some flexibility in further describing the information

provided but does not require the software to recognize and respond to the large variety of tags or qualifiers that might be used. For example:

        1 EVEN

            2 TYPE Awarded BSA Eagle Rank

            2 DATE 1980

*    The Lineage-Linked GEDCOM Form is restricted to Gregorian calendar forms. This version of GEDCOM chose not to support multiple calendars. The reason is that support of multiple calendars would require each receiving system to handle multiple calendar conversions.

    Support of multiple calendars could be simplified by converting a day from a given source calendar to a specific sequential day number which began at some point in time. The receiving system would then convert from that day number to the calendar day of their choice. The Julian day system is based on a sequential day beginning from the first day of 4713 years B.C. The Julian day system with an extention that allows imprecise dates could work for GEDCOM purposes. Later versions of GEDCOM will consider this approach.

    blank page

Record Structures of the Lineage-Linked Form


    This is a model of the lineage-linked GEDCOM structure for submitting data to other lineage-linked GEDCOM processing systems. A header and a trailer record are required, and they can enclose any number of data records. Tags from Appendix A (see page ) must be used in the same context as shown in the following form. User defined tags (see <NEW_TAG> on page ) are discouraged but when used must begin with an under-score.

    0    <<HEADER>>    {1:1}

    0    <<SUBMISSION_RECORD>>    {0:1}

    0    <<RECORD>>    {1:M}

    0    TRLR                    {1:1}

    0    <<MULTIMEDIA_RECORD>>    {0:M}

    0    END                        {0:1}    


    n     HEAD                    {1:1}

        +1 SOUR <APPROVED_SYSTEM_ID>    {1:1}    p.

            +2 VERS <VERSION_NUMBER>    {0:1}    p.

            +2 NAME <NAME_OF_PRODUCT>    {0:1}    p.

            +2 CORP <NAME_OF_BUSINESS>    {0:1}    p.

                +3 <<ADDRESS_STRUCTURE>>    {0:1}    p.

            +2 DATA <NAME_OF_SOURCE_DATA>    {0:1}    p.

                +3 DATE <PUBLICATION_DATE>    {0:1}    p.

                +3 COPR <COPYRIGHT_STATEMENT>    {0:1}    p.

        +1 DEST <RECEIVING_SYSTEM_NAME>    {1:1}    p.

        +1 DATE <TRANSMISSION_DATE>    {0:1}    p.

            +2 TIME <TIME_VALUE>    {0:1}    p.

        +1 SUBM @XREF:SUBM@    {1:1}    p.

        +1 SUBN @XREF:SUBN@    {0:1}    p.

        +1 FILE <FILE_NAME>    {0:1}    p.

        +1 COPR <COPYRIGHT_STATEMENT>    {0:1}    p.

        +1 GEDC                {1:1}

            +2 VERS <VERSION_NUMBER>    {1:1}    p.

            +2 FORM <GEDCOM_FORM>    {1:1}    p.

        +1 CHAR <CHARACTER_SET>    {1:1}    p.

            +2 VERS <VERSION_NUMBER>    {0:1}    p.

        +1 LANG <LANGUAGE_OF_TEXT>    {0:1}    p.

        +1 PLAC                {0:1}

            +2 FORM <PLACE_HIERARCHY>    {1:1}    p.

        +1 NOTE <GEDCOM_CONTENT_DESCRIPTION>    {0:1}    p.


    The header structure provides information about the entire transmission. The SOURce system name identifies which system sent the data. The DESTination system name identifies the receiving system.

    Submissions to the Family History Department for Ancestral File should use a DESTination of ANSTFILE. Use TempleReady for submissions being cleared for temple ordinances.

    Additional GEDCOM standards will be produced in the future to reflect GEDCOM expansion and maturity. This requires the reading program to make sure it can read the GEDC.VERS and the GEDC.FORM values to insure proper readability. The CHAR tag is required. All character codes greater than 0x7F must be converted to ANSEL. (See Chapter 3, starting on page .)



    n    <<FAM_RECORD>>    {1:1}    p.


    n    <<INDIVIDUAL_RECORD>>    {1:1}    p.


    n    <<NOTE_RECORD>>    {1:1}    p.


    n    <<REPOSITORY_RECORD>>    {1:1}    p.


    n    <<SOURCE_RECORD>>    {1:1}    p.


    n    <<SUBMITTER_RECORD>>    {1:1}    p.



    n    @<XREF:FAM>@ FAM    {1:1}

    +1 << FAMILY_EVENT_STRUCTURE>>    {0:M}    p.

        +2 HUSB                {0:1}

            +3 AGE <AGE_AT_EVENT>    {1:1}    p.

        +2 WIFE                {0:1}

            +3 AGE <AGE_AT_EVENT>    {1:1}

    +1 HUSB @<XREF:INDI>@    {0:1}    p.

    +1 WIFE @<XREF:INDI>@    {0:1}    p.

    +1 CHIL @<XREF:INDI>@    {0:M}    p.

    +1 REFN <USER_REFERENCE_NUMBER>    {0:1}    p.

    +1 NCHI <COUNT_OF_CHILDREN>    {0:1}    p.

    +1 SUBM @<XREF:SUBM>@    {0:M}    p.

    +1 <<LDS_SPOUSE_SEALING>>    {0:M}    p.

    +1 <<SOURCE_CITATION>>    {0:M}    p.

    +1 <<MULTIMEDIA_LINK>>    {0:M}    p.

    +1 <<NOTE_STRUCTURE>>    {0:M}    p.

    +1 <<CHANGE_DATE>>    {0:1}    p.

    The FAMily record is used to record marriages, common law marriages, and family unions caused by two people becoming the parents of a child. There can be no more than one father and one mother listed in each FAM_RECORD. If, for example, a man participated in more than one family union, then he would appear in more than one FAM_RECORD. The family record structure assumes that the husband is male and wife is female.

    The preferred order of the CHILdren pointers within a FAMily structure is chronological by birth.


    n    @XREF:INDI@ INDI    {1:1}

    +1 RESN <RESTRICTION_NOTICE>    {0:1}    p.

    +1 <<PERSONAL_ NAME_STRUCTURE>>    {0:M}    p.

    +1 SEX <SEX_VALUE>     {0:1}    p.

    +1 << INDIVIDUAL_EVENT_STRUCTURE>>    {0:M}    p.


    +1 <<LDS_INDIVIDUAL_ORDINANCE>>    {0:M}    p.

    +1 RFN <PERMANENT_RECORD_FILE_NUMBER>    {0:1}    p.

    +1 AFN <ANCESTRAL_FILE_NUMBER>    {0:1}    p.

    +1 REFN <USER_REFERENCE_NUMBER>    {0:1}    p.

    +1 << CHILD_TO_FAMILY_LINK>>    {0:M}    p.

    +1 << SPOUSE_TO_FAMILY_LINK>>    {0:M}    p.

    +1 SUBM @<XREF:SUBM>@    {0:M}    p.

    +1 ASSO @<XREF:INDI>@    {0:M}    p.

        +2 RELA <RELATION_IS_DESCRIPTOR>    {1:1}    p.

    +1 ALIA @<XREF:INDI>@    {0:M}    p.

    +1 ANCI @<XREF:SUBM>@    {0:M}    p.

    +1 DESI @<XREF:SUBM>@    {0:M}    p.

    +1 <<SOURCE_CITATION>>    {0:M}    p.

    +1 <<MULTIMEDIA_LINK>>    {0:M}    p.

    +1 <<NOTE_STRUCTURE>>    {0:M}    p.

    +1 <<CHANGE_DATE>>    {0:1}    p.

    The individual record is a compilation of facts, known or discovered, about an individual. Sometimes these facts are from different sources. This form allows documentation of the source where each of the facts were discovered.

    The normal lineage links are shown through the use of pointers from the individual to a family through either the FAMC tag or the FAMS tag. The FAMC tag provides a pointer to a family where this person is a child. The FAMS tag provides a pointer to a family where this person is a spouse. The << CHILD_TO_FAMILY_LINK>> (see page ) structure contains a FAMC pointer which is required to show any child to family linkage for pedigree navigation and for backward compatibility to previous GEDCOM systems. The <<CHILD_TO_FAMILY_LINK>> structure indicates whether the pedigree link will yield a birth lineage, an adoption lineage, or a sealing lineage.

     Linkage between a child and the family they belonged to at the time of an event can also optionally be shown by a FAMC pointer subordinate to the appropriate event. For example, a FAMC pointer subordinate to an adoption event would show which family adopted this individual. Biological parent or parents can be indicated by a FAMC pointer subordinate to the birth event.

    Other associations or relationships are represented by the ASSOciation tag. The person's relation or association is the person being pointed to. The association or relationship is stated by the value portion of the subordinate TYPE tag. This association structure currently is supported by only one or two products.


    n    @XREF:OBJE@ OBJE    {1:1}

        +1 FORM <MULTIMEDIA_FORMAT>    {1:1}    p.

        +1 TITL <DESCRIPTIVE_TITLE>    {0:1}    p.

        +1 FILE <MULTIMEDIA_FILE_REFERENCE>    {1:1}    p.

        +1 BLOB                {1:1}

            +2 CONT <UUENCODED_MULTIMEDIA_LINE>    {1:M}    p.

        +1 EOBJ                {1:1}

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

NOTE_RECORD:=    /* must contain cross reference ID */

    n    @<XREF:NOTE>@ NOTE <SUBMITTERS_TEXT>    {1:1}    p.

        +1 [ CONC | CONT] <SUBMITTERS_TEXT>    {0:M}

        +1 <<CHANGE_DATE>>    {0:1}    p.

REPOSITORY_RECORD:= /* must contain cross reference ID */

    n    @<XREF:REPO>@ REPO    {1:1}

        +1 NAME <NAME_OF_REPOSITORY>     {0:1}    p.

        +1 <<ADDRESS_STRUCTURE>>    {0:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

        +1 <<CHANGE_DATE>>    {0:1}    p.

SOURCE_RECORD:= /* must contain cross reference ID */

    n    @<XREF:SOUR>@ SOUR    {1:1}

        +1 DATA                {0:1}

            +2 EVEN <EVENTS_RECORDED>    {0:M}    p.

                +3 DATE <DATE_PERIOD>    {0:1}    p.

                +3 PLAC <SOURCE_JURISDICTION_PLACE>    {0:1}    p.

            +2 AGNC <RESPONSIBLE_AGENCY>    {0:1}    p.

            +2 <<NOTE_STRUCTURE>>    {0:M}    p.

        +1 AUTH <SOURCE_ORIGINATOR>    {0:1}    p.

            +2 [CONT|CONC] <SOURCE_ORIGINATOR>    {0:M}

        +1 TITL <SOURCE_DESCRIPTIVE_TITLE>    {0:1}    p.

            +2 [CONT|CONC] <SOURCE_DESCRIPTIVE_TITLE>    {0:M}

        +1 ABBR <SOURCE_FILED_BY_ENTRY>    {0:1}    p.

        +1 PUBL <SOURCE_PUBLICATION_FACTS>    {0:1}    p.

            +2 [CONT|CONC] <SOURCE_PUBLICATION_FACTS>    {0:M}

        +1 TEXT <TEXT_FROM_SOURCE>    {0:1}    p.

            +2 [CONT|CONC] <TEXT_FROM_SOURCE>    {0:M}

        +1 <<SOURCE_REPOSITORY_CITATION>>    {0:1}    p.

        +1 <<MULTIMEDIA_LINK>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

        +1 <<CHANGE_DATE>>    {0:1}    p.

    Source records are used to provide a bibliographic description of the source used in the cited material. (See the <<SOURCE_CITATION>> structure, page , which contains the pointer to this source record.)


    n    @XREF:SUBN@ SUBN    {1:1]

        +1 SUBM @XREF:SUBM@    {0:1}    p.

        +1 FAMF <NAME_OF_FAMILY_FILE>    {0:1}    p.

        +1 TEMP <TEMPLE_CODE>    {0:1}    p.

        +1 ANCE <GENERATIONS_OF_ANCESTORS>    {0:1}    p.

        +1 DESC <GENERATIONS_OF_DESCENDANTS>    {0:1}    p.

        +1 ORDI <ORDINANCE_PROCESS_FLAG>    {0:1}    p.

    The sending system uses a submission record to send instructions and information to the receiving system. TempleReady processes submission records to determine which temple the cleared records should be directed to. The submission record is also used for communication between Ancestral File download requests and TempleReady. Each GEDCOM transmission file should have only one submission record, multiple submissions are handled by creating separate GEDCOM transmission files.


    n    @<XREF:SUBM>@ SUBM    {1:1}

        +1 RFN <SUBMITTER_REGISTERED_RFN>    {0:M}    p.

        +1 <<PERSONAL_NAME_STRUCTURE>>    {1:1}    p.

        +1 <<ADDRESS_STRUCTURE>>    {0:1}    p.

        +1 <<MULTIMEDIA_LINK>>    {0:M}    p.

        +1 LANG <LANGUAGE_PREFERENCE>    {0:3}    p.

        +1 <<CHANGE_DATE>>    {0:1}    p.

    The submitter record identifies individuals or organizations that contributed information contained in the GEDCOM transmission. All records in the transmission are assumed to be submitted by the SUBMITTER referenced in the HEADer, unless a SUBMitter reference inside a specific record points at a different SUBMITTER record.

    blank page

Substructures of the Lineage-Linked Form


    n    ADDR <ADDRESS_LINE>    {0:1}    p.

        +1 CONT <ADDRESS_LINE>    {0:M}

        +1 CTRY <ADDRESS_COUNTRY>    {0:1}    p.

    n    PHON <PHONE_NUMBER>    {0:3}    p.


    n     CHAN                    {1:1}

        +1 DATE <CHANGE_DATE>    {1:1}    p.

            +2 TIME <TIME_VALUE>    {0:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    n     FAMC @<XREF:FAM>@    {1:1}

        +1 PEDI <PEDIGREE_LINKAGE_TYPE>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    n    TYPE <EVENT_DESCRIPTOR>    {0:1}    p.

    n    DATE [ <DATE_VALUE> | <DATE_PERIOD>]    {0:1}    p./

    n    <<PLACE_STRUCTURE>>    {0:1}    p.

    n    <<ADDRESS_STRUCTURE>>    {0:1}    p.

    n    AGE <AGE_AT_EVENT>    {0:1}    p.

    n    AGNC <RESPONSIBLE_AGENCY>    {0:1}    p.

    n    CAUS <CAUSE_OF_EVENT>    {0:1}    p.

    n    <<SOURCE_CITATION>>    {0:M}    p.

    n    <<MULTIMEDIA_LINK>>    {0:M}    p.

    n    <<NOTE_STRUCTURE>>    {0:M}    p.

    Events or happenings that took place over a period of time should use one of the <DATE_PERIOD> forms:



    n[ ANUL | CENS | DIV | DIVF ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n[ ENGA | MARR | MARB | MARC ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n[ MARL | MARS ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    EVEN                    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    The Y(es) value on the tag line indicates that the event took place but neither the date nor the place were known.



    n    CAST <CASTE_NAME>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    DSCR <PHYSICAL_DESCRIPTION>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    EDUC <SCHOLASTIC_ACHIEVEMENT>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    IDNO <NATIONAL_ID_NUMBER>     {1:1}*    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    NATI <NATIONAL_OR_TRIBAL_ORIGIN>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    NCHI <COUNT_OF_CHILDREN>     {0:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    NMR <COUNT_OF_MARRIAGES>     {0:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    OCCU <OCCUPATION>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    PROP <POSSESSIONS>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    RELI <RELIGIOUS_AFFILIATION>     {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    RESI                     {1:1}    

    +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    SSN <SOCIAL_SECURITY_NUMBER>     {0:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    n    TITL <NOBILITY_TITLE>    {1:1}    p.

        +1 <<EVENT_DETAIL>>    {0:1}    p.


    * Note: The usage of IDNO requires that the subordinate TYPE tag be used to define what kind of number is assigned to IDNO.



    n    [ BIRT | CHR ][ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ DEAT | BURI | CREM ] [ Y | <NULL> ]     {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ ADOP ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.

            +2 ADOP <ADOPTED_BY_WHICH_PARENT>    {0:1}    p.


    n    [ BAPM | BARM | BASM | BLES ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ CHRA | CONF | FCOM | ORDN ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ NATU | EMIG | IMMI ][ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ CENS | PROB | WILL][ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n    [ GRAD | RETI ] [ Y | <NULL> ]    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    n     EVEN                    {1:1}

        +1 <<EVENT_DETAIL>>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.


    The EVEN tag in this structure is for recording general events or attributes that are not shown in the above <<INDIVIDUAL_EVENT_STRUCTURE>>. The general event or attribute type is declared by using a subordinate TYPE tag to show what event or attribute is recorded. For example, a canidate for state senate in the 1952 election could be recorded:

    1    EVEN

        2 TYPE Election

        2 DATE 07 NOV 1952

        2 NOTE Candidate for State Senate.

    The TYPE tag is also optionally used to modify the basic understanding of its superior event. For example, if the CREM tag had not been defined, then the following could have been used to modify the burial event to mean disposal by cremation:

        0 INDI

            1 BURI

            2 TYPE "Cremation"

    Sometimes events are known to have happened, but the date and place are unknown. An event tag with the value of Y(es) indicates that the event did happen. It is not proper to use a N(o) value with this tag. If an event did not happen, it should not have an event tag line.



    n    [ BAPL | CONL ]    {1:1}

        +1 STAT <LDS_BAPTISM_DATE_STATUS>    {0:1}    p.

        +1 DATE <DATE_LDS_ORD>    {0:1}    p.

        +1 TEMP <TEMPLE_CODE>    {0:1}    p.

        +1 PLAC <PLACE_LIVING_ORDINANCE>    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    n    ENDL                    {1:1}

        +1 STAT <LDS_ENDOWMENT_DATE_STATUS>    {0:1}    p.

        +1 DATE <DATE_LDS_ORD>    {0:1}    p.

        +1 TEMP <TEMPLE_CODE>    {0:1}    p.

        +1 PLAC <PLACE_LIVING_ORDINANCE>    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    n    SLGC                    {1:1}

        +1 STAT <LDS_CHILD_SEALING_DATE_STATUS>    {0:1}    p.

        +1 DATE <DATE_LDS_ORD>    {0:1}    p.

        +1 TEMP <TEMPLE_CODE>    {0:1}    p.

        +1 PLAC <PLACE_LIVING_ORDINANCE>    {0:1}    p.

        +1 FAMC @<XREF:FAM>@    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.



    n     SLGS                    {1:1}

        +1 STAT <LDS_SPOUSE_SEALING_STATUS>    {0:1}    p.

        +1 DATE <DATE_LDS_ORD>    {0:1}    p.

        +1 TEMP <TEMPLE_CODE>    {0:1}    p.

        +1 PLAC <PLACE_LIVING_ORDINANCE>    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    [                    /* embedded form*/

    n    OBJE @<XREF:OBJE>@    {1:1}    p.

    |                    /* linked form*/

    n    OBJE                     {1:1}    p.

        +1 FORM <MULTIMEDIA_FORMAT>    {1:1}    p.

        +1 TITL <DESCRIPTIVE_TITLE>    {0:1}    p.

        +1 FILE <MULTIMEDIA_FILE_REFERENCE>    {1:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    This structure provides two options in handling the GEDCOM multimedia interface. The first structure alternative (embedded) more closely represents the GEDCOM strategy for including all data within the transmission file. The embedded method includes pointers to GEDCOM records that are placed after the trailer record. Each record represents a multimedia object. Placing multimedia records after the trailer record makes it possible for systems to end processing at the trailer record without dealing with the multimedia records. This also make it possible for a special GEDCOM process to be devised to reconstitute the UUENCODED files without having to read the complete GEDCOM multimedia record into memory.

    The second method allows the GEDCOM context to be connected to an external file which is being used by their system in providing multimedia options. The disadvantage of this system is the number of files which must be handled independent of the GEDCOM transmission file.



    n    NOTE @<XREF:NOTE>@    {1:1}    p.


    n    NOTE [SUBMITTER_TEXT> | <NULL>]    {1:1}    p.

        +1 [ CONC | CONT ] <SUBMITTERS_TEXT>    {0:M}



    n     NAME <NAME_PERSONAL>    {1:1}    p.

        +1 NPFX <NAME_PREFIX>    {0:1}    p.

        +1 GIVN <NAME_PIECE_GIVEN>    {0:1}    p.

        +1 SURN <NAME_PIECE_SURNAME>    {0:1}    p.

        +1 NSFX <NAME_SUFFIX>    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

    The name value is formed in the manner the name is normally spoken, with the given name and family name (surname) separated by slashes (/). (See <NAME_PERSONAL>, page .) Based on the dynamic nature or unknown compositions of naming conventions, it is difficult to structure the name peices to be able to handle every case. The name pieces of the name field are provided for systems that may have over-structured the name field. For current compatibility and future flexibility, all systems must construct their names based on the <NAME_PERSONAL> structure. Those using the name pieces should assume that few systems will process them, and most will not provide the name pieces. The NPFX, GIVN, SURN, NSFX tags are provided optionally for systems that cannot operate effectively with less structured information. Future GEDCOM releases (6.0 and later) will likely apply a very different strategy to resolve this problem.


    n     PLAC <PLACE_VALUE>    {1:1}    p.

        +1 FORM <PLACE_HIERARCHY>    {0:1}    p.

        +1 <<SOURCE_CITATION>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.


    [                 ****** Citing a Source ******

    n    SOUR @<XREF:SOUR>@ /* pointer to source record */    {1:1}    p.

        +1 PAGE <WHERE_WITHIN_SOURCE>    {0:1}    p.

        +1 EVEN <EVENT_TYPE_CITED_FROM>    {0:1}    p.

            +2 ROLE <ROLE_IN_EVENT>    {0:1}    p.

        +1 DATA                {0:1}

            +2 DATE <ENTRY_RECORDING_DATE>    {0:1}    p.

            +2 TEXT <TEXT_FROM_SOURCE>    {0:1}    p.

        +1 QUAY <CERTAINTY_ASSESSMENT>    {0:1}    p.

        +1 <<MULTIMEDIA_LINK>>    {0:M}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

    |                            /* Systems not using source records */

    n    SOUR <SOURCE_DESCRIPTION>    {1:1}    p.

        +1 [ CONC | CONT] <SOURCE_DESCRIPTION>    {0:M}


    The data provided in the <<SOURCE_CITATION>> structure is source-related information specific to the data being cited. (See GEDCOM examples starting on page .) Systems that do not use SOURCE_RECORDS must use the second SOURce citation structure option. When systems which support SOURCE_RECORD structures encounter source citations which do not contain pointers to source records, that system will need to create a SOURCE_RECORD and store the <SOURCE_DESCRIPTION> information found in the non-structured source citation in either the title area of that SOURCE_RECORD, or if the title field is not large enough, place a "(See Notes)" text in the title area, and place the unstructured source description in the source record's note field.

    The information intended to be placed in the citation structure includes:

*    A pointer to the SOURCE_RECORD, which contains a more general description of the source.

*    Information on how to find this specific data within that source such as page number.

*    Date when the entry was recorded in source document.

*    Data that allows an assessment of the relative value of one source over another for making the recorded assertions (primary or secondary source, etc.). Data needed for this assessment is the date the entry was recorded and the type of event that was used in asserting the data being cited.


                ****** Where is it Stored ******


    n    REPO @XREF:REPO@    {1:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

        +1 CALN <SOURCE_CALL_NUMBER>    {0:M}    p.

            +2 MEDI <SOURCE_MEDIA_TYPE>    {0:1}    p.

This structure is used within a source record to point to a name and address record of the holder of the source document. Formal and informal repository name and addresses are stored in the REPOSITORY_RECORD. Informal repositories include owner's of an unpublished work or of a rare published source, or a keeper of personal collections. An example would be the owner of a family Bible containing unpublished family genealogical entries. More formal repositories, such as

the Family History Library, should show a call numbers of the source at that repository. The call number of that source should be recorded using a subordinate CALN tag. System which do not structure a repository name and address interface should store the information about where the source record is stored in the <<NOTE_STRUCTURE>> of this structure.


    n     FAMS @<XREF:FAM>@    {1:1}    p.

        +1 <<NOTE_STRUCTURE>>    {0:M}    p.

    blank page

Primitive Elements of the Lineage-Linked Form

The field sizes show the minimum recommended field length within a database that is constrained to fixed length fields. GEDCOM lines are limited to 255 characters. However, the CONCatenation or CONTinuation tags can be used to expand a field beyond this limit. These two tags are being used to extend text type messages rather than extending, for example, a name line. Text lines are used in ADDR, DSCR, NOTE, SOUR, TEXT, etc.

ADDRESS_COUNTRY:=    {Size=1:40}

    The name of the country that pertains to the associated address. Used in most cases to facilitate the handling of mail.

ADDRESS_LINE:=            {Size=1:40}

    Address information that, when combined with NAME and CONTinuation lines, meets requirements for sending communications through the mail.


    [ HUSB | WIFE | both ]

    A code which shows which parent in the associated family record adopted this person.


    HUSB    =    The person pointed to by the HUSBand role adopted this person.

    WIFE    =    The person pointed to by the WIFE role adopted this person.

    both        =    Both HUSBand and WIFE adopted this person.

AGE_AT_EVENT:=            {Size=1:30}

    [ YYy MMm DDDd | YYy | MMm | DDDd |

     YYy MMm | YYy DDDd | MMm DDDd |

     Child | Infant | Stillborn ]



    y                =    a label indicating years

    m                =    a label indicating months

    d                =    a label indicating days

    YY            =    number of full years

    MM            =    number of months

    DDD        =    number of days

    child            =    age < 8 years

    infant        =    age < 1 year

    stillborn    =    died just prior, at, or near birth, 0 years

    A number that indicates the age in years, months, and days that the principal was at the time of the associated event. Any labels must come after their corresponding number, for example; 4y 8m 10d.


    A unique permanent record number of an individual record contained in the Family History Department's Ancestral File.

APPROVED_SYSTEM_ID:=    {Size=1:20}

    A system identification name which was obtained through the GEDCOM registration process. This name must be unique from any other product. Spaces with in the name must be substituted with a 0x5F (underscore _) so as to create one word.

ATTRIBUTE_TYPE:=        {Size=1:15}


    An attribute which may have caused name, addresses, phone numbers, family listings to be recorded. Its application is in helping to classify sources used for information.

CASTE_NAME:=                {Size=1:90}

    A name assigned to a particular group that this person was associated with, such as a particular racial group, religious group, or a group with an inherited status.

CAUSE_OF_EVENT:=        {Size=1:90}

    Used in special cases to record the reasons which precipitated an event. Normally this will be used subordinate to a death event to show cause of death, such as might be listed on a death certificate.


    [ 0 | 1 | 2 | 3 ]

    The QUAY tag's value conveys a quantitative evaluation of the accuracy of a piece of information, based upon its supporting evidence. Some systems use this feature to rank multiple conflicting opinions for display of most likely information first. It is not intended to eliminate the receiver's need to evaluate the evidence for themselves.

    0    =    Unreliable evidence or estimated data

    1    =    Questionable reliability of evidence (interviews, census, oral genealogies, or potential for bias for example, an autobiography)

    2    =    Secondary evidence, data officially recorded sometime after event

    3    =    Direct and primary evidence used, or by dominance of the evidence

CHANGE_DATE:=            {Size=10:11}


    The date that this data was changed.

CHARACTER_SET:=        {Size=1:8}


    A code value that represents the character set to be used to interpret this data. The default character set is ANSEL, which includes ASCII as a subset. UNICODE is not widely supported by the current hardware population; therefore, GEDCOM produced using the UNICODE character set will be limited in acceptance for some time. See Chapter 3, starting on page . ASCII contains the character set from 0x0 to 0xFF.

    Note:The IBMPC character set is not allowed. This character set cannot be interpreted properly without knowing which code page the sender was using.


    A copyright statement needed to protect the rights of the owner of this data.

COUNT_OF_CHILDREN:=    {Size=1:3}

    The known number of children of this individual from all marriages or, if subordinate to a family record, the reported number of children known to belong to this family, regardless of whether the associated children are represented in the corresponding structure.

COUNT_OF_MARRIAGES:=    {Size=1:3}

    The number of different families that this person was known to have been a member of as a spouse or parent, regardless of whether the associated families are represented in the GEDCOM file.


    [ <YEAR_GREG> | <MONTH> + <YEAR_GREG> |

     <DAY> + <MONTH> + <YEAR_GREG> ]



     abt <DATE> |

     cal <DATE> |

     est <DATE> |

     int <DATE> (<DATE_PHRASE>)



    abt    =    About, meaning the date is not exact.

    cal    =    Calculated mathematically, for example, from an event date and age.

    est    =    Estimated based on an algorithm using some other event date.

    int    =    Interpreted from knowledge about the associated date phrase included in parentheses.





    LDS ordinance dates use only the Gregorian date and most often use the form of day, month, and year. Only in rare instances is there a partial date. The temple tag and code should always accompany temple ordinance dates. Sometimes the LDS_(ordinance)_DATE_STATUS is used to indicate that an ordinance date and temple code is not required, such as when BIC is used. (See LDS_(ordinance)_DATE_STATUS definitions beginning on page .)



     from <DATE> to <DATE>


     from <DATE>


     to <DATE>


    This date form is used to describe that a happening took place over a period of time, such as he resided from date to date, where as <DATE_RANGE> is used to describe that an event took place on a single date somewhere within a date range. The DATE_PERIOD uses the from date to date form to indicate a beginning date to an ending date.


    from    =    Indicates the beginning of a happening or state.

    to        =    Indicates the ending of a happening or state.


     from 1904 to 1915

        =    The state of some attribute existed from 1904 to 1915 inclusive.

     from 1904

        =    The state of the attribute began in 1904 but the end date is unknown.

     to 1915

        =    The state ended in 1915 but the begin date is unknown.

DATE_PHRASE:=                {Size=1:90}


    Any statement offered as a date when the year is not recognizable to date parsers, but which gives information about when an event occurred. The date phrase is enclosed in matching parentheses.



     bef <DATE> |

     aft <DATE> |

     bet <DATE> and <DATE>



    aft    =    Event happened after the given date.

    bef    =    Event happened before the given date.

    bet    =    Event happened some time between date 1 and date 2. For example, bet 1904 and 1915 indicates that the event state (perhaps a single day) existed somewhere between 1904 and 1915 inclusive.

    The date range differs from the date period in that the date range is an estimate that an event happened on a single date somewhere in the date range specified.

    The following are equivalent and interchangeable:

    Short form        Long Form

    ---------_        ---------_-

    1852                bet 1 JAN 1852 and 31 DEC 1852

    1852                bet 1 JAN 1852 and DEC 1852

    1852                bet JAN 1852 and 31 DEC 1852

    1852                bet JAN 1852 and DEC 1852

    JAN 1920        bet 1 JAN 1920 and 31 JAN 1920



     <DATE> |

     <DATE_RANGE> |




    If the date string does not fit the syntax, it is interpreted as free-form text that should be a DATE_PHRASE. A date phrase alone should be enclosed in parentheses. Interpretations of date phrases when offered must use the interpreted <DATE> (<DATE_PHRASE>) option of the <DATE_APPROXIMATE> form.

DAY:=                                {Size=1:2}


    Day of the month, where dd is a numeric digit whose value is within the valid range of the days for the associated calendar month.

DESCRIPTIVE_TITLE:=    {Size=1:213}

    The title of a work, record, item, or object.

DIGIT:=                            {Size = 1:1}

    A single digit (0-9).



    The date that this event data was entered into the original source document.





    A code that classifies the principal event or happening that caused the source record entry to be created. If the event or attribute doesn't translate to one of these tag codes, then a user supplied code is expected, but will be considered as the generic tag EVEN for source certainty evaluation.

EVENT_DESCRIPTOR:=    {Size=1:25}

    A descriptor that should be used whenever the EVEN tag is used to define the event being cited. For example, if the event was a purchase of a residence, the EVEN tag would be followed by a subordinate TYPE tag with the value "Purchased Residence." Using this descriptor with any of the other defined event tags basically classifies the basic definition of the associated tag but does not change its basic process. The form of using the TYPE tag with defined event tags has not been used by very many products, if any. The MARR tag could be subordinated with a TYPE tag and EVENT_DESCRIPTOR value of Common Law. Other possible descriptor values might include "Childbirth_unmarried," "Common Law," or "Tribal Custom," for example. The event descriptor should use the same word or phrase and in the same language, when possible, as was used by the recorder of the event. Systems that display data from the GEDCOM form should be able to display the descriptor value in their screen or printed output.



    A code that indicates the type of event which was responsible for the source entry being recorded. For example, if the entry was created to record a birth of a child, then the type would be BIRT regardless of the assertions made from that record, such as the mother's name or mother's birth date. This will allow a process to prioritize best view choices and also the certainty associated with the source used in asserting the cited fact.


    [ ANUL | CENS | DIV | DIVF | ENGA | MARR |


    A code used to indicate the type of family event. The definition is the same as the corresponding event tag defined in Appendix A. (See Appendix A, starting on page ).


    [ ADOP | BIRT | BAPM | BARM | BASM |

     BLES | BURI | CENS | CHR | CHRA |


     GRAD | IMMI | NATU | ORDN |

     RETI | PROB | WILL | EVEN ]

    A code used to indicate the type of family event. The definition is the same as the corresponding event tag defined in Appendix A. (See Appendix A, starting on page ).

EVENTS_RECORDED:=    {Size=1:90}



    An enumeration of the different kinds of events that were recorded in a particular source. Each enumeration is separated by a comma. Such as a parish register of births, deaths, and marriages would be BIRT, DEAT, MARR.

FILE_NAME:=                    {Size=1:90}

    The name of the GEDCOM transmission file. If the file name includes a file extension it must be shown in the form (filename.ext).


    A note that a user enters to describe the contents of the lineage-linked file in terms of "ancestors or descendants of" so that the person receiving the data knows what genealogical information the transmission contains.

GEDCOM_FORM:=            {Size=1:15}


    The GEDCOM form used to construct this transmission. This specification defines only the LINEAGE-LINKED form.


    The number of generations of ancestors included in this transmission. This value is usually provided when FamilySearch programs build a GEDCOM file for a patron requesting a download of ancestors.


    The number of generations of descendants included in this transmission. This value is usually provided when FamilySearch programs build a GEDCOM file for a patron requesting a download of descendants.

LANGUAGE_ID:=            {Size=1:25}

    A table of valid latin language identification codes.

    [    Afrikaans | Albanian | Anglo-Saxon | Catalan | Catalan_spn | Czech | Danish | Dutch | English | Esperanto | Estonian | Faroese | Finnish | French | German | Hawaiian | Hungarian | Icelandic | Indonesian | Italian | Latvian | Lithuanian | Navaho | Norwegian |

Polish | Portuguese | Romanian | Serbo_Croa | Slovak | Slovene | Spanish | Swedish | Turkish | Wendic ]

    Other languages not supported until UNICODE

    [    Amharic | Arabic | Armenian | Assamese | Belorusian | Bengali | Braj | Bulgarian | Burmese | Cantonese | Church-Slavic | Dogri | Georgian | Greek | Gujarati | Hebrew | Hindi | Japanese | Kannada | Khmer | Konkani | Korean | Lahnda | Lao | Macedonian | Maithili | Malayalam | Mandrin | Manipuri | Marathi | Mewari | Nepali | Oriya | Pahari | Pali | Panjabi | Persian | Prakrit | Pusto | Rajasthani | Russian | Sanskrit | Serb | Tagalog | Tamil | Telugu | Thai | Tibetan | Ukrainian | Urdu | Vietnamese | Yiddish ]

LANGUAGE_OF_TEXT:=    {Size=1:25}

    [ <LANGUAGE_ID> ]

    The human language in which the data in the transmission is normally read or written. It is used primarily by programs to select language-specific sorting sequences and phonetic name matching algorithms.


    [ <LANGUAGE_ID> ]

    The language in which a person prefers to communicate. Multiple language preference is shown by using multiple occurrences in order of priority.


    [ child | cleared | completed | infant | pre-70 |

     qualified | stillborn | submitted | uncleared ]

    A code indicating the status of an LDS baptism and confirmation date where:

    child                =    Died before eight years old.

    cleared            =    Baptism has been cleared for temple ordinance.

    completed        =    Completed but the date is not known.

    infant            =    Died before less than one year old, baptism not required.

    qualified        =    Ordinance request qualified by authorized criteria.

    pre-1970        =    Ordinance is likely completed, another ordinance for this person was converted from temple records of work completed before 1970, therefore this ordinance is assumed to be complete until all records are converted.

    stillborn        =    Stillborn, baptism not required.

    submitted        =    Ordinance was previously submitted.

    uncleared        =    Data for clearing ordinance request was insufficient.


    [ child | cleared | completed | infant | pre-70 |

     qualified | stillborn | submitted | uncleared ]

    A code indicating the status of an LDS ordinance where:

    child                =    Died before eight years old.

    cleared            =    Endowment has been cleared for temple ordinance.

    completed        =    Completed but the date is not known.

    infant            =    Died before less than one year old, baptism not required.

    qualified        =    Ordinance request qualified by authorized criteria.

    pre-1970        =    (See pre-70 under LDS_BAPTISM_DATE_STATUS on page .)

    stillborn        =    Stillborn, baptism not required.

    submitted        =    Ordinance was previously submitted.

    uncleared        =    Data for clearing ordinance request was insufficient.


    [ BIC | cleared | completed | DNS | pre-70 |

     qualified | stillborn | submitted | uncleared ]

    BIC                =    Born in the covenant receiving blessing of child to parent sealing.

    cleared            =    Sealing has been cleared for temple ordinance.

    completed        =    Completed but the date is not known.

    DNS                =    This record is not being submitted for this temple ordinances.

    qualified        =    Ordinance request qualified by authorized criteria.

    pre-1970        =    (See pre-70 under LDS_BAPTISM_DATE_STATUS on page .)

    stillborn        =    Stillborn, not required.

    submitted        =    Ordinance was previously submitted.

    uncleared        =    Data for clearing ordinance request was insufficient.


    [ cancelled | cleared | completed | DNS | DNS/CAN | pre-70 |

     qualified | submitted | uncleared ]

    canceled        =    Canceled and considered invalid.

    cleared            =    Sealing has been cleared for temple ordinance.

    completed        =    Completed but the date is not known.

    DNS                =    This record is not being submitted for this temple ordinances.

    DNS/CAN        =    This record is not being submitted for this temple ordinances.

    qualified        =    Ordinance request qualified by authorized criteria.

    pre-1970        =    (See pre-70 under LDS_BAPTISM_DATE_STATUS on page .)

    submitted        =    Ordinance was previously submitted.

    uncleared        =    Data for clearing ordinance request was insufficient.


    [ JAN | Jan | FEB | Feb | MAR | Mar | APR | Apr | MAY | May | JUN | Jun |

     JUL | Jul | AUG | Aug | SEP | Sep | OCT | Oct | NOV | Nov | DEC | Dec ]


    JAN        | Jan    =    January

    FEB        | Feb    =    February

    MAR    | Mar     =    March

    MAY    | May    =    May

    JUN        | Jun    =    June

    JUL        | Jul        =    July

    AUG    | Aug    =    August

    SEP        | Sep    =    September

    OCT        | Oct    =    October

    NOV    | Nov    =    November

    DEC        | Dec    =    December


    A complete local or remote file reference to the auxiliary data to be linked to the GEDCOM context. Remote reference would include a network address in where the multimedia data could be obtained.

MULTIMEDIA_FORMAT:=    {Size=1:10}

    [ bmp | gif | jpeg | ole | pcx | tiff | wav ]

    Indicates the format of the multimedia data associated with the specific GEDCOM context. This allows processors to determine whether they can process the data object. Any linked files should contain the data required, in the indicated format, to process the file data. Industry standards will emerge in this area and GEDCOM will then narrow its scope.

NAME_OF_BUSINESS:=    {Size=1:90}    

    Name of the business, corporation, or person that produced or commissioned the product.

NAME_OF_FAMILY_FILE:=    {Size=1:120}

    Name under which family names for ordinances are stored in the temple's family file.

NAME_OF_PRODUCT:=    {Size=1:90}

    The name of the software product that produced this transmission.

NAME_OF_REPOSITORY:=    {Size=1:90}

    The official name of the archive in which the stated source material is stored.

NAME_OF_SOURCE_DATA:=    {Size=1:90}

    The name of the electronic data source that was used to obtain the data in this transmission. For example, the data may have been obtained from a CD-ROM disc that was named "U.S. 1880 CENSUS CD-ROM vol. 13."

NAME-PERSONAL:=        {Size=1:120}


     <TEXT> |

     <TEXT> "<NICKNAME>" |

     "<NICKNAME>" <TEXT> |

    /<TEXT>/ |

     <TEXT> /<TEXT>/ |

    /<TEXT>/ <TEXT> |

     <TEXT> /<TEXT>/ <TEXT>


    The surname of an individual, if known, is enclosed between two slash (/) characters. The order of the name parts should be the order that the person would customarily have used when giving it to a recorder. Early versions of Personal Ancestral File® and other products did not use the trailing slash when the surname was the last element of the name. If part of name is illegible, that part is indicated by an ellipses (...). Capitalize the name of a person or place in the conventional manner_capitalize the first letter of each part and lowercase the other letters, unless conventional usage is otherwise. For example: McMurray. A nickname can be included by enclosing the nickname part in double quotes (").


    William Lee (given name only or surname not known)

    /Parry/ (surname only)

    William Lee "Bill" /Parry/

    William Lee /Mac Parry/ (both parts (Mac and Parry) are surname parts

    William /Lee/ Parry (surname imbedded in the name string)

    William Lee /Pa.../

NAME_PIECE:=                 {Size=1:90}

    The piece of the name pertaining to the name part of interest. The surname part, the given name part, the name prefix part, or the name suffix part.

NAME_PIECE_GIVEN:=    {Size=1:90}


    Given name or earned name. Different given names are separated by a comma.

NAME_PIECE_SURNAME:=    {Size=1:90}


    Surname or family name. Different surnames are separated by a comma.

NAME_PREFIX:=                {Size=1:90}


    Non indexing name piece that appears preceding the given name and surname parts. Different name prefix parts are separated by a comma.

     For example:

     Lt. Cmndr. Joseph /Allen/ jr.

    In this example Lt. Cmndr. is considered as the name prefix portion.

NAME_SUFFIX:=                {Size=1:90}


    Non-indexing name piece that appears after the given name and surname parts. Different name suffix parts are separated by a comma.

     For example:

    Lt. Cmndr. Joseph /Allen/ jr.

    In this example jr. is considered as the name suffix portion.

NATIONAL_ID_NUMBER:=    {Size=1:30}

    A nationally-controlled number assigned to an individual. Commonly known national numbers should be assigned their own tag, such as SSN for U.S. Social Security Number. The use of the IDNO tag requires a subordinate TYPE tag to identify what kind of number is being stored.

     For example:

    n IDNO 43-456-1899

        +1 TYPE Canadian Health Registration


    The person's division of national origin or other folk, house, kindred, lineage, or tribal interest. Examples: Irish, Swede, Egyptian Coptic, Sioux Dakota Rosebud, Apache Chiricawa, Navajo Bitter Water, Eastern Cherokee Taliwa Wolf, and so forth.

NEW_TAG:=                    {Size=1:15}

    A user-defined tag that is contained in the GEDCOM current transmission. This tag must begin with an underscore (_) and should only be interpreted in the context of the sending system.

NOBILITY_TITLE:=            {Size=1:120}

    The title given to a person of royalty or other nobility class within a locality.

NULL:=                            {Size=0:0}

    A convention that indicates the absence of any 8-bit ASCII character in the value including the null character (0x00) which is prohibited.


    [<DIGIT> | <NUMBER>+<DIGIT>]

OCCUPATION:=                {Size=1:90}

    The kind of activity that an individual does for a job, profession, or principal activity.


    [ yes | no ]

    A flag that indicates whether submission should be processed for clearing temple ordinances.


    [ adopted | birth | foster | sealing ]

    A code used to indicate the child to family relationship for pedigree navigation purposes.


    adopted    =    indicates adoptive parents.

    birth        =    indicates birth parents.

    foster    =    indicates child was included in a foster or guardian family.

    sealing    =    indicates child was sealed to parents other than birth parents.



    The record number that uniquely identifies this record within a registered network resource. The number will be usable as a cross reference pointer. The use of the colon (:) is reserved to indicate the separation of the "registered resource identifier" (which precedes the colon) and the unique "record identifier" within that resource (which follows the colon). If the colon is used, implementations that check pointers should not expect to find a matching cross reference identifier in the transmission but would find them in the indicated database within a network. Making resource files available to a public network is a future implementation.

PHONE_NUMBER:=            {Size=1:25}

    A phone number.


    An unstructured list of the attributes that describe the physical characteristics of a person, place, or object. Commas separate each attribute.


    1 DSCR Hair Brown, Eyes Brown, Height 5 ft 8 in

        2 DATE 23 JUL 1935

PLACE_HIERARCHY:=    {Size=1:120}

    This shows the jurisdictional entities that are named in a sequence from the lowest to the highest jurisdiction. The jurisdictions are separated by commas, and any jurisdiction's name that is missing is still accounted for by a comma. When a PLAC.FORM structure is included in the HEADER of a GEDCOM transmission, it implies that all place names follow this jurisdictional format and each jurisdiction is accounted for by a comma, whether the name is known or not. When the PLAC.FORM is subordinate to an event, it temporarily overrides the implications made by the PLAC.FORM structure stated in the HEADER. This usage is not common and,

therefore, not encouraged. It should only be used when a system has over-structured its place-names.



    The locality of the place where a living LDS ordinance took place. Usually only a living LDS baptism place is recorded in this field.

PLACE_VALUE:=            {Size=1:120}


     <TEXT> |



    The jurisdictional name of the place where the event took place. Jurisdictions are separated by commas, for example, "Cove, Cache, Utah, USA." If the actual jurisdictional names of these places have been identified, they can be shown using a PLAC.FORM structure either in the HEADER or in the event structure. (See <PLACE_HIERARCHY>, page .)

POSSESSIONS:=                {Size=1:213}

    A list of possessions (real estate or other property) belonging to this individual.

PUBLICATION_DATE:=    {Size=1:90}


    The date this source was published or created.


    The name of the system expected to process the GEDCOM-compatible transmission. The registered RECEIVING_SYSTEM_NAME for all GEDCOM submissions to the Family History Department must be one of the following names:

    *    "ANSTFILE" when submitting to Ancestral File.

    *    "TempleReady" when submitting for temple ordinance clearance.

RECORD_IDENTIFIER:=    {Size=1:18}

    An identification number assigned to each record within a specific database. If a colon (:) and a record number precedes this identifier, the number refers to a registered resource identified by the data. If a record number does not precede the colon, it is a reference to a record within the current database. If the colon is not present, it is the identification of a record within the current GEDCOM transmission file.


    This is an identifier assigned to a resource database that is available through access to an available network including the network address. (This is in the plans for future GEDCOM releases.)


    A word or phrase that states object 1's relation is object 2. For example you would read the following as "Joe Jacob's great grandson is the submitter pointed to by the @XREF:SUBM@":

    0 INDI

        1 NAME Joe /Jacob/

        1 ASSO @<XREF:SUBM>@

            2 TYPE great grandson


    A name of the religion with which this person, event, or record was affiliated.

RELIGIOUS_NAME:=        {Size=1:120}

    A name given to a person to be used in connection with a religion.

RESPONSIBLE_AGENCY:=    {Size=1:120}

    The organization, institution, corporation, person, or other entity that has authority or control interests in the associated context. For example, an employer of a person of an associated occupation, or a church that administered rites or events, or an organization responsible for creating and/or archiving records.


    [ locked | privacy ]

    The restriction notice is defined for Ancestral File usage. Ancestral File download GEDCOM files may contain this data.


    locked    =    Some records in Ancestral File have been satisfactorily proven by evidence, but because of source conflicts or incorrect traditions, there are repeated attempts to change this record. By arrangement, the Ancestral File Custodian can lock a record so that it cannot be changed without an agreement from the person assigned as the steward of such a record. The assigned steward is either the submitter listed for the record or Family History Support when no submitter is listed.

    privacy    =    Information concerning this record is not present due to rights of or an approved request for privacy.

ROLE_DESCRIPTOR:=        {Size=1:25}

    A word or phrase that identifies a person's role in an event being described. This should be the same word or phrase, and in the same language, that the recorder used to define the role in the actual record.

ROLE_IN_EVENT:=            {Size=1:15}


    Indicates what role this person played in the event that is being cited in this context. For example, if you cite a child's birth record as the source of the mother's name, the value for this field is "MOTH." If you describe the groom of a marriage, the role is "HUSB." If the role is something different than one of the six relationship role tags listed above then enclose the role name within matching parentheses.


    A description of a scholastic or educational achievement or pursuit.

SEX_VALUE:=                {Size=1:7}

    A code that indicates the sex of the individual:

    M    =    Male

    F        =    Female

    U        =     Unknown


    A number assigned to a person in the United States for identification purposes.

SOURCE_CALL_NUMBER:=    {Size=1:120}

    An identification or reference description used to file and retrieve items from the holdings of a repository.

SOURCE_DESCRIPTION:=    {Size=1:213}

    A free form text block used to describe the source from which information was obtained. This text block is used by those systems which cannot use a pointer to a source record. It must contain a descriptive title, who created the work, where and when it was created, and where is source data stored. The developer should encourage users to use an appropriate style for forming this free form bibliographic reference. Developers are encouraged to support the SOURCE_RECORD method of reporting bibliographic reference descriptions.


    The title of the work, record, or item and, when appropriate, the title of the larger work or series of which it is a part.

    For a published work, a book for example, might have a title plus the title of the series of which the book is a part. A magazine article would have a title plus the title of the magazine that published the article.

    For An unpublished work, such as:

    *    A letter might include the date, the sender, and the receiver.

    *    A transaction between a buyer and seller might have their names and the transaction date.

    *    A family Bible containing genealogical information might have past and present owners and a physical description of the book.

    *    A personal interview would cite the informant and interviewer.

SOURCE_FILED_BY_ENTRY:=    {Size= 1:60}

    This entry is to provide a short title used for sorting, filing, and retrieving source records.



    The name of the lowest jurisdiction that encompasses all lower-level places named in this source. For example, "Oneida, Idaho" would be used as a source jurisdiction place for events occurring in the various towns within Oneida County. "Idaho" would be the source jurisdiction place if the events recorded took place in other counties as well as Oneida County.

SOURCE_MEDIA_TYPE:=    {Size=1:15}

    [ audio | book | card | electronic | fiche | film | magazine |

     manuscript | map | newspaper | photo | tombstone | video ]

    A code, selected from one of the media classifications choices above, that indicates the type of material in which the referenced source is stored.

SOURCE_ORIGINATOR:=    {Size=1:213}

    The person, agency, or entity who created the record. For a published work, this could be the author, compiler, transcriber, abstractor, or editor. For an unpublished source, this may be an individual, a government agency, church organization, or private organization, etc.


    When and where the record was created. For published works, this includes information such as the city of publication, name of the publisher, and year of publication.

    For an unpublished work, it includes the date the record was created and the place where it was created. For example, the county and state of residence of a person making a declaration for a pension or the city and state of residence of the writer of a letter.


    This is a number in which has been registered to a submitter of Ancestral File data. This number can be used as a part of a submitter's record format to insure matching of submitters.

SUBMITTERS_TEXT:=        {Size=1:213}

    Comments or opinions from the submitter.

TEMPLE_CODE:=            {Size=5:5}

    A 5-character abbreviation of the temple in which LDS temple ordinances were performed. (See Appendix C, page .)

TEXT:=                            {Size=1:213}

    A string composed of any valid character from the GEDCOM character set.

TEXT_FROM_SOURCE:=    {Size=1:213}


    A verbatim copy of any description contained within the source. This indicates notes or text that are actually contained in the source document, not the submitter's opinion about the source. This should be, from the evidence point of view, "what the original record keeper said" as opposed to the researcher's interpretation. The word TEXT, in this case, means from the text which appeared in the source record including labels.

TIME_VALUE:=                {Size=1:10}

    [ hh:mm:ss.fs ]

    The time of a specific event, usually a computer-timed event, where:

    hh    =    hours on a 24-hour clock

    mm    =    minutes

    ss        =    seconds (optional)

    fs        =    decimal fraction of a second (optional)

TRANSMISSION_DATE:=    {Size=10:11}


    The date that this transmission was created.


    A user-defined number or text that the submitter uses to identify this record. For instance, it may be a record number within the submitter's automated or manual system, or it may be a page and position number on a pedigree chart.


    A line from a multimedia object which has been UUENCODED. Each line of the encoded object is packaged in a GEDCOM form by preceding it with a level number and a CONTinuation

tag. Reading of this data requires stripping the GEDCOM packaging, writing to a temporary file and then decoding it with an UUDECODE routine which yields the original object.

VERSION_NUMBER:=        {Size=1:15}

    An identifier that represents the version level assigned to the associated product. It is defined and changed by the creators of the product.

WHERE_WITHIN_SOURCE:=    {Size=1:213}

    Specific location with in the information referenced. For a published work, this could include the volume of a multi-volume work and the page number(s). For a periodical, it could include volume, issue, and page numbers. For a newspaper, it could include a column number and page number. For an unpublished source, this could be a sheet number, page number, frame number, etc. A census record might have a line number or dwelling and family numbers in addition to the page number.

XREF:=                            {Size=1:22}

    Either a pointer or an unique cross reference identifier. If this element appears before the tag in a GEDCOM line, then it is a cross reference identifier. If it appears after the tag in a GEDCOM line, then it is a pointer. The method of delimiting a pointer or cross reference identifier is to enclose the pointer or cross reference identifier within at signs (@), for example, @I123@. A XREF may not begin with a number sign (#). This is to avoid confusion with an escape sequence prefix (@#). The use of a colon (:) in the XREF is reserved for creating future network cross-references. Uniqueness of the cross reference identifier is required within the transmission file.

XREF:FAM:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, a fam_record.

XREF: INDI:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, an individual record.

XREF: NOTE:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, a note record.

XREF:OBJE:=                    {Size=1:22}

    A pointer to, or a cross freference identifier of, a multimedia object.

XREF:REPO:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, a repository record.

XREF: SOUR:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, a SOURce record.

XREF:SUBM:=                {Size=1:22}

    A pointer to, or a cross reference identifier of, a SUBMitter record.

XREF:SUBN:=                    {Size=1:22}

    A pointer to, or a cross reference identifier of, a SUBmissioN record.


    A numeric representation of the calendar year in which an event occurred.



    The slash "/" <DIGIT><DIGIT> a year modifier which shows the possible date alternatives for pre-1752 date brought about by a changing the beginning of the year from APR to JAN in the English calendar change of 1752, for example, 15 MAR 1699/00. A (B.C.) appended to the <YEAR> indicates a date before the birth of Christ.

Compatibility with Other GEDCOM Versions

Products based on GEDCOM 5.4 are generally compatible with products based on earlier versions of GEDCOM 5.x, but not totally. The success in which genealogical data is shared depends upon the various products conforming to a GEDCOM standard. GEDCOM 5.4 was designed to allow for the expression of the most common documented genealogical facts and at the same time narrowing the different ways of expressing them. We encourage all developers to adapt their products to the GEDCOM 5.5 standard. Systems compatible only with 4.0 GEDCOM (Personal Ancestral File 2.x GEDCOM) specifications will only be able to read and write a subset of the data specified by GEDCOM 5.5. Some earlier systems that were created at the same time GEDCOM specifications were being developed have introduced their own variations into their GEDCOM form. This will likely provide unique problems with compatibility.

The following are areas in which incompatibilities may arise:

*     Source Structure:

    The SOURce structure was not supported by GEDCOM in versions before 5.x. However, some products, prior to GEDCOM 5.x, developed a SOURce structure for citing sources. These structures varied from product to product, which affects how source citations are interpreted. Products based on 5.x GEDCOM, prior to GEDCOM 5.4, may have used the more detailed source structure suggested by the previous 5.x versions. Older systems already handling sources will need to be modified. GEDCOM 5.x draft products will be encouraged to update their programs to The GEDCOM Standard 5.5 as soon as possible, once it is published.

*     FAMC Pointer:

    The INDI.FAMC structure has been modified a lot since GEDCOM 4.0. In previous GEDCOM 5.x versions the FAMC structure may contain subordinate adoption events and/or LDS sealing to parent events. See the compatibility implications concerning the LDS sealing to parent event treated in the "LDS Ordinances Dates" in the next paragraph.

*     LDS Ordinance Dates:

    The structure for LDS sealing of child to parent was changed in previous GEDCOM 5.x draft versions from the FAM.CHIL.SLGC structure to the INDI.FAMC.SLGC structure. This was to allow access to child sealing information without having to follow a pointer to the family record. Personal Ancestral File 2.31 writes the sealing date in the FAM.CHIL.SLGC structure but reads this information from either format.

    GEDCOM 5.4 places the sealing of child to parent event at the same level as all of the other events that are subordinate to the INDIvidual tag. If a system is keeping track of which family the individual is sealed to, then a FAMC pointer is inserted subordinate to the SLGC event tag that points to the sealed to family.

    To accommodate previous GEDCOM imports, systems handling the LDS ordinance events should look for the child sealing information in either INDI.SLGC (see LDS_INDIVIDUAL_ORDINANCE page , INDI.FAMC.SLGC or FAM.CHIL.SLGC structures.

    GEDCOM 4.x systems used certain key words as part of the ordinance dates. GEDCOM 5.x separated these codes from the dates and specified that they should be values of a subordinate STATus tag. Previous GEDCOM 5.x implementations may have implemented this feature using

a TYPE tag instead of the STATus tag. (See <LDS_(ordinance)_DATE_STATUS>, page .)

*     Adoption Events:

    In GEDCOM 5.x, the ADOPtion event was moved from the FAM.CHIL structure to the INDI.FAMC.ADOP structure, it also appears in the INDI.ADOP structure. In GEDCOM 5.4 the ADOPtion event appears only as an individual event which optionally contains a FAMC pointer to the adoptive family. Subordinate to this pointer is another ADOPtion tag which indicates whether the HUSB or WIFE in the pointed at family was the adoptive parent (see <ADOPTED_BY_WHICH_PARENTS> primitive on page ). Pedigree navigation is provided by <<CHILD_TO_FAMILY_LINK>> structure found on page .

*     Codes in Event Date:

    Some applications, such as Personal Ancestral File, passes key words as part of certain event dates. Some of these key words were infant, child, stillborn, etc. These have to do with being an approximate age at an event.

    In this version of GEDCOM, the information has been removed from the date value and specified by an <AGE_AT_EVENT> key word value which indicates a specific age value at the time of the enclosing event. (See <AGE_AT_EVENT>, page .) For example:

        1 DEAT

            2 DATE 13 MAY 1984

            2 AGE STILLBORN

    meaning this person died at age approximately 0 days old.

        1 DEAT

            2 DATE 13 MAY 1984

            2 AGE INFANT

    meaning this person died at age less than 1 year old.

*     Multiple Names:

    GEDCOM 5.x requires listing different names in different NAME structures, with the preferred instance first, followed by less preferred names. However, Personal Ancestral File and other products that only handle one name may use only the last instance of a name from a GEDCOM transmission. This causes the preferred name to be dropped when more than one name is present. The same thing often happens with other multiple-instance tags when only one instance was expected by the receiving system. When exporting data to GEDCOM systems compatible only with (PAF GEDCOM), you should consider writing only the preferred name under the name tag and export the other names in a note field.

*     Alias Names:

    In GEDCOM 4.0, the ALIAs tag was inadvertently specified for representing multiple names.

*     Event Structure:

    The address structure, as part of the place structure, provided more detail than desired for the PLACe structure. Therefore it was removed from beneath the place structure and added to the <<EVENT_DETAIL>> structure at the same level as PLACe. The SITE tag was also eliminated from the PLACe structure since the site of an event is really part of an address, such as Primary Children's Hospital, 100N Medical Drive, Salt Lake City, Utah.

*     Supplemental Attributes or Facts:

    Sometimes other attributes or facts are used to describe an individual's actions, physical description, employment, education, places of residence, etc. These may not be considered events. However, they can and often times are described much like an event because they were observed at a particular time and/or place. GEDCOM 5.x lists these attributes under the <<INDIVIDUAL_ATTRIBUTE_STRUCTURE>> on page and allows them to be recorded in the same way as events. The attribute definition allows a value on the same line as the attribute tag. In addition, it allows a subordinate date period, place and/or address, etc. to be transmitted just as the events are. Previous versions, which handled just a tag and value, can be read as usual by handling the subordinate attribute detail as an exception.

Packaging the GEDCOM Transmission File

The GEDCOM transmission is normally created on a DOS or Macintosh® compatible diskette. The DOS filename extension is (.GED). Macintosh filenames do not use file extensions.

When the GEDCOM file is too large to fit on a single diskette, the file is divided after any whole-line (last character is the terminator), and the DOS filename extension becomes (G##) where (##) is (00) for the second disk, (01) for the third, and so forth. For Macintosh filenames, append the two digits to the subsequent filenames in parentheses. (See the example below.) This allows the receiving software to ensure that disks are read in the correct sequence.

Given that the user-supplied portion of the file name is SMITH, then the complete filenames for a three-disk transmission would be:

        Disk    DOS Filename    Macintosh Filename

         1        SMITH.GED    SMITH

         2        SMITH.G00    SMITH(00)

         3        SMITH.G01    SMITH(01)

The required GEDCOM HEADer record appears only on the first disk and the required TRLR (trailer) record appears only on the last disk and must be followed by the terminator.

User-Defined Tags

We do not encourage the use of user-defined GEDCOM tags. Applications requiring the use of non-standard tags should define them with a leading underscore so that they will not conflict with future GEDCOM standard tags. Systems that read user-defined tags must consider that they have meaning only with respect to a system contained in the HEAD.SOUR context.

Escape Sequence Format for the Lineage-Linked Form

The Lineage-Linked GEDCOM Form no longer uses the escape sequence feature provided in the GEDCOM grammar.

Sample Lineage-Linked GEDCOM Transmission

The example below shows how some of these value types appear in a valid GEDCOM lineage-linked transmission. The example is a sample transmission of genealogical information about three individuals who are members of the same family_father, mother, and child. In the example, "Joe/Williams/" is the value specified by the tag NAME under the INDI tag for the record (@3@). Other values in other lines, such as the birth date and place, provide additional information about Joe Williams. The value (@4@) specified by the FAMC tag is a pointer to the FAM_RECORD (@4@) of which Joe Williams is a child. Included also in this transmission example are three other record types: a source record, a submitter record, and a repository record. These records are

pointed to from within other records in the transmission. This shows how pointer values can be used in creating Lineage-Linked GEDCOM Form.

Example: ( Indentation and bolding are added for readability only.)

    0 HEAD

        1 SOUR PAF

            2 VERS 2.1


        1 SUBM @5@

        1 SUBN @8@

        1 GEDC

            2 VERS 5.4

            2 FORM Lineage-Linked

    0 @1@ INDI

        1 NAME Robert Eugene/Williams/

        1 SEX M

        1 BIRT

            2 DATE 02 OCT 1822

            2 PLAC Weston, Madison, Connecticut

            2 SOUR @6@

                3 PAGE Sec. 2, p. 45

                3 EVEN BIRT

                    4 ROLE CHIL

        1 DEAT

            2 DATE 14 APR 1905

            2 PLAC Stamford, Fairfield, CT

        1 BURI

            2 PLAC Spring Hill Cem., Stamford, CT

        1 RESI

            2 ADDR 73 North Ashley

                3 CONT Spencer, Utah UT84991

            2 DATE from 1900 to 1905

        1 FAMS @4@

        1 FAMS @9@

    0 @2@ INDI

        1 NAME Mary Ann/Wilson/

        1 SEX F

        1 BIRT

            2 DATE Bef 1828

            2 PLAC Connecticut

        1 FAMS @4@

    0 @3@ INDI

        1 NAME Joe/Williams/

        1 SEX M

        1 BIRT

            2 DATE 11 JUN 1861

            2 PLAC Idaho Falls, Bonneville, Idaho

        1 FAMC @9@

        1 FAMC @4@

            2 PEDI Adopted

        1 ADOP

            2 FAMC @9@

            2 Date 16 MAR 1864

        1 SLGC

            2 FAMC @9@

            2 DATE 2 OCT 1987

            2 TEMP SLAKE

    0 @4@ FAM

        1 MARR

            2 DATE DEC 1859

            2 PLAC Rapid City, South Dakota

        1 SLGS

            2 DATE 14 JUN 1975

            2 TEMP SLAKE

        1 HUSB @1@

        1 WIFE @2@

        1 CHIL @3@

    0 @5@ SUBM

        1 NAME Reldon /Poulson/

        1 ADDR 1900 43rd Street West

            2 CONT Billings, MT 68051

            2 PHON (406) 555-1232

    0 @6@ SOUR

        1 DATA

            2 EVEN BIRT, DEAT, MARR

                3 DATE from Jan 1820 to DEC 1825

            2 PLAC Madison, Connecticut

            2 AGNC Madison County Court, State of Connecticut

        1 TITL Madison County Birth, Death, and Marriage Records


        1 REPO @7@

            2 CALN 13B-1234.01

            2 MEDI Microfilm

    0 @7@ REPO

        1 NAME Family History Library

        1 ADDR 35 N West Temple Street

            2 CONT Salt Lake City, Utah

            2 CONT UT 84150

    0 @8@ SUBN

        1 SUBM @ 5@

        1 FAMF Reg Poulson Family

        1 TEMP SLAKE

    0 @9@ FAM

        1 HUSB @1@

        1 CHIL @3@

    0 TRLR

The following is an example of a SOURCE_CITATION subordinate to the birth event being cited that does not contain a pointer to a SOURCE_RECORD. (This is not encouraged.)

    0 INDI

        1 NAME Fred /Jones/

        1 BIRT

            2 DATE 14 MAY 1812

            2 PLAC Tonbridge, Kent, England

            2 SOUR Waters, Henry F., Genealogical Gleanings in England: Abstracts of

                3 CONC Wills Relating to Early American Families. 2 vols., reprint 1901, 1907.

                3 CONC Baltimore: Genealogical Publishing Co., 1981.

                3 CONC Stored in Family History Library book 942 D2wh; films 481,057-58

                3 CONC Vol 2, page 388.

Systems which manage source records would place the SOURce text in the TITLe text block of their source record.

    blank page

Chapter 3

Using Character Sets in GEDCOM


GEDCOM needs to accommodate different character sets to facilitate the sharing of genealogical data in different languages. To minimize the number of differing standards, we have chosen to have each system convert its usage to ANSEL, and eventually to UNICODE.

In January 1991, a Unicode Consortium was founded to promote the use of the Unicode standard, which accommodates most all characters in one character set. (See the section "Unicode," on page .) The Unicode Consortium has agreed with the ISO 10646 standard to merge, and Unicode will be a subset of the ISO 10646 international character encoding standard.

Currently, it is difficult to handle the two- and four-character code sequences (wide characters). Therefore, until multi-byte handling becomes more common, ANSEL will be used to represent Latin-based characters.

The GEDCOM Standard does not address the implementation methods for multilingual processing, such as keyboard arrangements, sorting sequences, or character and graphic representations (font styles, proportional spacing, and so forth) on the CRT or printers. However, the Unicode standard has defined formatting characters that will indicate the direction of the text presentation and other text formatting character code.

Systems using code pages to provide diacritics must convert all characters above character codes 128 to its ANSEL representation for that code page.

Most of the genealogy systems developed so far use ASCII, ANSEL, or both. ANSEL accommodates the set of Latin-based languages, as explained below.


The 8-Bit ANSEL (American National Standard for Extended Latin Alphabet Coded Character Set for Bibliographic Use, Z39.47-1985 copyright) is the preferred character set for GEDCOM. It is used for all transmissions of information unless another character set is specified.

Using this character set standard makes it possible to preserve the full integrity of the language by providing a method of using the standard ASCII character set and supplementing it with both non-spacing character modifiers (diacritic) as well as spacing special characters.

Note:Non-spacing means that the diacritic is printed without advancing the device's print position. The character being modified is then printed in the same position, resulting in a combined image of both the character and the diacritic(s).

Storing ANSEL requires storing the non-spacing graphic character(s) preceding the ASCII character that the diacritic is to modify. The ANSEL standard specifies an extended 8-bit configuration (above 128) to represent the spacing and non-spacing graphic characters that make up most of the Latin based languages. ANSEL is a super-set of ASCII. The standard ASCII characters including the control characters are preserved.

ANSEL is known by two other names:

    *    ANSI Z39.47-1985

    *    American Library Association character set, used in library systems worldwide, including the MARC (Machine-Readable Catalog) format.

A description of the codes for the ANSEL character set has been reproduced with permission and is included with the printed version of The GEDCOM Standard. The description of ANSEL codes is not included in the electronic version. This description may be purchased from_

American National Standards Institute

1430 Broadway

New York, N.Y. 10018

The description of the ANSEL character set standard includes the following:

    *    An 8-Bit Code Table showing the ASCII and extended ANSEL codes

    *    An explanation or legend of these codes

    *    A chart that identifies the ANSEL Non-spacing Graphic Characters

    *    A chart that identifies the ASCII Control Characters

    *    A chart that identifies the ASCII Graphic Characters

Character set codes 0 through 127 are the same for 8-Bit ANSEL and 8-Bit ASCII (USA version_ANSI 8-Bit). Character set codes 128 through 255 are unique to the ANSEL character set.

ASCII (USA Version)

When a language does not need diacritics or other special characters, and if you are not transmitting binary data, you will find it convenient to use ASCII (8-bit USA version) if your computer already supports it. This is a standard of the American National Standards Institute (ANSI). Most of the basic printable characters of ANSEL and ASCII (USA version_ANSI 8-Bit) are identical.


The Unicode standard is a new character code designed to encode text for storage in computer files. It is a subset of the upcoming ISO 10646 standard. The design of the Unicode standard is based on the simplicity and consistency of today's prevalent character code set, extended ASCII code set, but goes far beyond ASCII's limited ability to encode only the Latin alphabet: the Unicode encoding provides the capacity to encode most all of the characters used for written languages throughout the world. In order to accommodate the many thousands of characters used in the international text, the Unicode standard uses a 16-bit code set instead of extended ASCII's 8-bit code set. This expansion provides codes for approximately 65,000 characters. The Unicode standard assigns each character a unique 16-bit value, and does not use complex modes or escape codes to specify modified characters or special cases. UNICODE may adopt a 32-bit code to represent characters which should allow for all character representations. The text representation of the Unicode 16-bit numbers is U+0041 which is assigned to the letter A, 65 decimal. The Unicode standard includes the Latin alphabet used for English, the Cyrillic alphabet used for Russian, the Greek, Hebrew, and Arabic alphabets. Other alphabets used in countries across Europe, Africa, the Indian subcontinent, and Asia, such as Japanese Kana, Korean Hangul, and Chinese Bopomofo are included. The largest part of the Unicode standard is devoted to thousands of unified character codes for Chinese, Japanese, and

Korean ideographs. (See "The Unicode standard", vol. 1 and 2, published by Addison-Wesley Publishing, for character code standards.)

The Unicode character set environment, which contains a character set for all languages, minimizes previous GEDCOM requirements to provide escape sequences for moving from one character set to another. If the Unicode environment is used to produce a GEDCOM transmission, the header record would also be in Unicode, requiring receiving systems to determine whether the transmission is Unicode or ASCII before they could interpret the GEDCOM header. This would be done by reading the first two bytes of the transmission. If the first two bytes are 0x30 and 0x20 then the transmission will be in either ASCII or ANSEL as determined by the header record. If the first two bytes are 0x30 and 0x00 then the transmission should be processed as a Unicode transmission. (Different platforms may reverse the position of the null byte, in which case the test would be for 0x00 and 0x30.)

How to Change Character Sets

The character set for an entire transmission is specified in the character set line of the header record.

The example below shows the specification in the header record.


    Lvl Tag Value

    0 HEAD

        1 SOUR PAF

            2 VERS 2.1


        1 CHAR ANSEL

The character set change remains in effect until the TRLR record is encountered at the end of the transmission.

The Lineage-Linked GEDCOM Form no longer uses the character escape sequence to change a character set context inside of the transmission. Unicode does not require shifting from character set to character set and we encourage its use for multi-language support.

For more information about character sets, see the following:

    *    Extended Latin Alphabet Coded Character Set for Bibliographic Use. American National Standards (ANSI), Z39.47, 1985.

    *    "8-Bit ASCII_Structure and Rules." American National Standards (ANSI) X3.134.1_198x.

    *    "7-Bit and 8-Bit ASCII Supplemental Multilingual Graphic Character Set (ASCII Multilingual Set)" (manuscript). American National Standards (ANSI), X3.134.2_198x.

    *    "The Unicode standard", vol. 1 and 2, published by Addison-Wesley Publishing.

    blank page

Appendix A

Lineage-Linked GEDCOM Tag Definition


Appendix A is a glossary of the tags used in the Lineage-Linked GEDCOM Form. (See the example starting on page to see the tags used in context of the Lineage-Linked GEDCOM Form.) These tags are to be used only in the context shown. This is to ensure that all transmitted information by means of GEDCOM is uniformly identified.

The tags vary in type, depending on their role or use in a transmission. They are used to identify individuals, families, names, dates, places, events, roles, sex, sources, relationships, and control codes and other kinds of data for computers, computer programs, and computer systems.

These tags are not to be used in any other context. Any new user tags needed to extend the Lineage-Linked GEDCOM Form can be used by a system to generate GEDCOM output. This will not violate the lineage-linked GEDCOM standard unless the context for the grammar of the Lineage-Linked GEDCOM Form is violated. System builders using new tags must precede the tag with an underscore to signal a non-standard construct is being used. This notifies the reading system of a discrepancy and will avoid future conflicts with tags that may be standardized in subsequent GEDCOM releases.

Lineage-Linked GEDCOM Tag Definitions

This section provides the definitions of the standardized GEDCOM tags and shows their formal name inside of the {braces}. Full understanding must come from the context in which the tag is used.


    A short name of a title, description, or name.


    The contemporary place, usually required for postal purposes, of an individual, a submitter of information, a repository, a business, a school, or a company.


    Pertaining to creation of a child-parent relationship that does not exist biologically.


    A unique permanent record file number of an individual record stored in Ancestral File.


    The age of the individual at the time an event occurred, or the age listed in the document.


    The institution or individual having authority and/or responsibility to manage or govern.


    An indicator to link different record descriptions of a person whom may be the same person.


    Pertaining to forbearers of an individual.


    Indicates an interest in additional research for ancestors of this individual. (See also DESI, page .)


    Declaring a marriage void from the beginning (never existed).


    An indicator to link friends, neighbors, relatives, or associates of an individual.


    The name of the individual who created or compiled information.


    The event of baptism performed at age eight or later by priesthood authority of the LDS Church. (See also BAPM, next)


    The event of baptism (not LDS), performed in infancy or later. (See also BAPL, above, and CHR, page .)


    The ceremonial event held when a Jewish boy reaches age 13.


    The ceremonial event held when a Jewish girl reaches age 13, also known as "Bat Mitzvah."


    The event of entering into life.


    A religious event of bestowing divine care or intercession. Sometimes given in connection with a naming ceremony.


    A grouping of data used as input to a multimedia system that processes binary data to represent images, sound, and video.



    The event of the proper disposing of the mortal remains of a deceased person.


    The number used by a repository to identify the specific items in its collections.


The name of an individual's rank or status in society, based

on racial or religious differences, or differences in wealth, inherited

rank, profession, occupation, etc.


    A description of the cause of the associated event or fact, such as the cause of death.


    The event of the periodic count of the population for a designated locality, such as a national or state Census.


    Indicates a change, correction, or modification. Typically used in connection with a DATE to specify when a change in information occurred.


    An indicator of the character set used in writing this automated information.


    The natural, adopted, or sealed (LDS) child of a father and a mother.


    The religious event (not LDS) of baptizing and/or naming a child.


    The religious event (not LDS) of baptizing and/or naming an adult person.


    An indicator that additional data belongs to the superior value. The information from the CONC value is to be connected to the value of the superior preceding line without a carriage return and/or new line character. If a space is to be inserted between the end of the previous value and the CONC value then the space must be the first character of the CONC value because many GEDCOM values are trimmed of trailing spaces.


    The religious event (not LDS) of conferring the gift of the Holy Ghost and, among protestants, full church membership.


    The religious event by which a person receives membership in the LDS Church.


    An indicator that additional data belongs to the superior value. The information from the CONT value is to be connected to the value of the superior preceding line with a carriage return and/or new line character. Leading spaces could be important to the formatting of the resultant text. When importing values from CONT lines the reader should assume only one delimiter character following the CONT tag. Assume that the rest of the leading spaces are to be a part of the value.


    A statement that accompanies data to protect it from unlawful duplication and distribution.


    A name of an institution, agency, corporation, or company.


    Disposal of the remains of a person's body by fire.


    The name or code of the country.


    Pertaining to stored automated information.


    The time of an event in a calendar format.


    The event when mortal life terminates.


    Pertaining to offspring of an individual.


    Indicates an interest in research to identify additional descendants of this individual. (See also ANCI, page .)


    A system receiving data.


    An event of dissolving a marriage through civil action.


    An event of filing for a divorce by a spouse.


    The physical characteristics of a person, place, or thing.


    Indicator of a level of education attained.


    An event of leaving one's homeland with the intent of residing elsewhere.


    End of group.


    A religious event where an endowment ordinance for an individual was performed by priesthood authority in an LDS temple.


    An event of recording or announcing an agreement between two people to become married.


    Marks the end of a set of GEDCOM lines belonging to an object grouping.


    A noteworthy happening related to an individual, a group, or an organization.


    Identifies a legal, common law, or other customary relationship of man and woman and their children, if any, or a family created by virtue of the birth of a child to its biological father and mother.


    Identifies the family in which an individual appears as a child.


    Pertaining to, or the name of, a family file. Names stored in a file that are assigned to a family for doing temple ordinance work.


    Identifies the family in which an individual appears as a spouse.


    Identifies the male parent in a family. In the Lineage-Linked GEDCOM Form, this tag is used only as a role tag. (See page in Chapter 2.) Direct parent relationships are represented using the HUSBand and WIFE tags as part of the FAM_RECORD.


    A religious rite, the first act of sharing in the Lord's supper as part of church worship.


    An information storage place that is ordered and arranged for preservation and reference.


    An assigned name given to a consistent format in which information can be conveyed.


    Information about the use of GEDCOM in a transmission.


    A given or earned name used for official identification of a person.


    An event of awarding educational diplomas or degrees to individuals.


    Identifies information pertaining to an entire GEDCOM transmission.


    An individual in the family role of a married man or father.


    A number assigned to identify a person within some significant external system.


    An event of entering into a new locality with the intent of residing there.


    A person.



    The name of the language used in a communication or transmission of information.


    A role of an individual acting as a person receiving a bequest or legal devise.


    An event of an official public notice given that two people intend to marry.


    An event of recording a formal agreement of marriage, including the prenuptial agreement in which marriage partners reach agreement about the property rights of one or both, securing property to their children.


    An event of obtaining a legal license to marry.


    A legal, common-law, or customary event of creating a family unit of a man and a woman as husband and wife.


    An event of creating an agreement between two people contemplating marriage, at which time they agree to release or modify property rights that would otherwise arise from the marriage.


    Identifies information about the media or having to do with the medium in which information is stored.


    Identifies the female parent in a family. In the Lineage-Linked GEDCOM Form this tag is used as a role tag. (See page in Chapter 2.) Parent relationships are represented using the HUSBand and WIFE tags as part of the FAM_RECORD.


    A word or combination of words used to help identify an individual, title, or other item. More than one NAME line should be used for people who were known by multiple names.


    A name given to an individual to be used in association with one's religion.


    The national heritage of an individual.


    The event of obtaining citizenship.


    The number of children that this person is known to be the parent of (all marriages) when subordinate to an individual, or that belong to this family when subordinate to a FAM_RECORD.


    The number of times this person has participated in a family as a spouse or parent.


    Additional information provided by the submitter for understanding the enclosing data.


    Text which appears on a name line before the given and surname parts of a name.

        i.e. ( Lt. Cmndr.) Joseph /Allen/ jr.

    In this example Lt. Cmndr. is considered as the name prefix portion.


    Text which appears on a name line after or behind the given and surname parts of a name.

        i.e. Lt. Cmndr. Joseph /Allen/ ( jr.)

    In this example jr. is considered as the name suffix portion.


    Pertaining to a grouping of attributes used in describing something. Usually referring to the data required to represent a multimedia object, such an audio recording, a photograph of a person, or an image of a document.


    The type of work or profession of an individual.


    Pertaining to a religious ordinance in general.


    A religious event of receiving authority to act in religious matters pertaining to the LDS Church. (See ORDN, below.)


    A religious event of receiving authority to act in religious matters.


    A number or description to identify where information can be found in a referenced work.


    Information pertaining to an individual to parent lineage chart.


    A unique number assigned to access a specific telephone.


    A jurisdictional name to identify the place or location of an event.


    An event of judicial determination of the validity of a will. May indicate several related court activities over several dates.


    Pertaining to possessions such as real estate or other property of interest.


    Refers to when and/or were a work was published or created.


    An assessment of the certainty of the evidence to support the conclusion drawn from evidence.


    A description or number used to identify an item for filing, storage, or other reference purposes.


    A relationship value between the indicated contexts.


    A religious denomination to which a person is affiliated or for which a record applies.


    An institution or person that has the specified item as part of their collection(s).


    The act of dwelling at an address for a period of time.


    A processing indicator signifying access to information has been denied or otherwise restricted.


    An event of exiting an occupational relationship with an employer after a qualifying time period.


    A permanent number assigned to a record that uniquely identifies it within a known file.


    A name given to a role played by an individual in connection with an event.


    Indicates the sex of an individual--male or female.


    A religious event pertaining to the sealing of a child to his or her parents in an LDS temple ceremony.


    A religious event pertaining to the sealing of a husband and wife in an LDS temple ceremony.


    The initial or original material from which information was obtained.


    A husband or wife of a person. Used only as a role tag in lineage-linked GEDCOM.


    A number assigned by the United States Social Security Administration. Used for tax identification purposes.


    An assessment of the state or condition of something.


    An individual or organization who contributes genealogical data to a file or transfers it to someone else.


    Pertains to a collection of data issued for processing.


    A family name passed on or used by members of a family.


    The name or code that represents the name a temple of the LDS Church.


    The exact wording found in an original source document.


    A time value in a 24-hour clock format, including hours, minutes, and optional seconds, separated by a colon (:). Fractions of seconds are shown in decimal notation.


    A description of a specific writing or other work, such as the title of a book when used in a source context, or a formal designation used by an individual in connection with positions of royalty or other social status, such as Grand Duke.


    At level 0, specifies the end of a GEDCOM transmission.


    A further qualification to the meaning of the associated superior tag. The value does not have any computer processing reliability. It is more in the form of a short one or two word note that should be displayed any time the associated data is displayed.


    Indicates which version of a product, item, or publication is being used or referenced.


An individual in the role as a mother and/or married woman.


    A legal document treated as an event, by which a person disposes of his or her estate, to take effect after death. The event date is the date the will was signed while the person was alive. (See also PROBate, page .)

Appendix B

Structure Cross Reference


































































Primitive Cross Reference







































<DAY>    DATE:=




































































































































     Appendix C

LDS Temple Codes

(as of June 1995)
































































    blank page


    Appendix D


Appendix D

ANSEL Character Set

The following tables show the spacing and non-spacing diacritic characters that are contained in the ANSEL set required by the languages supported by GEDCOM 5. This table was added to give help to those receiving the GEDCOM standard on disk. The graphic characters shown are not always accurate, however the name of the diacritic and the decimal equivalent should agree with the ANSEL standard.

*    C/R column refers to the column and row of the American National Standard Z39.47-1985 table showing the ANSEL character graphic and its 8 bit binary representation.

*    wpcode column shows the Wordperfect (code page and character number, for example 1,2) chosen as the closest representation of the diacritic as shown in Wordperfect 5.1 Appendix P.

*    Dec column shows to the decimal equivalent for that diacritic as is used in the ANSEL character set. The hexadecimal equivalent is obtained from converting the C/R column in to a to character hexadecimal number, for example 14/10 converts to EA hex or 234 dec.

*    Name column gives the english name of the diacritic.

*    example of use column shows an example of words using this diacritic. For the non-spacing diacritic, this mark appears before the character in which it should be superimposed.

     ANSEL Non-spacing graphic characters

    8-bit characters (required for languages supported)

C/R    wpcode    Dec    Graphic     Name    example of use

14/1    1,0    225    `    grave accent    règle

14/2    1,6    226    ´    acute accent    está

14/3    1,3    227    ^    circumflex accent    même

14/4    1,2    228    ~    tilde    niño

14/5    1,8    229    ¯    macron    gãjejs

14/6    1,22    230    ¯    breve    altã

14/7    1,15    231    ·    dot above    zaba

14/8    1,7    232    ¨    umlaut (diaeresis)    öppna

14/9    1,19    233    ¯    hacek    vzdy

14/10    1,14    234    °    circle above (angstrom)    hår

14/13    1,10    237    ’    high comma, off center    rozdel’ovac

14/14    1,16    238    ”    double acute accent    idoszaki

15/0    2,15    240    .    cedilla    ça

15/1    2,17    241    .    right hook    vieta

15/6    2,7    246    .    underscore    samar

15/7    2,16    247    .    left hook    darzina

15/14    1,9    254    ’    high comma, centered    geotermika

     ANSEL Spacing graphic characters


C/R    wpcode    Dec    Graphic    Name    example of use

10/1    1,152    161    L    slash L_uppercase    Lódz

10/2    1,80    162    Ø    slash O_uppercase    Øst

10/3    1,78    163    D    slash D_uppercase    Duro

10/4    1,88    164    Þ    thorn_uppercase    Þann

10/5    1,36    165    Æ    ligature AE_uppercase    Ægir

10/6    1,166    166    Œ    ligature OE_uppercase    Œuvre

10/7    1,6    167    ´    miagkii znak    fakul´tet

10/8    1,1    168    .    middle dot

10/14    1,11    174    ’    alif    Un’yusho

11/0    2,11    176    .    ayn

11/1    1,153    177    l    slash l_lowercase    rozbil

11/2    1,81    178    ø    slash o_lowercase    høj

11/3    1,79    179    d    slash d_lowercase    davola

11/4    1,89    180    þ    thorn_lowercase    þann

11/5    1,37    181    æ    ligature ae_lowercase    skæg

11/6    1,167    182    œ    ligature oe_lowercase    œuvre

11/8    1,24    184    ¹    dotless i_lowercase    masal¹

11/9    4,11    185    £    British pound    £5.00

11/10    1,87-86    186    ð)    eth    verður

12/3    4,23    195    ©    copyright mark    ©1993

12/5    4,8    197    ¿    inverted question mark    ¿Que

12/6    4,7    198    ¡    inverted exclamation mark    ¡Esta

12/15    1,23    207    ß    Es Zet    Preußen

Converted by Andrew Scriven