gedcom4j is an open-source, free-to-use Java library for loading (parsing) and saving genealogy data. Using gedcom4j, you can write a Java program to load data from a GEDCOM 5.5 or 5.5.1 file into a Java data structure for your examination and manipulation, and you can also write GEDCOM files out from the same data model, with or without having already loaded a file.
Please note that gedcom4j is not an application. It is a library (jar file) that can parse, manipulate, and write genealogy data using the GEDCOM format in your own Java programs.
22 May 2016 - v2.2.6 available
v2.2.6 of gedcom4j is available in the downloads section of this site, and on Maven Central.
Two changes involve line breaks embedded within the text value of a tag. The GEDCOM spec directs implementations to split lines using CONT or CONC tags and not to have embedded line-breaks within text strings. This release brings gedcom4j into adherence to the spec on this matter, and allows more flexibility when parsing files that do not strictly conform to the spec. Issues around loading Unicode files with byte order marks and in trying to get an individual's descendants are also fixed. Details are available on the downloads page.
18 May 2016 - v2.2.5 available
v2.2.5 of gedcom4j is available in the downloads section of this site, and on Maven Central.
This release addresses two bugs. The first was a bug where custom tags were being emitted twice by the GedcomWriter class. The other was a bug where the GedcomParser class would throw an exception when a root-level NOTE line in the GEDCOM had an XREF definition and text that looked like a cross-reference to another NOTE. The fixed code treats the text as literal text now, and adds a warning to the GedcomParser.warnings collection (since it's most likely a mistake, and not really what the specs call for).
15 Mar 2016 - v2.2.4 available
v2.2.4 of gedcom4j is available in the downloads section of this site, and on Maven Central.
This release addresses two bugs. The first is an issue in the default String representation of an individual, where it would not show the death date correctly if the individual also had a birth date. The second is an issue where custom tags in the data structure were not being emitted by the GedcomWriter.
9 Oct 2015 - v2.2.3 available
v2.2.3 of gedcom4j is available in the downloads section of this site, and on Maven Central.
This release adds an enhancement so that GEDCOMs with a specific sort of error with tag level numbering can continue to be parsed without throwing an exception and aborting the entire load.
We're on Maven Central
Building from Source
Minimum Requirement: JDK 6 (any edition) or later
Requirements/recommendations for building the software from source code: