GeneWeb is a genealogy software program with a Web interface. It can be used off-line or in a Web environment. It uses very efficient techniques of relationship and consanguinity computing, developed in collaboration with Didier Rémy, research Director at INRIA.

GeneWeb, free software with a GNU license, is available for Unix, Windows and Mac (OS X).

Daniel de Rauglaudre
Research Engineer
INRIA - Domaine de Voluceau - Rocquencourt
78153 Le Chesnay Cedex - France

GeneWeb's strong points are the following:

For the details about the implementation of GeneWeb, see the technical appendix.

If you want to install GeneWeb on your computer, or if you want to know "how it works", see the directions for use.

Web interface

The interface is provided by any Web browser: Netscape, Internet Explorer, etc.

If you have experience surfing on the Web, you do not need to learn anything new in using GeneWeb: click on the texts, the buttons, fill in the zones, go forward, backward, record the bookmarks, change the sizes of the pages, use one or several pages, etc.

Just because you use a Web browser in displaying GeneWeb, does not mean that you need to be connected to the Internet or a network. You can use GeneWeb in either of two ways:

Dynamic display

The pages that are displayed in GeneWeb are not created beforehand. Each request, even the simplest access to someone's personal records, are created dynamically, at the time of the request.

This avoids problems of filling up disk space. The data is displayed in GeneWeb-created pages, which are not kept on your computer when you leave the program (unless you manually do a "save").

The following is an example of a personal page of Juan Carlos, king of Spain, borrowed from my own database. The original data was entered in French, & remains in that language (king of Spain is written "roi d'Espagne" in French), but the program displays in English (ie. the titles, etc.). When you use GeneWeb, the blue areas are clickable, & go to other personal records or other kinds of pages.

The age of a person that you see in a record is normally automatically calculated from the current date. (This is not the case above, since the example of Juan Carlos is a fixed display, so it doesn't do this calculation.)

Relationship and consanguinity computing

GeneWeb is a program which specializes in relationship and consanguinity computing.

The relationship between any two persons is calculated based on a common ancestor. It is possible that there may be several common ancestors, and for a given ancestor several connecting branches of different lengths. GeneWeb informs you who these ancestors are, and how many branches there are between the people. It lets you know what this relationship is : whether a brother, a sister, a great-aunt, or an ancestor who might be 15 generations distant, etc.

It is then possible to display the details of any of the relationship branches. Here, for example, is a relationship link between Juan Carlos and prince Charles:

The consanguinity (mathematical relationship) between any two persons is calculated from their relationship links. For example, between brothers and sisters, this number is 25%, which represents a close relationship. Between first cousins, this number is 6.25%. The different combinations of relationship links between any two people leads to complex computations, which would be practically impossible to make by hand! GeneWeb performs these calculations for you!!

It is thus possible to appreciate the difficulties in trying to determine the consanguinity (or relationships) between famous persons. As an example of this difficulty: Charles II was the last king of Spain, who belonged to the house of Habsburg. His parents were not brothers and sisters, "just" uncle and niece, but the accumulation of marriages inside the same family leads to a mathematical consanguinity greater than the one that a brother and sister would have! Notice the line Consanguinity in the following page:

There are few other software programs that are able to make these kinds of computations. GeneWeb manipulates huge numbers, and arrives at specific and very efficient results!

Through GeneWeb we are able to determine that Juan Carlos is descended from Charlemagne, & that there are literally billions of branches linking these two people. In fact, these branches pass through over 7,000 people in connecting Juan Carlos & Charlemagne! This amazing computation is done by GeneWeb in just a few seconds! Notice that their actual consanguinity (mathematical relationship) turns out to be very small (0.03%), despite these billions of branches. These "billions of links" may seem like a big number, but because the two individuals are, in fact, separated by up to 52 generations, the mathematical relationship comes out to be extremely small. (For the longest branch, which is 52 generations, there are actually a total of 4.5 million billion branches (4,500,000,000,000,000)!)


GeneWeb has been translated into a number of different languages. It is able to display pages in : Afrikaans, Bulgarian, Catalan, Czech, German, Danish, English, Esperanto, Spanish, Estonian, Finnish, French, Hebrew, Latvian, Icelandic, Italian, Dutch, Norwegian, Polish, Portuguese, Brazilian, Romanian, Russian, Slovenian, Swedish, & Chinese. Any data that is manually entered remains in the language in which it is entered, but the titles, headers, dates, etc., are displayed in the selected language of the program.

Here, for example, is the same record of Juan Carlos displayed in the French version of the program :

If you want, you yourself can add other languages; for example, by translating the welcome page (which is fixed in its meaning in all languages), or the lexicon (which will take more time, because it is so large).

Moreover, if you find that the translation of some word is not exactly correct, it is possible to change it.

Spelling corrections

To access someone's personal record, just type their first name and surname in the initial display page. It is often possible to access an individual even if your spelling is not exact. There is some flexibility in the program. GeneWeb is smart enough to often recognize variations of names.

Sometimes, entering a variation of a person's name in a foreign language will work. For example, to find Juan Carlos, the following requests succeed:

Notice that this does not always work. There are cases where the ambiguity is too big or where your spelling is too different from the person's actual name.

It is possible to search for a woman by her maiden or her married name.

If there are nobility titles, one can use the "place" part as a surname. So, Juan Carlos, king of Spain ("roi d'Espagne" in my French database) can be found by:

Note that "Juan Carlos of Spain" would not work because the spellings "Espagne" and "Spain" are too different.

Nobility titles

It is possible to give one or several nobility titles to persons who have them, and to include beginning and/or ending dates with these titles. Then, it is possible to make selections by title and have, for example, a display of all the kings of France in chronological order, etc.

Information update and protection

Information updates, such as adding, modifing, or deleting individuals and families, can be done through your browser.

If you set up your own GeneWeb database, you probably do not want just anyone to be able to change your data. To prevent this, you can set up a password for your database, that you may want to share only with the persons you trust. This password can be changed at any time by simply editing a file.

Persons knowing the password will be able to make changes, even if they are on the other side of the planet!

The following is the display entry page that you would use to update someone's record. For an actual database situation, you would fill or modify the areas you want, and then click on the "Ok" button at the bottom of the page. (The below page does not actually update anything, since it is only a display.)

Another situation that may arise is that maybe you want the personal information of still-living persons to be hidden. Another password can be set up which would allow only authorized people to see information for persons who were born or died less than one century ago.

You can share this second password with persons that would you like to give the ability to view this personal information, without giving them the right to make updates.


It is possible to customize the welcome page and the other displayed pages, changing the background color or pattern, the font colors, and the default language used.

You can also create a secondary page(s), which would hold specific information about an individual, & which would have a direct link to their personal record or their relationship with other persons in the database.

Miscellaneous Features: birthdays, last birth, etc.

GeneWeb is able to display persons who were born on a certain selected day. As well, you can display any persons born within two days following an entered date, or ten days prior to the entered date.

These results are displayed only if the password protecting personal information has been provided (that is, if you set up passwords).

It is also possible to add pictures to an individual's personal record.

An example: more than 3 millions persons

If you are connected to the internet while you are reading this (ie. not reading this text off-line from a CD-ROM, for example), you can see GeneWeb working. My database holds more than 3 millions persons, half of them being among royal and noble families, extending from Charlemagne right up to the present. The main page also gives links to other databases which are using the same GeneWeb program.

Note: this is a link to the English version of GeneWeb, but the detail data that was entered is in French, & still displays as such.

There is no limit to the size of a genealogy database. Bigger databases will simply consume more memory.

Only one GeneWeb program running on a PC, is all that is necessary to handle multiple databases. In other words, it is not necessary to run multiple versions of the program if you have more than one database. Plus, whenever a change is made to a database, it is not necessary to stop and restart the program. The change takes place immediately, & is available for display right away.

Import and export of GEDCOM files

A program has been provided to build a GeneWeb database from a GEDCOM file. Options are available to allow the adjusting of parameters.

Conversely, it is possible to create a GEDCOM file from a GeneWeb database.

Technical appendix

GeneWeb can work even if no Web server is installed on your PC. The program itself functions as a Web server (although with no other server, you can only use it to view genealogy information). Nevertheless, if there is a standard Web server on your computer, it can be used in CGI mode. This is not a necessity: GeneWeb and the other Web server are able to operate separately, without interfering with each other.

GeneWeb is what is called a "daemon" (in the Unix world). It is a program that spends its time waiting for somebody to send it requests. The program is also able to record a log of the requests made to it.

GeneWeb does not use applets, Java, nor Java script, just simple HTML. All the computing is done by the home (server) computer.

GeneWeb is written in OCaml, a programming language developed at Cristal project (Web page) of INRIA: Institut National de Recherche en Informatique et Automatique (Web page).

GeneWeb is currently available for the UNIX operating system, for Windows, and for Mac (OS X).

The Unix and Mac versions have some capabilities that the Windows version does not have:

Remote accesses are able to be disconnected, if necessary, when the number of potentially generated pages is too large.

The program has now about 44,000 lines of OCaml and HTML code, including the different provided tools (but not including the documentation).

The algorithms of consanguinity and relationships are credited to Didier Rémy (Web page).

To modify the data, you need only use a Web server or some kind of text editor. Two tools are provided: one - to build a database from the source files; the other - to perform the opposite operation, i.e. rebuild the source files from the database, including updates that were made online.

Daniel de Rauglaudre

© Copyright INRIA 2000 - GeneWeb