GeneWeb is a genealogy software with a web interface created by Daniel de Rauglaudre. It can be installed locally on a stand-alone machine and on any web server.
OCaml PHP HTML JavaScript CSS Standard ML Other
Failed to load latest commit information.
contrib Remove 'open Robot' Jul 11, 2018
dag2html Remove 'open Printf' Jul 10, 2018
etc Removed tmplnb from perso.txt. Restaured evar.wide=on in menubar Jun 27, 2018
ged2gwb Remove 'open Mutil' Jul 10, 2018
gui Remove 'open Printf' Jul 10, 2018
gwb2ged Remove 'open Mutil' Jul 10, 2018
gwtp Remove 'open Printf' Jul 10, 2018
hd rename perso_module to modules, move images of modules to subdir Jun 27, 2018
man Fix gwc manpage Nov 1, 2016
setup Remove 'open Printf' Jul 10, 2018
src Fix wrong parameter order for is_substr Jul 16, 2018
test Test files for API and tree links Mar 13, 2016
tools new approach to remove backslashes and CR Apr 25, 2017
wserver Replace IFDEF UNIX with Sys.unix Mar 6, 2018
.gitignore Temporary hack before the new build system Feb 14, 2017 Temporary fix compilation process, before switching to ocamlbuild. Jun 24, 2016
.travis.yml OCAML_VERSION needs to be specify now, instead of latest Feb 26, 2018
CHANGES Fix some typos found by codespell Dec 24, 2015
ICHANGES Fix some typos found by codespell Dec 24, 2015
INSTALL Make install for macOS, icons folder, icns files, updates in INSTALL,… Jul 25, 2016
LICENSE remplacement des alt par title, correction bug date, suppression redi… Oct 3, 2011
Makefile record commit number and Ocaml versions in distribution folder Jun 27, 2018 In, change make into make opt for compiling GeneWeb Nov 25, 2017
appveyor.yml fix travis and appveyor CI Feb 26, 2018
configure Fixing compiler warnings Feb 12, 2018


GeneWeb is an open source genealogy software written in OCaml. It comes with a Web interface and can be used off-line or as a Web service.


The documentation is available online:

Getting involved

We encourage you to participate in this open source project. We love pull requests, bugs reports, ideas...

Building the code

Build status

Linux/OSX Windows
lin-badge win-badge

Build instructions

  1. Install OCaml (
  2. Install opam (
  3. Install camlp5 (with opam)
  4. (Optional) Install ocamlfind (with opam)
  5. Clone the repository
git clone
  1. Compil GeneWeb
make opt
make distrib

Building the API

The API uses the Google Protocol Buffer to exchange informations encoded as pb, json, xml.

It has the following dependancies:

  • OCaml
  • camlp5
  • lwt
  • ocamlfind
  • ocurl
  • piqi
  • piqilib
  • protobuf
  • re
  • uuidm
  • yojson
  • redis

Contributor guidelines

Creating a pull request

Use the bug number/title as the name of pull request. Example of commit message "PR #XXX: Title of the PR/Bug".

Coding style

  • Try to keep the same coding style as the existing one.
  • New code should not contain any trailing whitespace.
  • Each commit should have a single clear purpose. If a commit contains multiple unrelated changes, those changes should be split into separate commits.
  • If a commit requires another commit to build properly, those commits should be squashed.
  • If the PR needs to be update, push force.


File Description
CHANGES changes (for genealogists non programmers)
ICHANGES changes (for programmers)
LICENSE license notice
configure configure script
Makefile main Makefile
README this file
INSTALL installation file
contrib users contributions
dag2html library to create html trees
etc additional files for distribution
ged2gwb converter GEDCOM -> GeneWeb
gwb2ged converter GeneWeb -> GEDCOM
gwtp CGI to upload and download databases
hd html and image files for GeneWeb program
rpm files to create Linux rpm packages
setup service (gwsetup) to launch commands in a Web navigator
src sources of main programs
tools tools for compiling
wserver library for creating Web services


All files marked in this distribution are Copyright (c) 1998-2016 INRIA (Institut National de Recherche en Informatique et Automatique) and distributed under the conditions stated in file LICENSE. They can be freely redistributed for non-commercial purposes, provided the copyright notice remains attached.


You can compile on Unix, Windows or Mac OS X machines. See the file INSTALL for installation instructions.