February 2, 2007

Track your ancestors with GRAMPS

Author: Alex Roitman

GRAMPS is the Genealogical Research and Analysis Management Programming System -- free extensible personal genealogical software. Its numerous reviews cover the basics of what it does. In this article, I'll reveal some lesser-known features and tips from the developers' hideout.

To briefly summarize its abilities, GRAMPS can import a GEDCOM file (the de-facto standard for exchanging genealogical data), provide a convenient and easy way to add and modify the information, and export the data in a variety of formats, including GEDCOM. GRAMPS can also generate a wealth of text reports, as well as graphical charts and diagrams based on your data, and it provides many useful tools that examine your information for consistency, check for errors, and explore your database to give you new leads in continuing your family history research.

The installation process is explained in detail in the project's Download section, so I won't repeat it here. Once installed, GRAMPS is intuitive enough for you to just run it and learn as you go. You can invoke a User Manual from the Help menu to guide you through the details of data entry, reports, and tools. Instead of competing with the manual, I will focus on important tips and highlight newer features.

Safety first

Unless your database has just a handful of people, losing data due to a mishap means a lot of work lost. You can make periodic backups of your data in GRAMPS XML format by selecting Export from the File menu. The XML file contains all the data from the database in small files that can be read by anything. In contrast, the software's default GRDB format is optimized for the speed, at a cost of large files and non-portability. If you copy your GRDB file to another machine or send it to your grandma, it will not open, but the XML always will.

Click to enlarge

Another safety aspect has to do with privacy. Be careful about sharing your genealogical data and posting it on the Internet. It is not uncommon for such data to store Social Security numbers and contact information. You probably would not like your personal data to be exposed, so please be mindful about the information on your relatives as well.

Exchanging data

If you have already computerized your genealogy research, chances are that you have your data in the GEDCOM format, or can generate a GEDCOM file. The best way to import it into GRAMPS is to create a new empty GRDB database and import your GEDCOM file into it, rather than opening the GEDCOM file directly. This way, your GEDCOM file will be left unmodified, and you will benefit from the efficiency of the default database format.

At any time, you can export your database (or its portion) into GEDCOM to exchange with other people. GRAMPS provides a variety of privacy options, from removing the names of living people to excluding their notes and sources, to completely skipping any data marked as private during the export. You can mark any piece of information as private in GRAMPS by clicking on a padlock icon in a corresponding editor window.

Links, links, links

Once GRAMPS has your data, you can start to explore it capabilities. Data is organized into collections of conventional objects: People, Families, Events, Sources, Places, Media, and Repositories. Each sort of object has its own view that can be used to add, modify, and delete objects from the database. However, the objects are not isolated pieces; instead, objects are heavily linked to one another. Linkage is what genealogy is all about.

A GRAMPS event - click to enlarge

Let's take an example. Imagine that you just discovered information on the burial of a person. Double-click on that person in the People view. Click the + icon in the Events tab to add an event reference. The Event Reference editor comprises two parts: the Shared information is about the event itself -- event type, date, place, privacy, etc. -- while the Reference information is about this person's part in the event -- his role (primary) as well as corresponding notes and attributes. Keep in mind that same event can be referenced from another person's record, with a different role (e.g. witness or clergy) and notes as necessary.

Now switch to the Events view and find the event that you just added. Double-click to open it in the Event editor and then switch to the References tab. You should see all persons and families that refer to this event. A similar situation happens with sources, media, and other references: when any record refers to another record, it links to the record. Any record that can be linked to has the References tab in its editor. Your data becomes a web of links.

Editing tips

GRAMPS offers many tools that help with adding and editing data. Two useful ones are the Scratch Pad and Undo History.

The Scratch Pad is the clipboard for complex GRAMPS objects. Normally clipboards store only text. In GRAMPS, you can drag and drop almost anything onto the Scratch Pad, and then from it onto other GRAMPS records. This can be extremely useful when you enter data from census records: create the source, drag it onto the Scratch Pad, then drag it from the Scratch Pad onto the editor for each person and family that refers to that source. No typing involved!

The Undo History is a list of all changes done in a session, with their descriptions and times. You can undo and redo actions one by one, or you can highlight a block of many actions and undo them all. If you change your mind, you can go back and forth as long as you like. A word of caution: imports and tools usually clear the undo history, so if you think you may need to revert a tool action or an import, be patient, export your data into XML, and then continue with the tool or import. If you are happy with the result, you can delete the extra XML file. If you are not happy, you can start a new database and import from XML to be back to where you left off.

Research and analysis

The purpose of genealogical software is not just data storage, but also assistance in its analysis. Among GRAMPS' many research tools are:

  • Event comparison: presents all events for a filtered group of people in a single table. Such a table provides a unique view of the data, the columns being sortable by date. These results can then be saved into a spreadsheet file for further analysis in the program of your choice.
  • Find duplicates: analyzes the personal data and presents you with possible duplicates in your database. You can then merge the records if they are indeed multiple versions of the same personal record.
  • Verify database: examines the data against the various user-adjusted limits. For example, a person becoming a father at the age of 5 is definitely an error. You could spend eternity manually checking all your records and still miss this.

Other useful tools provide ways to maintain the database in a consistent state, manage media objects, rename events, and enforce a personal name style: some people feel really strong about being Smith as opposed to SMITH or smith.


At a certain point you will inevitably want to produce some output of your research. One of the purposes may be to make a printed report documenting a branch of your family. Another may be a wall poster with a graph of everybody interconnected. Yet another might be a Web site to share with the world (but don't forget about privacy issues!). All of these can be done by GRAMPS.

Reports are broken down into categories based on their primary output mode: textual, graphical, on-screen, Web, etc. The Book report is helpful in combining a few different reports into a single document (a book) that can be written into one file. It may contain both textual and graphical items. The Narrative Web Site report processes your data to produce a complex Web site with goodies such as surname index, gallery, pages for introduction and narrative, and many others. In addition, you can choose from the supplied stylesheets or create your own to completely change the look of your site.

You can generate a separate kind of graphical report if you install the GraphViz package on your system. GraphViz can produce complex graphs from the code that GRAMPS generates from your database. Once you have GraphViz installed, just select the Relationship Graph in the graphical category, set the options, and enjoy the end result. You will get the superb graph layout optimized by GraphViz and, if you wish, you can use GRAMPS to just generate the GraphViz code and then tweak the code to change the graph options.

Reports can be output in the variety of formats, such as ODF, SVG, HTML, and PDF. If you wish, you can edit a report in the software of your choice, but all reports in GRAMPS use editable styles that can change the look of your report without ever leaving GRAMPS.


GRAMPS uses filters to select a subset of objects, either for display or for using with reports, tools, or exports. GRAMPS provides filters for all object types, although the most important use of the filters is of course for people. Predefined filters can be used from the Filter Sidebar, but you can also generate custom filters.

A GRAMPS rule - click to enlarge

To see how this works, open the Person Filter Editor from the Edit menu and add a new filter. Give it a name, then click + to start adding rules to it. There is a huge number of available filter rules: 55 in six categories. You can add as many rules to a single filter as you like. You can also use an existing filter as a rule for another filter. This gives you extreme flexibility; for example, you can create a rule that matches all childless males born between 1900 and 1920 who were witnesses on somebody's marriage event and have John in their name. Why would you want to create such a filter? Perhaps because you remember something about such a person and cannot find him easily in your database of 60,000 people, maybe because the surname evades you. In that case, let the computer do the searching!


GRAMPS is a complex and full-featured genealogy program with a convenient interface and a rich set of import and export options, reports, and tools. Of course, GRAMPS is not perfect -- on the project's TODO list are such items as multiple notes, rich text formatting in the notes, and a slideshow in the Web browser. But the software is being actively developed, so look for steady improvement.

Alex Roitman is a member of the GRAMPS development team. He has been involved with the project since 2002.

Click Here!