I'm looking for a flexible way to display the output of the GEDCOM data model or Gramps data model, which are the most common data models for genealogy. Both data models support family trees that include both biological parents and multiple interconnections between different branches of an ancestor tree.

One example of multiple interconnections would be a case where two sisters of one nuclear family marry two brothers of another nuclear family. This is the case for a distant relative of mine, sometime in the 17th century, as you can see in the screenshots (of my family tree in MyHeritage.com) below.

From the brothers' perspective: Brothers

From the sisters' perspective: Sisters

A more complicated example would be when a greatgrandmother of a man is the mother-in-law of the grandmother of his wife (or her sister). Something like that too occurs among my 18th century ancestors, but it's a bit more difficult to provide a suitable screenshot.

While I know this can be done with Canvas, I prefer a solution that uses either SVG or HTML for display. Are there any JS libraries that support such multiple interconnections between different branches of the same tree out of the box? Or do you know any examples for eg. D3.js, jsPlumb or GoJS that supports both (1) dual parent linkage and (2) multiple interconnections out of the box? And if not, what approach would you recommend?

  • 1
    Welcome to Software Recommendations! Please note that this site is about recommending software for specific requirements – not howtos, tutorials, paradigms, algorithms, and the like. So only the library part of the last paragraph is on-topic here (which is why I did not mark it off-topic); for all else, you'll need to ask somewhere else.
    – Izzy
    Jul 4, 2015 at 13:30
  • 2
    @Izzy : I tried both StackOverflow and UX.StackExchange. Both called my question off-topic and closed it. After asking on META.StackOverflow where I should ask my question, they sent me here. I really don't know where else to go to. I also don't feel like spending 100 hours playing around with different libraries to figure out what's the best way to approach my problem when one or more suggestions from experts might be enough to send me in the right direction. Getting such answers used to be what I loved about StackExchange, but more recently I feel only lost and confused here. Jul 4, 2015 at 14:25
  • John, that part asking for the libraries is fine here (as I already wrote). Just most of the "surrounding" is not. And yes, people send you here and there; you should take that as "nice indicators", but verify by looking at the /help/on-topic page of the targeted SE site (yes, each SE site has that page) before posting ;) // Btw: if the greatgrandFATHER is "MOTHER-in-law" of anyone in my ancestry, I'd be pretty confused; that might be "normal" today, but in the 18th century? #D
    – Izzy
    Jul 4, 2015 at 14:32
  • 2
    I was more playing at a mother being a father ;) And yes, details are a must-have. As said, I didn't mark it OT – I was just pointing out we won't discuss strategies here. Good luck with your question; I cannot recommend anything here, but hopefully there is someone around who can!
    – Izzy
    Jul 4, 2015 at 14:46
  • 1
    You could try asking the question at Genealogy &Family History Stack Exchange. genealogy.stackexchange.com
    – lkessler
    Jul 5, 2015 at 5:41

1 Answer 1


There is a free tool that will enable you to do this: SVG Family-Tree Generator (6.0). Not only will this allow you to graphically design and layout a tree which it will convert to some combination of SVG, HTML, CSS, and JavaScript for you, it will import data from GEDCOM. Furthermore, there are configurations that allow interaction, either with built-in click functionality or custom functionality. There's an installation kit, samples, and documentation mentioned in that article. I'm actually the author and wanted a tool to do pretty much what you describe, and so share my tree(s) with family and friends without them requiring a subscription.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.