assess.ged is a special GEDCOM file which you may use to perform a review of the GEDCOM 5.5.1 import capability of any program that reads a GEDCOM file and imports the contents.
Everyone is permitted to download and use assess.ged. There is no usage fee. You may edit assess.ged for your own use, but distribution of copies of assess.ged, amended or not, is prohibited.
This site includes:
- assess.ged (download - view)
- Help pages for each of the tests contained in assess.ged
- Image files referenced by assess.ged
- Utilities for recording test results
- Assessments of several GEDCOM applications
Many genealogists have evaluated a GEDCOM transfer by exporting a GEDCOM file from program "A" and importing that file into program "B". That is useful for the specific combination of program "A" and "B", and for the specific genealogy records that are stored in program "A", but introduces uncertainty into the process because missing or corrupt results could be the fault of either program. Using a hand-crafted GEDCOM file focuses the evaluation on the import process of the importing program. The results help end-users understand what data will and will not not transfer properly into the target application and the results help software authors understand how to tailor results for the target application.
These help pages describe version 1.05 of assess.ged. If you are using a different version, you should download the latest version before trying to use the information or utilities on this site. Change Log
assess.ged is not a GEDCOM stress test, though some target applications may fail to load some of the GEDCOM records it contains.
assess.ged v1.05 includes 233 tests. More tests will be added as time allows and based on user feedback.
Most tests use an
INDI record as a container for the GEDCOM records being tested. When testing records that are not sub-records of an
INDI record, the
INDI record includes references to other records. Some tests require multiple
Due to the structure of GEDCOM files, tests of the GEDCOM
HEAD record and its subrecords cannot be placed under
Tests are divided into 28 test areas using the surname of the person record.
The given name of an individuals's primary name record starts with the sequence number within the people who share the same surname. The remainder of the given name describes the test.
For example, the person with given name "01-Birth-1804" and the surname Event Primary is the first of several tests of primary event handling.
Each test area (surname) includes a help page that explains the purpose of each test (given name). The explanation also includes the GEDCOM records for the test.
This is the usual process for using assess.ged:
- Download assess.ged (download - view) and save the file in a convenient place.
- Download the images referenced by assess.ged.
- Import assess.ged into a new database/file/project in a target application.
- Review the people (tests) in the target application and use the test area help pages to evaluate the results.
Some assessments are easy. For people with the surname Date Valid, you can compare the date in the person's given name to the date in the person's birth event. For the person with the given name "04-BEF 1811", you ignore the sequence number and focus on "BEF 1811". If the Birth date has the expected "before 1811" date ignoring date formatting variations, then the target application loaded the date properly and you can move on to the next person/test.
Other assessments are more difficult. You must review the GEDCOM records shown on the help page to one or more records in the target application. If there are variations that try to achieve the same result (as with Exhibit Person), you must compare the results from multiple tests to see which is best.
GEDCOM Import Log
Most target applications will write a GEDCOM import log. Messages about a particular record in the GEDCOM file will include the line number of the record. The test area help pages include record numbers to help associate a test with the line numbers of its GEDCOM records in assess.ged. The Line Numbers utility converts a line number to a link to the help page for the associated test.
If you share your results with me, I will include the results on this site for use by any interested genealogists or software developers.
assess.ged includes valid, invalid, and custom GEDCOM records.
Valid records are included to demonstrate how the target application interprets the data. A target application may fail to load a valid record because it does not implement 100% of the record types in the GEDCOM 5.5.1 specification, or because it has a bug. A target application may load a valid record but the result may not be what a user expects.
Some invalid records are included to demonstrate how the target application handles errors. Other invalid records are included because some target applications require them. Some target applications accept GEDCOM 5.5.1 files but handle some records as if the file was GEDCOM 5.5.
Some custom records are included to help discover whether the target application supports common GEDCOM extensions.
In the help pages, the GEDCOM record sections sometimes include empty lines. Those lines do not appear in assess.ged. They are present in the documentation to visually divide related records into sets. If you copy those records into a GEDCOM file, remove those lines.
A GEDCOM validation tool will report several errors and warnings for assess.ged. There are also some variations from best practice. Those are by design. The validation warnings and errors are related to GEDCOM records in assess.ged that probe where the target application varies from the GEDCOM 5.5.1 standard or where the target application author(s) interpreted the standard differently than the validation tool. The variations from best practice are partly the result of how assess.ged is generated.
Send an e-mail to John Cardinal for more information. Please note that I do not respond to challenges from "spam-blocker" e-mail tools. If you send me an e-mail, please make sure my address is enabled to reply. Otherwise, you may not see my response.