Genealogy for Everyone in the Torah – Draft

I’ve finally finished: a family tree / genealogy of every named figure in the Torah, the first five books of the bible. I’ve been on this project off-and-on for two years– not because I didn’t have the data (that part was easy), but because creating a tree of more than six hundred nodes is more than I wanted to do by hand, especially because I intend to move on to the next books soon. My end goal is to produce a tree of every figure in the bible.

Geeks can work awfully hard at being lazy. Since I refused to do the layouts by hand, I wrote my own software. I first built a flatfile database of everyone in the Torah, then built software to convert that into the DOT graphing format for processing by the open source tool “graphviz”. I complete a first pass (in Perl) almost a year ago, but it was broken and difficult to maintain before it was done. I completed a second pass (in Java) this month. As annoying as Java is for text processing, I needed type safety and modern data structures. I spent the last several weeks massaging the output to work around weaknesses in Graphviz: it wasn’t designed for this sort of abuse either.

The end result isn’t perfect:

  • Relationship boxes still don’t show up correctly with unnecessarily wavy lines and the “offspring” dots sometimes misaligned. You can tell what’s what, but it’s not great.
  • Sometimes paths can be confusing. Even a computer can’t perfectly lay out such complex data!

This is a draft. The first draft. It has errors. My next step will be to carefully comb over the data, using the “plain” meaning of the text whenever possible, to make a better version. The Torah presents many challenges in this project such as names that may refer to multiple people (Abimelech), multiple names that refer to only one (Moses’s father-in-law), places where it isn’t clear if a “son” refers to a direct son or a descendant, etc. I will also produce an appendix (interesting to very few) where I will itemize these decisions and describe why I made each one.

I hope you find this tree as interesting as I do. I had great fun putting it together. You can download the draft genealogy of the torah here. (PDF)

(The old PNG image version is available here. Still a 5MB file.)


  • Black lines are direct descendants
  • Red lines are tribal descendants (Canaan -> Caananites & Midianites -> Reuel)
  • Blue lines are royal lines of kings / other rulers
  • Triangles represent tribes/races/nations
  • Round boxes are individuals
  • Rectangles define relationships/families

5 thoughts on “Genealogy for Everyone in the Torah – Draft”

  1. I know the word is overused, but this is truly awesome! I love it. I did a very simple Family Tree in Genesis with just the major players and then began to add detail from I Chronicles. This was in 1979, but I still refer to the hand-drawn chart I did on the back of mainframe computer paper. Although I’ve been in IT my whole career, I certainly never wrote code to do what you’ve done. Nice job!

  2. The links do not work. Do you still have these somewhere? I know this pages was made years ago, but I would still like to see them.

  3. I have corrected the links! I am not sure but they must have broken during some site update or another over the years. Sorry about that.

Leave a Reply

Your email address will not be published. Required fields are marked *