Gigatrees is back! Friends of Gigatrees who have used and enjoyed its interactive web service will be happy to hear that it is now available as a downloadable Windows 64-bit console application. Gigatrees does not cost anything to download or use, and is completely ad-free. There is no longer any need to create user accounts or upload GEDCOM files to a server for processing. You can now download the application along with its support files, and run it in the privacy of your own home, giving you complete control over its configuration and use. (See the FAQ for installation requirements.)


What does Gigatrees do? Gigatrees is a standalone genealogy application that will build a complete family tree website from your GEDCOM file, creating static webpages for online or offline viewing (See samples). It can also be used to generate standalone reports, including the popular GEDCOM Validation (a.k.a. VGedX) and Data Sanity Verification (a.k.a. Bonkers) reports.

Gigatrees makes special use of some existing GEDCOM tags as well as a number vendor-specific and Gigatrees-only GEDCOM compliant extensions. GEDCOM extensions give you the ability to easily add important genealogy related data to your database, data that the GEDCOM standard does not provide out-of-the-box. In order to make use of these extensions, you will need to have some control over the fields present in your GEDCOM file. Many applications, unfortunately, do not give you the level of control needed for this. No worries, you can still use Gigatrees for the great many commonly supported features it provides. Committees like the Family History Information Standards Organization are making an effort to replace the poorly designed GEDCOM standard, and the eventual replacement will more than likely include many of the following extended capabilities, but for those of you who are not willing to wait, Gigatrees gives you access to these features ... today.

I'd like to hear your feedback. You can leave Comments at the bottom of the page. Let me know what you like and don't like. Please review the FAQ and the User Guide. Most of your questions will be answered there.

Tim Forsythe
June 16, 2016


  • You are responsible for adhering to whichever third-party license agreements, listed below, apply to you. In an effort to reduce your reading time, libraries that do not require attribution have been omitted. gigatrees.exe uses several third party libraries.

    In addition, when you build a Gigatree, you will also be using third-party software that is loaded by your web page. The default configuration includes several of these that require attribution.

    Since you are responsible for adhering to all license agreements, it behoves you to read them. Most of them are pretty straight forward, allowing you to use them (even in commercial applications) as long as you don't hold the licensor liable. There are a few things worth noting: Mapping and Translation APIs prohibit redistribution of their data, so please do not share your gigatrees.sqlite database or your auto-translated files with others; Disqus prohibits certain types of comments including copyrighted material; and Developer Express does not allow using their charts in commercial applications unless you pay a license fee. This may restrict you from making your Statistics page available only to paid subscribers. If that is your intention, consult their license agreement first. You can always disable the Statistics page and remove ChartJs from your footer to avoid potential license conflicts.

  • Most of us have used free family tree website generators in the past and found them lacking. Gigatrees tries to break outside that mold. Gigatrees has tons of configurable options and provides many unique features that cannot be found anywhere else including support for a lot of very useful vendor specific GEDCOM fields and extensions. Gigatrees supports the Genealogy Proof Standard when categorizing sources and when specifying negative evidence as well as specifying evidence models for source references. It supports certainty assessments for every claim determined by source categorization and source reference quality, allowing visitors to assess the quality of your data at a glance. It also supports linking to source citation page numbers, assigning sources to parental associations, privatizing data as well as providing privacy exceptions, linking to photos, embedding URLs and HTML, specifying marriage order when marriage dates are not available, automatic determination of consanguinity, kinship, and the relationship between spouses, specifying ship names, adding titled articles, cleaning up location descriptions and querying public APIs for missing location coordinates so that they can be accurately mapped, allowing full website translations, both manually and automatically, into virtually any language by querying more public APIs, handling both ANSI and UTF-8 encoding so no matter what language your data is, it will be displayed correctly, bidirectional scrollable family tree charts, and handling dates in almost any unambiguous format including British Monarch dates - and these are just some of the unique features ... there are many more.

    Gigatrees all supports a variety of unique page and page sections including the Data Sanity Verification page mentioned above which tests for tons of impossible and improbable claims and relationships, lists them, and links back to the culprits, Census Table Reports which group all relevant ancestors for an individual and their known census claims into a single table making it readily apparent which census records are missing and where they are likely to be found, Population Distribution Heatmaps which group together every location for every individual and places detailed markers onto a zoomable Google Map, Ancestor Distribution Heatmaps which do something similar, but do it for every individual, and do it just for that person's ancestors and for only their earliest locations giving a reasonable representation of that person's ancestor's origins, Generation Lists which use the AGNUS numbering system and which are a decided improvement over traditional ancestor lists that use the more cumbersome ahnen numbering system, Descendant Lists which show the descent from one individual to another, Kinship Lists which show the descent of related spouses from their most recent common ancestor, Location pages which not only pinpoint the location on a worldwide map, but list every person found at that location, and every event that occurred there, an Immigrant page which groups together all immigrants and shows the places and dates of departure and arrival along with their ship's name, Timeline pages both for general events and for military events only, a Nobility page which groups together all persons having one nobility titles, an Article page where you can publish Blog styled articles, a Photos page that will group all individual and family photos onto a single page grid providing detailed tooltip popups with links back to individual pages, a Recent Updates page which shows all recent changes to your database with links directly to those pages, and a Statistics page which includes the most popular given names and surnames as well as other detailed statistics.

  • Gigatrees is a Windows 64 bit application. I will not run on MacOS or Linux or Windows 32 for that matter. It tries to be memory efficient, but if you are importing a very large GEDCOM file, it will still use loads of RAM and slow down significantly. There are no specific requirements, but the faster the computer and the more memory the better. Gigatrees also requires an internet connection to work properly. It uses this connection to accesses several external servers to gather information.

  • To use, download the compressed file above and extract it into any folder on your computer. There is no separate installation file. Gigatrees does not currently have a graphical interface so using it is perhaps not for the faint of heart. Setup will require modification of one or more XML configuration files. If it makes it easier, you can munge all of the configuration files together into a single file. When using the default settings, only a few lines will need modification. The default configuration file (default.xml) includes most of the settings that are not likely to change from build to build. The language configuration file (lang.xml) includes the settings necessary for doing language translations (See the FAQ for details on doing language translations) and can be omitted if not doing translations. The project configuration files (gigatrees.xml, vgedx.xml and bonkers.xml) are specific to your build. The distribution includes other configuration files that those familiar with the web service will undoubtedly recognize: centar.xml, glist.xml, alist.xml and splatter.xml can all be used to generate additional standalone reports. The configuration files include comments explaining their options. Make sure that the <OutputPath> folder exists before running the program. Gigatrees does not create this folder. At a minimum, you will want to change the <ImportFile> to match the path to your GEDCOM file (or specify it on the command line). Lastly, run the program using the command line syntax below or use one of the handy little batch files I've included (vgedx.bat, reports.bat or gwhiz.bat).

    Command line syntax:

    gigatrees.exe [-v] [-c default.xml] [-c lang.xml] [-c project.xml] [-i family.ged] [-o treePath] [-l log.txt]

    -v : verbose output
    -c : configuration file (default: config.xml)
    -i : import file (default: empty ; same as <ImportFile>)
    -o : output path (default: ./tree ; same as <OutputPath>)
    -l : log file

    A note on syntax: the options on the command line are processed in order with the exception of the log file, which is always processed first. So, for instance, if you define the <ImportFile> in your configuration file differently than the command line option, the last one processed will take effect. This allows you to override the <ImportFile> and <OutputPath> on the command line.

  • I am neither an experienced UI developer nor do I personally need a front-end. I prefer to spend my time improving the program's back end. However, I understand that other users would prefer a user interface. If you are a UI developer and want to build one, it should be relatively easy to read the configuration file(s) and use it/them to auto-populate preference screens so that users can modify their config, save it, run the program via a shell and display the build log. Easy as pie, right? If you are interested, contact me and we'll work through an XML documentation format so that the preference screens can include descriptions and help information. I would expect the validator to load in the resulting CSV file instead of a build log. There are other improvements that could be made as well such as hyperlinking line numbers, grouping warning message types, etc. If you do create a UI, I'll provide a link to it from the homepage.

    If you plan to make your application a commercial product, the license agreement prevents you from including any part of the Gigatrees distribution within your product, however you are permitted to provide a link to the Gigatrees home page so that users can download the latest version themselves. If you prefer, you could silently download the Gigatrees distribution during the install process so that users do not need to do it themselves.

  • One of the goals of Gigatrees is to capture as much information form your GEDCOM file as possible (that is usable) and present it in your tree. This can lead to a lot files, some of which can be pretty big. For most people, the number of files and the total size of your tree should not matter. Individual file size, however can effect page load speeds. When uploading your tree to a hosting service, I would recommend zipping your entire tree into a single archive, and uploading the archive file only. You can then extract the file once it is on your server and discard the archive. This is much faster than uploading several thousand individual files. If, for some reason, you really want to reduce the file count, you can disable some of the <Pages>. For example, you can disable your Location pages to remove them from your tree. The impact is that your locations will no longer link to separate pages. For those not needing them, this is a good option. If you have a lot of Kinship pages, you can disable these as well. Your kinskip links will still list the most recent common ancestor, they just won't link to separate kinship pages showing their descent. More importantly, if you need to reduce the size of your individual profile pages so that they load faster, you can disable some of the tabs. Namely, the Ancestor Distribution Heatmaps can be turned off by disabling the <EnableProfileMaps> option, the Census tables can be be turned off by disabling the <EnableProfileCensusTables> option, and the Generation Lists can be turned off by disabling the <EnableProfileGenerationLists> option.

  • You may as long as any fees you charge to gain access to your website (i.e. membership fees) are associated wholly with your regular services, and not in any part with the use of the Gigatrees executable. Generated trees and reports have no restrictions.

  • All the display text that Gigatrees generates is translatable (GEDCOM data is NOT translated) and is located in the translation text files en.txt and lang.txt. Each line is divided in two by a semi-colon (;), with the default string on the left and the translated string on the right. The lang.txt is missing the translated strings so that it can be used with the auto translate option. By default, the en.txt file is loaded in the lang.xml configuration file. You can modify the en.txt file to change the way any of the English strings are displayed. For instance if you prefer that the "Departure" and "Arrival" events were displayed as "Emigration" and "Immigration", just modify those strings in the en.txt file an rebuild. When Gigatrees runs, it will log an error if it discovers a default string is missing from the translation file. To remove the errors next time, simply add any missing strings to your translation file. If no lang.xml file is loaded, Gigatrees will use the default strings and not log any errors. English speakers who are happy with the default strings, therefore, do not need to load the lang.xml file at all.

    If you are translating the display strings to another language manually, just make a copy the lang.txt file, add your translations and then update the <LanguageFile> option in your lang.xml file to point to the new translation file.

    If you would prefer automatic translations, Gigatrees has you covered. Gigatrees supports the both the for FREE Microsoft Translate API and the for FEE Google Translate API.

    In order for you to use the Microsoft API, you must sign-up for a free account at Once you have a free account, you will need to register a dummy app so that you can get a valid Client Id and Client Secret. To do this, go to In order to use the Google API, you must sign up for an account at and follow their instructions. You will also need to create a dummy app to get their API Key.

    Once you have your keys, you can update your lang.xml file. Set the <TranslateId> to your Client Id (Microsoft only) and the <TranslateKey> to your Microsoft Client Secret or your Google API Key. You will also need to set the <AutoTranslate> option to either Microsoft or Google. Next you will need to determine the language code for your preferred language. For a list of Microsoft supported languages and codes see: To get a list of supported languages from Google see: You will notice that Google supports many more languages than Microsoft.

    Once you have a code, set the <LanguageCode> to match. Lastly, make a copy of your lang.txt file. Add this file to both the <LanguageFile> and <TranslateFile> options. The following example is what I used for the French translation

    <AutoTranslate> Microsoft     </AutoTranslate>
    <TranslateId>   [YOUR ID]     </TranslateId>
    <TranslateKey>  [YOUR SECRET] </TranslateKey>
    <LanguageCode>  fr            </LanguageCode>
    <LanguageFile>  fr.txt        </LanguageFile>
    <TranslateFile> fr.txt        </TranslateFile>				

    Once all of the options are set, you are ready to rebuild your Gigatree. When Gigatree runs, it will read in all of the default strings from your <LanguageFile> and for any (in this case all) missing translations it will query the API requesting a translation using the <LanguageCode> specified. When finished, it will save the results to the <TranslateFile>. On any error, it will stop querying the API and log an error, so if you find that you are still missing translations, check your build log. The good news is that any translations found will have been saved, so on the next build, as long as <LanguageFile> and <TranslateFile> are the same, it will not query those same strings again. Once all the default strings have been translated, Gigatrees will stop querying the API, so there is no need to remove your service from the <AutoTranslate> option. Automatic translations, especially on incomplete sentences, can be wonky at times. You may want to go back and modify some of your translated strings and rebuild. Your mods will not be overwritten. You can view a few translation on under Samples.

  • Certainly. Make sure the <Project> option is set to VGedX. Ideally you would use the vgedx.xml configuration file since it already includes all the special options used only for GEDCOM validity checking. You can also use the vgedx.bat batch file to run it.

  • Why yes you can. When Gigatrees ran as a web service, Bonkers was the most popular of the reporting tools. When building a Gigatree, a data sanity verification report is included by default. The advantage of building the entire tree is that all of the individuals listed in the report are hyperlinked to their profile pages, which makes looking up issues fairly simple. If you really want to create a standalone report, just ensure that the <Bonkers> page is enabled, and that all of the other pages are not (their default settings). Since I am expecting a lot requests for this, I went ahead an added a bonkers.xml configuration file that does this for you to the distribution. I also added a bonkers.bat batch file to make running it easier. A standalone sample report is available for viewing. Compare this to the integrated sample report.

  • The following is a list of the database sanity checks that Gigatrees currently performs.

    • Persons born after they were baptized
    • Persons born after they were married
    • Persons born after their children
    • Persons born after they died
    • Persons born after being buried
    • Persons born after one of their parents died
    • Persons born after one of their parents was buried
    • Persons baptized after being buried
    • Persons baptized after being married
    • Persons married after being buried
    • Persons baptized after they died
    • Persons married after they died
    • Parents died before having children
    • Persons died after being buried
    • Persons buried before having children
    • Persons with multiple parents
    • Persons having an ancestral loop
    • Persons baptized after a certain age
    • Persons married before a certain age
    • Wives married after a certain age
    • Persons living past a certain age
    • Persons who are much older than their spouse
    • Persons having children before a certain age
    • Mothers having children past a certain age
    • Persons having similarly named children
    • Persons having a prohibited kinship
    • Persons having a non-biological parent
    • Persons with unknown genders
    • Families having swapped spouses
    • Persons whose birth dates could not be estimated
    • Persons whose birth dates were estimated
    • Persons with unsupported claims
    • Persons with undocumented parents
    • Persons with no parents
    • Persons missing one parent
    • Persons with date phrases
    • Unmappable locations

  • When the <EstimateBirthdates> option is enabled, Gigatrees will run a recursive, multipass algorithm on your database to estimate the birth year of each person missing one. This is useful for several reasons. Firstly, of course, you can get a rough estimate of when a person was born that can aid in narrowing down research directions. Secondly, when a person's birth year cannot be estimated, it is because some sort of data inconsistency exists. Knowing what this data inconsistency is will help you find the problem in your data and fix it. You welcome. As an aid in helping you determine this data inconsistency, Gigatrees will show the vital statistics of the person's closest relatives. It does this using a bunch of shorthand codes shown here:

    • fb = father's birth
    • mb = mother's birth
    • pm = parent's marriage
    • b = birth
    • bp = baptism
    • sb = earliest spouse's birth
    • xb = latest sibling's birth
    • m = earliest marriage
    • cb = child's birth (range)
    • cm = earliest child's marriage
    • pd = latest parents death
    • d = death
    • bu = burial
    • le = living event (range)
    • fe = flourishing event (range)

  • When Gigatrees ran as a web service, there was a tool that was colloquially called Splatter. It basically built a self-contained and standalone Population Distribution Heatmap. So, let's say you want to build a map for your nephew Bobby that he can show his 5th Grade class. Just like we did for Bonkers above, we need to ensure that the <Map> page is enabled, and that all of the other pages are not (their default settings). Additionally, since distribution maps require coordinates to function properly, you must have the <GeoDataSqliteFile> option set to your gigatrees.sqlite database. Again, I went ahead an added a splatter.xml configuration file that does this for you to the distribution. I also added a splatter.bat batch file to make running it easier. A standalone sample report is available for viewing. Compare this to the integrated sample report.

  • The following settings can be used to integrate your Gigatree into a self hosted WordPress blog. Other blogs should work similarly. The <Extension> option must be set to php to work with WordPress. The <LinkExtension> should probably also be set to false, but this will depend somewhat on your WordPress setup. The <EnableNavbarFixed> option has to be set to false so that it does not interfere with your blog's header. You can set your <EnableNavbarFloat> to true if you still want to use the Gigatrees menuing system. If you plan to use your blog's menuing system to replace the Gigatrees menu, then set it to false as well. This example assumes you have WordPress installed in your website's root folder. If not, just prepend your path in the 'require' line, and if you are not using the WordPress folder, then rename that as well.


      require_once($ _SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php');



  • Gigatrees supports the Disqus commenting system. Disqus is one of the most popular commenting system on the Internet, has tons of features, you can even allow posting of images, and is easy to use. I use in extensively. I can instantly add new genealogy related information to an individual in my Gigatree without having to use my database editor and rebuild my tree. The information is preserved so that I can go back at my leisure and move the information to my database and after remove it from the comments. I'm in love.

    If you don't already have a Disqus profile, you will need to create one on their website and then select "Add Disqus to Site" from the Settings (gear icon) dropdown menu on your Disqus profile page. This will take you to their publisher's page where you can select the "Engage" app that will take you to your Site Profile setup page ... or you can just click here to shortcut it: On the Site Profile page you will setup your title and Disqus shortname. When you click Finish Registration you will be redirected to your Disqus admin page where you should go to the Settings tab and setup the features you want.

    To add your Disqus profile to Gigatrees, you will need to add your Disqus shortname to the <DisqusId> configuration option. Next you will need to set the <DisqusDomain> to the URL of your Gigatree. Generally this is the same as your <Domain>. Read the next section on linking to (or not to) HTML extensions for an explanation on why you might want these to be different.

  • There are two reasons that come to mind. The first would be if you want to hide the file type from your visitors for either security reasons or so that you present pretty URLs. The second reason is somewhat of a hack but is effective and it is what I do in the full sample tree. When you are using the Disqus commenting system, your URL is sent with each comment to the Disqus server so that your profile on their website can link back to the correct page. If you include the extension, you are more or less stuck with it. If you do not include the extension, then you can change your Gigatree <Extension> later to PHP without breaking your comments. Or if you are like me and set up your Gigatree as both a private tree in PHP and a public tree in HTML, then your comments can appear in both trees identically. In order for this to work you have to do a couple things. One, you must set your <Domain> to be the same for both trees. Second, and this is true any time you are not linking to your HTML extensions, you must force your server to redirect any requests missing the extension to the HTML file. I have included in the tree subfolder a .htaccess file that will do this for Apache servers. If you use a different server, then you will need to do this in some other way. Incidentally, if you are running a private tree, you should make sure to redirect users to your public tree if they are not logged in and approved to access your tree. This can be easily done in your <Header>. For instance, in the previous example of a WordPress blog, you could insert the following code between the "require_once" statement and the "get_header" statement (after changing the path to your public tree)

     if (!$authorized)
       $url = $_SERVER["REQUEST_URI"];
       $path_parts = pathinfo($url);
       $page = $path_parts["basename"];
       $path = "".$page;
       header("Location: $path");

    This has an added benefit to your approved users, when they are on a Gigatree page and they log out, they are automatically redirected to the public tree. Your WordPress sign out needs to call wp_logout_url( $_SERVER['REQUEST_URI'] ) for this to work. Similarly, if your public tree is in PHP as well, then you can force authorized users to the private tree when logged in.

  • Yeah, sorry about that. The ancestral charts are fixed width charts that need a viewport of 1120 pixels or so to display correctly. There is a mobile device override at the bottom of the gigatrees.css stylesheet that turns off charts on small viewports with #gt-chart-tab {display:none;}. If you delete that line, they should magically reappear, albeit partially off screen.

  • At the very top of the Statistics page Gigatrees lists both the Most Popular Boys names and the Most Popular Girls names. If you have similar names in your database that you want treated identically, such as Ann and Anne you can add these to a text file where the similar name and the base name are separated by a semi-colon(;). You can then set the path to this file in the <AlternateNamesFile> option in your configuration file. The distribution includes a names.txt with many names predefined. These alternate names are also used by the data sanity report when determining duplicately named children.

  • You can open every tab on an page that has tabs by adding the query string ?all after the URL name.

  • Privacy is an extremely important consideration when publishing your data online. Information about living persons is generally thought of as sensitive and should be kept away from prying eyes. Other information, such as what might come from source material, might still be under copyright, and should not be published online without permission from the copyright holder. Private information must therefore be controlled. The most common method is to use your genealogy application to strip off any private data before building your family tree. This is generally overkill, however, and may hide far more of your data than is actually necessary. It also might not capture all of your sensitive data.

    Gigatrees supports two methods for adding privatization flags. The first method uses a generic set of GEDCOM extensions and the second method allows privacy flags to be embedded within record data text. These flags take effect when Gigatrees has been configured to hide living individuals, or when it has been configured to privatize data.

    Using GEDCOM extensions: Gigatrees recognizes several different flags (and their vendor specific alternates): _LIVE, _SHOW, _HIDE and _PRIV..

    The first of these, _LIVE allows you to add a living flag to every living person in your database

    0 @I1@ INDI
    1 _LIVE true

    As shown in the example, privacy flags must be added as fields for the records where they apply. In this case, the living flag is applied to the individual record. When a person is flagged as living, Gigatrees will change their name to HIDDEN _____ and all claims and source references associated with them are deleted, with the exception of their parental links. This ensures your tree will retain the placeholders for living persons, while keeping their data private. If you have configured Gigatrees to estimate birthdates, adding living flags will generally not be necessary. When missing birthdates have been estimated, Gigatrees is very effective in determining whether or not a person is living based on the vital statistics of their family members. In those rare instances when Gigatrees cannot calculate a birth date, having manually entered a living flag will ensure that the individual is privatized. Vendor Specific Alternates: LVG, LVNG, _FLGS.__LIVING, ATTR Living and _LIVING Y.

    If, on the other hand, when you explicitly want to show details for a living person, such as yourself, you must force them to be displayed. To do this, simply add a _SHOW flag to those individuals

    0 @I1@ INDI
    1 _SHOW true

    This will result in the living flag and any calculated living states to be ignored so that the flagged person's details are included in the tree. It is likely that you will only want to do this for a very few persons.

    It is also likely that when you force a living person's details to be shown, there will be some details that should still be kept private, their birth date comes to mind. To do this you must add a private flag.

    1 BIRT
    2 DATE 1 JAN 2000
    2 PLAC Chicago, IL
    2 _PRIV Sensitive

    All private records and their fields are completely stripped when generating a tree. In the case of this example, that the entire birth record is omitted. Private flags can be added to any record or field, so, for instance, in the next example, only the date is stripped, not the location.

    1 BIRT
    2 DATE 1 JAN 2000
    3 _PRIV Sensitive
    2 PLAC Chicago, IL

    The privacy flag can be used to hide other types of data as well such as copyrighted material.

    1 SOUR
    2 TITL Title Goes Here
    2 TEXT Copyrighted text goes here
    3 _PRIV Copyrighted

    The privatization qualifiers, "Sensitive" and "Copyrighted" are ignored by Gigatrees, so be inventive ... go wild. You can, if you prefer, use the privacy flag to replace the living flag, however, the person's placeholder will be completely stripped in that case, rather than just hidden. Vendor Specific Alternates: _FLGS.__PRIVATE, _CONF_FLAG.

    Lastly, Gigatrees supports a hidden flag that can be placed, like the private flag, in any record or field to hide it under all circumstances, even if the Privatize option is not enabled. This is useful if you have todo lists, research notes, or private claims that you never want displayed anywhere.

    1 SSN 123-456-7890
    2 _HIDE true

    Vendor Specific Alternates: _EXCLUDE

    Using Embedded Data Text: Gigatrees also supports embedded privacy flags for those users whose genealogy applications do not allow for adding GEDCOM extensions. These work similarly to the flags described above. {gigatrees:living}, {gigatrees:show}, {gigatrees:hide} and {gigatrees:private} except, unlike those, these must appear in a subfield of the record where they apply. Unlike GEDCOM extentions, embedded privacy flags must appear in the data text associated with a record, the record type is not important. For instance, the flag could be added to a NOTE record, a custom EVEN record, etc. When an embedded flag is found, it is stripped from the data text so does not appear in your family tree.

    Using With Trees: trees do not allow for adding GEDCOM extensions, so it is useful here to describe how embedded privacy flags can be used with an tree for individuals. The easiest way to add {gigatrees:living}, {gigatrees:show}, or {gigatrees:hide} flags to an individual record is to add a Custom Event to a person. When adding the Custom event, the flag should be added to the Description field, not the Title or any other field. This will result in a new record being created.

    1 EVEN {gigatrees:[string]}

    Since the flag will we stripped from the custom event, the event will not appear as a separate entry on the person's profile page. Adding the {gigatrees:private} flag for a fact or event is a little trickier. does not allow for adding notes to records or for adding other fields except for a source or source reference. When editing an existing event, there is an option to add a Description. adding the flag here creates a new record.

    1 BIRT {gigatrees:private}

    Since the flag appears as a field of the Individual record and not of the Birth record, and since there is no reason to add a privacy flag to the individual (a living flag is better served for individuals) an exception has been added for trees, to hide the Birth record instead.

  • By far, the most important claims in genealogy, and the ones needing the most documentation, are the biological links between children and their parents, or what I refer to as parental associations. Gigatrees uses parental association records and their source references to determine the certainty status for those parental associations. When no source reference is found, the certainty status is set to unsupported. Unfortunately, the GEDCOM standard does not provide a good method for handling these claims. The only supported record types they provide are the Pedigree Linkage Type (PEDI), which provides built in predefined relationship fields, but does not allow you to link a source to the record, and the ASSO record, which does allow for referencing sources, but does not have built in predefined relationship types such as 'mother' or 'father'. Several vendors support other relationship records such as Family Tree Maker's _FREL and _MREL tags, but like the Pedigree Linkage Type record, these do not allow for source references.

    Gigatrees supports parental associations using all these methods. The Pedigree Linkage Type must be set to birth for it to be treated as a biological relationship. The _FREL and _MREL tag must have values of Natural or Biological. The ASSO record must set its RELA field to the user string defined in the <AssociationRelationFather> and <AssociationMother> as defined in the configuration file. Gigatrees also supports leaving the RELA field blank, or leaving it off altogether, which in either case will assume a parental association. Any other text in the RELA field will indicate a non-parental association.

  • Gigatrees provides built in support for the Genealogy Proof Standard (GPS). Please refer the following sections on source categories, certainty assessments, evidence models and negative evidence.

  • Gigatrees supports a number of different options for categorizing your sources.

    Firstly, Gigatrees allows you to add user defined source categorization fields to each of your source records using the vendor specific _QUAL tag. These tags can be used to add either a single Gigatrees specific source categorization, or multiple Genealogy Proof Standard source categorizations.

    Gigatrees supports several string values for categories (listed here in order of authority): "dna", "original", "image", "transcript", "copy", "abstract", "memoir", "derivative" and "unknown".

    dna should only be used when DNA evidence is used to prove a relationship. If you add a source for yDNA or mtDNA test results that prove a relationship, then this would be the best source categorization to use. It would be inappropriate to use this for autosomal DNA test results unless those results were combined with an in-depth analysis showing why they could be used as proof. original represents a document in its original form. image includes unaltered scans or photographs of an original source. transcript is a direct unaltered transcription of an original source. copy is a subsequent copy of a transcription or of another copy (i.e. copy of a copy). abstract is any abstraction or summary of the original source (not in its original form). memoir is a collection of authoritative claims taken from memory, such as an autobiography, letters, notes, etc. derivative is a collection of claims derived from multiple original sources and collected together in a new source, which includes most books, town histories, etc. Finally, unknown is a source from which no information as to its authority can be determined.

    For many sources, multiple source categories might apply. When determining the appropriate source category to use, you should choose the least authoritative category that applies to the claims being extracted from it. So if you have a source that includes scans of original documents, along with some memoirs and derivatives, but you are only using the images from that source, they you can rightfully choose image as your source category. If however you include claims from the other areas of the source, then you should choose derivative as your source category. A serious genealogist might, in this case, split their source up into several entries, each with their own category.

    _QUAL original

    Similarly, the Genealogy Proof Standard is supported using the following string values for authority, original and derivative. For concurrency, the strings primary and secondary are supported where primary represents that the original document was created at the time of the event or the events that it documents, and secondary is anything otherwise. A typical entry of a census record, being an original source, containing primary information would be

    _QUAL original
    _QUAL primary

    The second option Gigatrees supports for categorizing your sources is to include source categorization tags within any source note field. Gigatrees tags are in the form of {gigatrees:[string]} and GPS tags are in the form of {gps:[string]} where [string] can be replaced with the appropriate string values described above. It is easy to configure these is most genealogy applications. For instance, in trees, you can select the "Facts and Sources" tab for any individual, and then click the source citations button. For each source listed, you can click on the citation link and once the source citation appears, click edit citation. In section 1 where the source title is listed, you can select "edit this source". You can also use the dropdown box to select any of the other sources as well, so it is fairly easy to go through and categorize all of your sources here. Once the source is opened in edit mode, you can enter the source category tags directly along with any other information you like. The tags will be stripped from the notes so that they do not appear in your family tree's source notes. Again, Gigatrees support both Gigatrees and GPS tags.



    Lastly, Gigatrees also supports source categories for those who use RootsWeb to enter their GPS fields. In RootsWeb, GPS fields are entered as part of the source reference and only use the capitalized first letter of the category, for instance

    1 BIRT
    2 DATE 7 FEB 2014
    2 SOUR @S1@
    3 _QUAL
    4 _SOUR O
    4 _INFO P

    Gigatrees will use the first reference for a source found with a _QUAL field, and ignore all other GPS fields in all other source references to the same source.

    When defined, source categories are shown with the meta data for each source page, as well as in the tooltips for every source reference. Source references are also used to make certainty assessment for every claim referencing these sources as described in detail below. Gigatrees's categories have more refinement than GPS categories so when used can make more accurate certainty assessments.

  • Genealogy, fundamentally, is nothing more than a set of claims made by sources about individuals. Certainty assessments are used to rank those claims by their likelihood of certitude. Gigatrees defines numerous levels of certainty assessment. "unsupported", "improbable", "estimated", "uncertain", "assumed", "proposed", "maybe", "likely", "possible", "supported", "probable", "certain", "proven" and "disproved"

    The purpose of publishing your genealogy online is so that others may view your research. Certainty assessments are critical for your visitors to be able to quickly and accurately assess the validity of your claims. Gigatrees has therefore made them the core upon which your Family Tree is built.

    Gigatrees supports source categorization using the _QUAL field as described above. Once the source categories are defined, Gigatrees will determine the most likely certainty assessment and use it. If no source categories are found, then it will look to see if you have defined a source reference Quality (QUAY) for a particular claim and use that instead. Source reference qualities as defined by the GEDCOM standard are weak at best, so only limited certainty assessment support can be determined. When multiple sources are referenced for a claim, the source with the best certainty assessment wins. If you have made a claim and provided no source reference for your claim, the certainty assessment will be set to unsupported. If you have provided a source reference for your claim, but not categorized your sources, set quality, or certainty then the certainty assessment will be switched to uncertain. If the claim is an estimated birth date, the certainty assessment will be set to estimated.

    On occasion, the certainty assessment determined by Gigatrees is not what you expect or perhaps would like shown. This can be caused by improper source categorization or failure to reference all the available sources. It can also be caused by a very reliable source making a very unreliable claim. If after correcting these, you are still not happy with a certainty assessment, Gigatrees provides an out. You can directly add a certainty assessment field (_PROOF) to any claim to override Gigatrees's algorithm.

    1 EVENT
    2 _PROOF proven

  • When using a source as evidence for a claim, it is useful to distinguish whether the source is making a direct claim or is indirectly supporting a conclusion. The Genealogy Proof Standard refers to these two models respectively as "direct" and "indirect". As with source categories above, Gigatrees supports three options for detecting evidence models.

    Firstly, Gigatrees supports the _EVID tag for every source reference. String values of direct and indirect are supported. Additionally, the abbreviations D and I are supported. A source that makes a direct claim would therefore be

    1 BIRT
    2 DATE 7 FEB 2014
    3 SOUR @S1@
    4 _EVID direct

    Gigatrees also supports RootsWeb version of the same flag, but located under the quality field

    1 BIRT
    2 DATE 7 FEB 2014
    3 SOUR @S1@
    4 _QUAL
    5 _EVID D

    The last option is to use the source reference's NOTE or PAGE tag to hold the GPS evidence model fields {gps:direct} or {gps:indirect}.


    As with source category fields, the field is stripped from the note or page so that it is not shown in family trees.

    Gigatrees uses the evidence model to help determine certainty assessments as described above. Also, source references indicating direct evidence are displayed in green with "Direct evidence for claim" shown in its tooltip. References indicating indirect evidence are instead displayed in purple and show "Indirect evidence supports this conclusion" in its tooltip.

  • Any claim record field with the exception of the DATE field can be set to [Disproved] to indicate that a claim has been disproved.

    1 EVEN
    2 CAUS [Disproved]

    The Genealogy Proof Standard refers to this as "negative" evidence. The benefits are several. Firstly, disproved claims are no longer considered when calculating birth date estimates, and improbabilities. Disproved claims are also highlighted on profile pages making it clear to all visitors that the claim is known to be false. Most genealogy programs have no way of indicating that a claim has been disproved, so genealogists are usually forced to delete disproved claims from their databases. This is an unfortunate practice that is no longer necessary. It should go without saying that disproved claims should always be accompanied by text explaining why, and source references.

  • There are two types of maps used by Gigatrees, Location Maps and Heat Maps. For both map types, Gigatrees will use the location's latitude and longitude if found in the GEDCOM file to set the marker. Most people however, do not have map coordinates embedded into their GEDCOM files, so Gigatrees will take a different approach. It will query several of publicly available mapping servers to obtain the coordinates using the location description provided in the ADDR and PLAC fields of the GEDCOM file. There are several issues that can arise.

    Gigatrees must be able to determine the country before making any mapping server calls. Gigatrees expects location descriptions in the PLAC fields to be listed in ascending heirachial order and delimited by commas (i.e. city, county, state, country). If no country is listed, Gigatrees will attempt to use the state's name to find it. If it cannot be found, no coordinates will be available for mapping. When the location description is missing commas, Gigatrees will attempt to parse the description using spaces, but when states or countries have spaces in their names, this may not be successful. Gigatrees also recognizes most country and state abbreviations using ISO 3166 standard nomenclature for current naming conventions. Gigatrees has additional support for archaic names.

    Once a country name has been found, Gigatrees will then cleanup the description by adding the country when missing, replacing abbreviations and delimiting the string properly. This is the description that will appear throughout your website profile pages. Gigatrees will then lookup this description in its database to see if it already has the coordinates on file. If so, it will use them. If not, it will make one or more calls to mapping servers using this description to see if coordinates can be found. If no coordinates are found using the first server, it will move on to the second. If none of the supported servers can locate this description, the leastmost heirachial location is stripped from the lookup string and the process is repeated beginning with the database lookup. Eventually, coordinates will be found, but they may be for a partial match, accounting for why some markers are "misplaced". Mapping servers, when returning coordinates for large areas such as a city or county, use an arbitrary point within the boundary of that area approximating the geographic center or in some cases the government center.

    All mapping servers regulate their use so that users, such as Gigatrees, do not overwhelm them with traffic. This is usually in the form of allowed queries per second, queries per hour, per day, week, or month. Because of this, Gigatrees has built-in throttling mechanisims in place to prevent abuse on its part. The first throttling mechansim it uses is to cease querying a particular server when an over limit status is returned. When this occurs, Gigatrees can no longer strip the leastmost heirachial location from the lookup string and retry, because it cannot be determined that none of the supported servers could locate the description. Instead, any locations that cannot be found on the remaining available servers will not have coordinates when the maps are built, so will be missing. The next time you run Gigatrees on this file, the process will begin anew, and the look ups will be repeated for any locations still missing from the database. For this reason, it may take several builds until all of your locations have been processed. Running Gigatrees back-to-back in an attempt to get all of your locations filled quickly in, is seldom effective because once in place, it usually takes between 1 hour and 1 day for the server's limits to expire.

    There are several additional caveats to be aware of. First, mapping servers try their best to match location descriptions with coordinates, and Gigatrees does its best to make the descriptions as friendly as possible, but sometimes, the coordinates returned are simply wrong. If this is blantant, such as the country returned by the mapping server does not match that of the location desciption, Gigatrees can simply discard it and go on, but there are many instances in which it is not justified in making this decision so must use them. This can account for misplaced markers. This is why it is always good practice to use the most accurate and most complete desciption available to you when entering your desciptions. Second, mapping servers work best when modern descriptions are provided for locations. Genealogists tend to want to use the description provided in the source document referenced. Since mapping utilities such as Gigatrees are becoming more and more prevelant in genealogical software, it will be necessary for genealogists to rethink their methods. A good practice I believe will be to put archaic descriptions in GEDCOM PLAC field notes, and use modern descriptions in the actual PLAC text. Third, Location Maps operate differently than Heat Maps in that they do not need to have coordinates at the time the map is built. Location Maps use the location description at the time the page is viewed to query Google's server directly to place the marker on the map. Even so, these queries are subject to the same modernization and accuracy requirements so can result in misplaced markers if care is not taken when entering these descriptions.

    My advice to genealogists using maps be they in Gigatrees or elsewhere, is to whenever possible provide accurate coordinates alongwith modern, complete location desciptions including country names. Any of Gigatrees's Location Maps can be used to obtain this information, just drag the location marker shown to the exact location desired and enter the coordinates and/or location description provided by Google into your database.

  • All Multimedia records (OBJE) support the same GEDCOM extensions. The extensions can be added to root level multimedia records so that the records can be shared among individuals, and for embedded multimedia fields for individuals.

    1 OBJE
    2 FILE c:/folder/pics/walt.png
    2 _PATH ../folder/pics/walt.jpg
    2 _PIC ../folder/pics/thumbs/walt.png
    2 _CAP Photo of my Uncle Walt
    2 _NOTE This photo was taken back east and is undated
    2 _PLAC New York
    2 _DATE About 1920

    Most of these fields should be self explanatory. The _PIC, _PATH and FILE fields should be formatted per the chart shown below.

    The following chart is intended to give you some idea of the type of path you should use depending on how you intend to access your Gigatree and how your photo paths are defined in your configuration. Absolute and relative paths and URLs are supported.

    Config                      GEDCOM FILE
    # URL/Path                  _PIC,_PATH,FILE
    1 subfolder/file                          ok
    2 /folder/                  subfolder/file                          no
    3 ../path/folder/           subfolder/file                          ok
    4 blank            ok
    5 blank                     c:/folder/subfolder/file                ok
    6 c:/folder/                subfolder/file                          ok

    The trailing slash shown in the Config URL/Path can, of course, be transferred to the GEDCOM column without changing availability.

    The _PATH will override a FILE field if found, otherwise the FILE field will be used. This allows you to keep existing paths for your genealogy editor, and a separate path for Gigatrees to interpret. The thumbnail will use the FILE field or the _PATH field if the _PIC field is not present. The photo details will be shown when hovering over a photo.

    I do not recommend embedding the domain inside of your GEDCOM file because all the links become broken if you change domains later. Using the domain in the configuration path requires an external access when viewing your tree offline making it much slower. The third method uses relative local paths, so is probably the best method for people who have online trees. It does require you know the relative directory structure between your family tree and your image files. You may not be able to move your family tree to another folder on your desktop without breaking these links. I use the second method which uses the web server's relative path, but I cannot archive the site or view it offline. The advantage of this method for me is that I have two family trees, a private one and a public one, and they are in completely different directory structures on my hard drive, so the second method will not be able to access the links for both trees. Many software packages use the sixth method for their FILE tag so that their application can display their photos. Gigatrees does not require changing this, but it will not be able to serve the photos online like that. You would need to add a _PATH tag to override that path online.

  • Any place that a URL field is defined in your GEDCOM file, you can use the _TITL field to assign a title, and the _PIC field to assign the thumbnail path. The thumbnail path should be formatted per the configuration guidelines shown below.

    1 URL
    2 _PIC
    2 _TITL Google

    Additionally, any unformatted URL string found in any type of text field, will be automatically hyperlinked so that you can put URLs anywhere, but especially into note fields. Long URLs will be abbreviated for display purposes.

  • NOTE records that include a _TITL field to assign a title, are considered to be articles. A list of articles are included in the menu when the %lt;Articles> option is enabled. Gigatrees supports embedding HTML tags into the text of your articles. It will also autolink all URLs in finds in the text. For complete traceability and for citation reasons, article source references (NOTE.@SOUR@) are linked to directly, and the source pages link back to the article page. This feature allows you to include in your GEDCOM file all your genealogy research, proof arguments and family history articles so that they remain with your genealogy data at all times and are never lost. I use this to mechanism extensively by copying the text from my most interesting articles to a blog post and then use my web server's .htaccess file to route my article URL to my blog post. When a visitor clicks on an article link in my Gigatree they are taken to my public blog post instead. If you cite your sources as described above, then they will appear in your blog post so that when your visitors click one of the sources for an article, they will be taken to the source details in your Gigatree. If I ever decide to shutdown my blog, all I need to do is remove the routing from my web server to go back to serving my articles directly from my Gigatree.

    1 NOTE Concerning the ...
    2 _TITL Proof Argument
    2 SOUR @S1@

  • Census Table Reports include all ancestors of a person who are applicable - who were possibly living during the census years configured. Setting [Not Applicable] in any of the CENS record fields (with the exception of the date field) removes that person from the table for the year of that census. An ancestor can be completely removed from a Census Table Report by adding [Not Applicable] to all census years where the ancestors is shown and possibly living. This is useful for removing the earliest ancestors who were only living in areas where there were no censuses taken.

    1 CENS
    2 DATE 1810
    2 CAUS [Not Applicable]

    CENS records have a CAUS field that can be set to named, given or counted. When doing so, these strings will be added to the event description to clarify how an individual is listed in the actual census record. named indicates that the person's given name and surname were provided. given indicates that a person's given name and married surname were provided, as in the wife of a head of household. counted indicates that a person was counted only, and no name was given. This clarification can effect the certainty of a census claim.

    CENS records have a TYPE field that by default can be set to "Census (US Federal)" or "Census (US State)" to show that text as the event type in all timelines. Additional strings can be added to the <Events> in the configuration file. See the section below on Timelines

    1 CENS
    2 TYPE Census (US Federal)
    2 DATE 1 JAN 1920
    2 PLAC 147 W. Knox St., Galesburg, Knox County, Illinois
    2 AGE 5m
    2 CAUS named

  • As indicated in the section on Census Table Reports, when the TYPE field for a CENS record is defined in the configuration <Events>, that text will be displayed in the timeline instead of the more generic "Census". This is also true for EVEN and FACT records. Additionally, the Ship type for events has special meaning as discussed in the section below on Ship Names.

  • A common need for immigrants is to show the name of the vessel on which they arrived. A special INDI.EVEN.TYPE value of defined by the user string <EventTypeVessel> as defined in the configuration file is supported. The vessel's name should be placed in the INDI.EVEN.CAUS record. The vessel's name will be listed in their timelines and in the Immigrants Report.

    1 EVEN
    2 TYPE Vessel
    2 CAUS H.M.S. Beagle

  • The GEDCOM standard has a fairly strict sequence for dates. Anything that doesn't fit is considered a date phrase. Gigatrees has a much more relaxed attitude. It accepts dates in almost any unambiguous format. This is important, because dates are used throughout the program for determining when an individual is living, estimating birthdates, adding events to timelines, ancestor and population maps, for data sanity checking, etc. The more dates that it can interpret, the more accurate it can be. Gigatrees also supports all GEDCOM calendars and their date formats including Gregorian (the default), Julian, Hebrew and French Republic. Non-Gregorian calendar dates will be shown in their original format as well as in Gregorian format for readability. Gigatrees also supports British Monarch dates such as 10 Hen II representing the year 1164. This is valuable to Medieval genealogists who can simply enter the dates how they are found in the records. Monarch dates can even be combined with Gregorian dates when entering date ranges or date periods (i.e. bet 10 Hen II and 6 Dec 1173). Whenever Monarch dates are shown, both the original Monarch date and the Gregorian date is shown for readability.

    When displaying Gregorian dates, the month name abbreviations are translated using the appropriate translation string (Jan, Feb, Mar ... ). When displaying date qualifiers (abt, aft, and, bef, bet, cal, est, from, int, prob, to), their translations are also shown instead. Incidentally, prob is an abbreviation for "probably", which is used by some vendors. Gigatrees also accepts date qualifiers of about, after, before, between, by, circa, ca, ca., calc and near. Gigatrees recognizes Gregorian months in both abbreviated and full forms (Jan, January). It will also recognize months in their translated string formats. So for instance if you are French, and are so bold as to enter your month names as Janvier you could enter this as your translation string for January to have it recognized by Gigatrees. It will still be displayed using the translation string for Jan, which you could also set to Janvier if your like. Unrecognized dates are flagged and included in your data consistency report when the <ShowDatePhrasesInDataConsistencyReport> configuration option is enabled.

  • Gigatrees supports setting a FAMS.EVEN.TYPE to either He Married or She Married to indicate their individual marriage order. Their marriage order should be defined using the FAMS.EVEN.CAUS record and set to a natural number: 1, 2, 3, etc. If defined, a person's marriages will display the ordinal (1st, 2nd, 3rd, etc.) for their marriage in their timelines. The following is an example of how the new event should be structured to indicate a husband's second marriage.

    1 EVEN
    2 TYPE He Married
    2 CAUS 2

  • In typical GEDCOM fashion, they allow source records to have only one SOUR.TEXT field, but an infinite number of SOUR.NOTE fields. Not to be outdone, Gigatrees allows specifying page numbers for NOTE fields using the _PAGE tag. Page numbers are treated as strings so are not restricted to integers. They may be defined in whatever way you choose, for instance you might find it necessary to define a page number to include a volume number like 'vol. II, pg 1-3'. The beauty of defining page numbers is several fold. You can use the SOUR.NOTE field to contain quotations from your source, and then add the _PAGE field to indicate the page number. You can define multiple page numbers for the same source note field. These defined page numbers will then be listed on the source page in the heading of each note. If you use these same page numbers in your source reference's page field (@SOUR@.PAGE), your source reference links will include the page numbers and link directly to that page in the source. You can also add multiple comma-separated page numbers to your source reference page fields to have each one linked separately. To enable this feature you will need to enable the <SpecialPageHandler> option in your configuration. Pages should be limited to 10 characters each or they will not be displayed in the source references.

    1 BIRT				
    1 SOUR @S1@
    2 PAGE 49,100-105
    0 @S1@ SOUR
    1 NOTE Page 49-50: yada yada yada
    2 _PAGE 49
    2 _PAGE 50
    1 NOTE Page 100-105: yada yada yada
    2 _PAGE 100
    2 _PAGE 100-105 requires when editing source information, to fill in the "Detail" field. This field is exported to the GEDCOM @SOUR@.PAGE field. Often times, however, you do not have a page number that you want to include. Gigatrees lets you define the <PageNone> option in your configuration to specify any special page text that you want to ignore and strip from your Gigatree. By default, this value is set to [none].

    1 BIRT				
    1 SOUR @S1@
    2 PAGE [none]

  • Gigatrees allows you to embed HTML tags in virtually any GEDCOM field value. Although absolute URLs are linked automatically, relative URLs (those not including the http://) are not. You can use the HTML anchor tag (a href=) to link these yourself. I use them mostly to embed preformatted text into notes and source citation fields. so for instance I can include Census data like following so that it is more readable.

         Line:                 99               100             1                 2
         Name:                 William Forsyth  Minnie Forsyth  William Forsythe  James Forsythe
         Relation:             Head             Wife H          Son               Son
         Home:                 Owned
         Mortgage:             Mortgaged
         Gender:               Male            Female           Male              Male
         Race:                 White           White            White             White
         Age:                  26              25               1 7/12            5/12
         Status:               Married         Married          Single            Single
, however, strips HTML tags from the text fields for security reasons. To get around this, Gigatrees treats {{ as the start of an HTML tag. It also treats {{nl}} as a new-line or carriage return (\n). You can therefore embed the same preformatted text into's text fields by using these tags like

    {{pre>     Line:                 99               100             1                 2
    {{nl}}     Name:                 William Forsyth  Minnie Forsyth  William Forsythe  James Forsythe
    {{nl}}     Relation:             Head             Wife H          Son               Son
    {{nl}}     Home:                 Owned
    {{nl}}     Mortgage:             Mortgaged
    {{nl}}     Gender:               Male            Female           Male              Male
    {{nl}}     Race:                 White           White            White             White
    {{nl}}     Age:                  26              25               1 7/12            5/12
    {{nl}}     Status:               Married         Married          Single            Single


This is a small tree with a limited number of individuals and includes only those sources provides. The only GEDCOM extensions it supports are those needed for privacy and for GPS support (see User Guide).

This is a larger tree and includes support for all of the GEDCOM extensions covered in the User Guide.



Gigatrees supports translating your Gigatree and reports into any language. All of the display text generated by Gigatrees is kept in a single translation text file. The file holds just shy of 500 strings, many of which are one word only. You can modify this file manually, or you can use the auto translation feature discussed in the FAQ.

This is the same tree shown above, but translated into French using the auto translate feature. I did go back an modify a few of the translation strings. Of course I have no idea what it says ... I don't speak French.

I used the auto translate feature again, this time to translate the above validation report to Arabic. To see what it says, use your browser to translate it back to English.

  • 7/1/2016 (

    Removed the DLL requirements from gigatrees.exe and added the <GeonamesUserId> option.

  • 6/30/2016 (

    Improved automatic translations by adding support for the Google Translate API. I also updated the translation files; now all default display strings should be included.

  • 6/29/2016 (

    Added support for automatic translations via the Microsoft Translate API.

  • 6/28/2016 (

    Expanded support for Kinship Lines by adding a new "Kinship" page option to <Pages> where you can enable and disable the new Kinship List pages. Kinship Lists are in effect a Descendant List between the most recent common ancestor, and related spouses. When enabled, the most recent common ancestor link on the Kinship Lines tab will link to the appropriate Kinship List. When disabled, it will go back to linking to that person's profile page.

    I added initial support for translations with the <LanguageFile> option ,which specifies the path to a text file that holds all of Gigatrees' translation strings.

    I added a <AlternateNamesFile> option that specifies the path to a text file that holds alternate given names. Alternate names are used during data sanity verification to determine similarly named children and also by the Statistics page for determining popular names. Another option was added that allows you to ignore similarly named children whose timelines did not overlap during data sanity verification.

    A new test was added during data sanity verification that will detect persons with unknown genders. I also fixed the text for unknown genders. Another new test will show locations for which no coordinates could be read. I also fixed a bug preventing abbreviated state names from being recognized.

    Improved handling of non GEDCOM compliant dates and fixed handling of British monarch dates.

    Fixed handling of's parental associations via their _FREL and _MREL tags.

    Add another test during data sanity verification that will detect families having swapped spouses. requires when editing source citations that the "Details" field be set. On export, this field in put into the page number. I added a special user string of <PageNone> so that users can tell Gigatrees what special text in that field should be discarded. strips HTML from any text fields such as in sources. Add support for special embedded HTML tags that can be used with

  • 6/20/2016 (

    I added initial support for Kinship Lines by adding a tab on individual profile pages that shows for each related spouse their degree of kinship, relationship and most recent common ancestor. I also added a <CalculateKinshipUsingCanonLaw> option, which allows you to control how the degree of kinship (also called affinity or consanguinity) is calculated. The default calculation method is based on civil law. Enabling the option changes the calculation method to canon law. Both civil courts and churches prohibit a union between spouses too closely related. I added a <ProhibitedDegreeOfKinship> configuration option as well. It allows you to specify the degree at which marriage unions should be considered prohibited (based on your calculation method). This value is then used in during data sanity verification to detect spouses who should have been denied marriage and are therefore improbably married. This should be very useful to medieval genealogists who are often trying to pinpoint the marriages between similarly named individuals, Finding that a man and a woman were too closely related will help eliminate prospective candidates.

  • 6/15/2016 ( - This is the initial release of the distribution. New features not previously available in the web service are support for Descendant lists, an Immigrants report, a Nobility report, a Military events timeline, ancestor distribution heatmaps on each person's profile (that flags all their ancestors' earliest event locations), FancyBox support for displaying images, special support for linking to source page numbers, additional data sanity tests, GEDCOM tag naming, and tons of other controls for enabling and disabling features. Individual reports, such as Bonkers, can still be generated by disabling any pages not needed for that report. VGedX continues to be available by setting the <Project> (see vgedx.xml).

These are some of the users and websites recently discussing Gigatrees. Go check them out, I bet they have something interesting to say.