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 can read, manipulate, and write genealogy data using the GEDCOM format in your own Java programs...including commercial, closed-source projects.
Coming soon - v4.0.0
v4.0.0 of gedcom4 is on its way with improved validation, better custom tag support, and more. Read about it here.
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.
22 Jul 2016 - v3.0.1 available
v3.0.1 addresses a few bugs and adds parsing support for textual date strings, including ranges, periods, and imprecise dates from the Gregorian, Julian, Hebrew, and French Republican calendars.
15 Jul 2016 - v3.0.0 available
v3.0.0 is a major release. Most existing code using earlier versions of gedcom4j will need significant modification, primarily around the object model, since it now implements the Javabeans spec...so you'll need to switch to getters and setters. Full details can be found in the release notes on the download page.
We're in Maven Central
Building from Source
Requirements/recommendations for building the software from source code: