Vivify: The GEDCOM Birth Date Estimator

Please sign in to generate a report.

Now serving number:   239


Bring your ancestors to life today, with Vivify.

Vivify will estimate a birth date for every person found missing one in your database. It works by running your GEDCOM file through a battery of recursive, multipass, deep scanning algorithms designed to make the most accurate estimate possible.

Configuration Options

Vivify provides you with the ability to fine tune your results. Specifically, Vivify allows you enable options to help determine how dates should be interpreted, and allows you to configured common age thresholds to best match your data. All selections are preserved between sessions.

  • +Options

    Select which options you prefer. Note each of the below listed options helps determine how dates in your database are to be handled.

    Assume Flourishing For All Vendor Specific Events
    Force Using Closest Estimate


    Assume Flourishing For All Vendor Specific Event Types allows you to specify that any events of an unknown event type that occur while a person is living also occurred while the person was flourishing. This is useful if you've added new event types to your database. Do not check this option if you use these new event types for children.

    Force Using Closest Estimate will signal Vivify to assign the closest estimated birth date calculated when conflicting dates prevent it from establishing a clean estimate. This will result in less than accurate estimates and should only be used when want all persons to be resolved regardless of their accuracy.

  • +Age Thresholds

    Set the age thresholds for the following items to best match your GEDCOM data. By default, the most common ages are defined.


    Maximum Child Baptism Age is the maximum age at which a person was baptized or christened as a child. Adult christenings are not considered in this context.

    Minimum Marriage Age is the minimum age that a person could have been married. Betrothals and Contracts are not considered in this context.

    Maximum Wife's Marriage Age is the maximum age at which a woman could have been married.

    Maximum Age Between Spouses is the maximum number of years of age between spouses.

    Minimum Child Bearing Age and Maximum Child Bearing Age are the range of ages within which a woman could bear children.

    Minimum Flourishing Age and Maximum Flourishing Age are the range of ages that a person is considered to be an adult and would be found containing adult attributes and events such as Nobility Title or Occupation.

    Maximum Age (Life Span) is the maximum age at death of a person.

    Maximum Event Age Error is the maximum error expected between an event and their known age. A common phenomenon in genealogical records results in persons being listed at the time of an event with an age that is not accurate. Making this value too narrow may prevent Vivify from being able to resolve conflicting dates preventing it from establishing an clean estimate.


Vivify is as a free web service. It uses the same GEDCOM Parser that is used by VGedX Online, my 100% compatible GEDCOM validator. Vivify, however, supports a special expanded GEDCOM dictionary that will recognize numerous vendor specific events and date formats giving it a distinct advantage over vendor specific birth date estimators, and makes it useable by virtually anyone with a GEDCOM file.

Vivify generates a report listing all persons for whom it was able to calculate an approximate birth date, and includes for auditing purposes the list of events it used to determine the date it estimated.

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

Leave a Comment
  • Tim Forsythe
    03 Jun 2013

    Ian, I emailed you links to your report and modified GEDCOM file.

    Make sure to backup your existing GEDCOM file before replacing it and please do try to verify that the new GEDCOM file did not stomp on any other data besides the estimated birthdates. I generally test mine using one of the many freely available text file difference checkers.

    Bonkers will find all sorts of issues including duplicates using the loop checker. It will also list persons whose birthdates could not be estimated.

  • Ian Phillips
    03 Jun 2013

    Hi Tim,

    I have submitted 'mull.ged' again this morning (Monday). Thought it would be just as quick than setting up yet another account. Would be good to receive an updated GEDCOM file but would be more than happy to receive an update report.

    Do I take it that your duplicate loop check program would identify more possible duplicated after the estimated birth dates have been added.

    Many thanks for all your help and assistance.

    Best regards,


  • Tim Forsythe
    02 Jun 2013

    Ian, I can use the last GEDCOM you uploaded, or if you want to upload something larger, you can put in a dropbox or a box (see my link on how to create an account and get extra space: ) and share a link with me via email ( so I can download it.

    I use estimated dates for the same purpose and yes it is a pretty intense algorithm. I just implemented a simple duplicate loop check ( ) which just walks a persons ancestors recursively looking for a reference to themselves.

  • Ian Phillips
    02 Jun 2013

    Hi Tim, Many thanks for your prompt reply. 'I would like to automate offline batch execution, but haven't gotten to that yet. ' Know the feeling only too well. One of my tasks was to calculate missing dates of births and place an 'Estimated' date against those records that I could reasonably accurately calculate a date. The objective is to try and identify possible duplicate records of which I know I have a good few. Then I saw your program and thought it would save me a good bit of time writing and testing a program. The longer term objective is to move the data to a MySql database from the existing Microsoft Access database. Currently I use Cumberland Family Tree program to maintain the data. It outputs a GEDCOM which I read into a program which I wrote that outputs the GEDCOM as an Access database. I then use .asp script to display the data. No commercial program will handle the searches needed. Being mainly scottish names I need to be able to display both 'Mc' and 'Mac' spellings regardless of the surname entered. A similar problem exists with forenames in that a good number are interchangeable ie Sarah and Marion and James (English/Scottish) and Seamus (Gaelic). Have cracked this issue by using lookup tables. So cutting back to the chase, I would be grateful if you could run Vivify against my GEDCOM file offline. Please let me know how I can get the GEDCOM file to you. Best regards, Ian

  • Tim Forsythe
    02 Jun 2013

    Ian, large databases can take quite awhile to run, using server resources. I would like to automate offline batch execution, but haven't gotten to that yet. If you would want me to run a larger database like this one offline, I can, just let me know which tool to run and make sure you've setup your config. If the database has not yet been uploaded, then send me a link to where it can be downloaded. I'll email you a link to the report when complete. It may take a day or two depending on how busy I am at the moment. I usually run batches over night.

  • Ian Phillips
    01 Jun 2013

    Would be great if the program handled larger files. I have a database of 56k individuals many of which have the same or alternative names and / or surnames. One way of identifying possible duplicate entries would be to estimate their dates of birth and then sort. Records are available for viewing at



  • Tim Forsythe
    05 Jan 2013

    Vivify has been updated to allow downloading the modified database (includes birth date estimates)