Welcome to the gedcom4j project

gedcom4j is an open-source, free-to-use Java library for reading (parsing) and writing genealogy data.

Most genealogy programs and tools can import and export their data to file in the GEDCOM file format. Using gedcom4j, you can write a Java program to load data from a GEDCOM file into a Java data structure for your examination and manipulation, and you can also save GEDCOM files out from the same data model, including data you created without having read a file first.

Please note that gedcom4j is not an application. It is a library (jar file) that includes a GEDCOM parser, writer, validator, and an object model. Using gedcom4j, you can read, manipulate, and write genealogy data using the GEDCOM format in your own Java programs...including commercial, closed-source projects.


04 Nov 2016 - v4.0.1 available

v4.0.1 is a minor release. It includes a new class, KinshipNameCalculator, that determines a name for the relationship between two individuals, and largely makes the RelationshipCalculator class obsolete (but that class still remains).

10 Oct 2016 - v4.0.0 available

v4.0.0 is here, with an improved validation framework, reworked support for custom tags, and adapters for accessing custom tag sets defined by third party software. Read the Release v4.0.0 notes for more details.

29 Sep 2016 - v3.2.2 available

v3.2.2 is a minor fix release that addresses a handful of issues. Please see the download page for details.

14 Sep 2016 - v3.2.1 available

v3.2.1 is a minor patch release that fixes a vulnerability to NullPointerExceptions when parsing dates.

04 Sep 2016 - v3.2.0 available

v3.2.0 is a minor release for bug fixes and enhancements. It fixes issues with place names, adds support for finding people by similar-sounding names, and adds helper classes to construct individuals and families easily. It also raises the minimum language level to Java 7. Details are available in the release notes in the download page.

20 Aug 2016 - v3.1.0 available

v3.1.0 is a minor release with some new backward-compatible API changes for bug fixes around interoperability between Windows and Mac/*nix, and to add a new comparator that sorts individuals on a specific event date first, then by name.

6 Aug 2016 - v3.0.3 available

v3.0.3 is a minor fix release. The toString() implementation for Individuals no longer says "spouse of unknown" when the spouse is missing in a MARRiage record, and the AncestryCalculator class no longer throws a StackOverflowError due to infinite recursion when a GEDCOM has a cyclical ancestral relationship.

30 Jul 2016 - v3.0.2 available

v3.0.2 is a minor fix release. It addresses an issue where RelationshipCalculator was prone to NullPointerExceptions for Individuals with a null value for their sex property.

Building from Source

Requirements/recommendations for building the software from source code: