GalaxyRoots · Your Family in the Cosmos

I found this on genealogy.net.

Someone ( @Hendrik ) has created a great browser-based graphic for gedcom files.

Dear genealogists,

you’re probably familiar with this: a GEDCOM file meticulously maintained for years,

containing hundreds of people, but the visualization in your genealogy program is always the same flat tree view.

I’ve developed a tool that spatially displays the data: GalaxyRoots. I want to make two things clear from the outset:

It’s not a replacement for Ahnenblatt, Gramps, Family Tree Maker,

or MyHeritage. It does one thing: visualization.

Your data never leaves your browser. There’s no server,

no database, no cloud. This isn’t marketing; it’s

a technical fact and can be accessed using the browser’s developer tools (F12).

What it can do:

  • Directly import GEDCOM 5.5, 5.5.1, and 7.0

  • Smoothly display up to ~5,000 people

  • Two layout modes (organic/scaled)

  • Automatically hide living people in compliance with GDPR

  • Search function with instant suggestions (name, year of birth, etc.)

  • Simultaneously available in German and English

What it can’t do:

  • Data maintenance (continue reading your GEDCOM data in a dedicated program)

  • Link people (also data maintenance)

  • Source management

  • Photo display

It’s a hobby project, free, no ads, no subscription.

If you’re interested: Image above, address.

I’m very happy to receive feedback, bug reports, and suggestions for improvement,

especially about typical use cases that I

overlooked.

Best regards,

Hendrik

I am thrilled!

This looks like another wonderful opportunity to demonstrate how the Gramps engine can be used with other interfaces.

The ideal option would be for GalaxyRoots to query the database directly for the information needed for its display. Bypassing the latency of the GEDCOM export and import.

But as a plumber’s nightmare option, is there a simple set of Gramps engine API calls (or a parameterized CLI example) that could be published? Like: from tree <x>; filter <y>; export with exporter <z> to <filename>; (possibly a throttle: ≤ 5,000 persons)

That seems like something that @bartfeenstra could use for “Betty” too.

As a middleground compromise to full integration, collaborating developers could write an exporter plug-in for their native format.

Great to see more people explore the power of network graphs — something I’ve been advocating for since the early Gramps 5 era, even though only a few on the mailing list or here on Discourse have considered it useful.

As a hint: *You can create similar network graphs in Cytoscape, Gephi, Tulip and yEd, just to mention a few. And if you prefer Python‑based workflows, you can combine networkx or igraph with frontends such as PyVis, ipycytoscape, Dash‑Cytoscape, Plotly, Bokeh or Graphistry — or even D3.js if you want the full flexibility of a modern JavaScript visualization engine.*

This can also be integrated into a Gramplet with relatively little effort. There is already at least one Gramplet that uses D3.js, and Gramps itself relies on Graphviz for its built‑in relationship graphs. So the ecosystem is already halfway there, and nothing prevents new Gramplets from using networkx, igraph or any modern graph frontend.

I actually made my own XML converter based on Nick’s GEXF export, with the help of AI. It was fairly easy to do, even though I had to go through some trial and error before it became usable. It’s still not complete — I still need to handle things like links inside Notes and the Association feature in Gramps — but the core works.

This type of network graphs was actually one of the main reasons why I started to use Foam for VSC and Obsidian (Under here is a small part of one of my research graphs showing links between newspapers, ships, events, ports and seamen).

Another tip: this can now be done quite easily with @banisterious “Charted Roots” plugin for Obsidian, which brings proper genealogical charts, maps, and relationship visualizations directly into Obsidian. Genealogy research in Obsidian for those who want to try - #10 by StoltHD

And for someone who actually knows how to code and create Gramplets, I believe it would be quite straightforward to build a Gramplet with multiple algorithms, filters and other tools for analytical work and research — and even add visual effects for such a graph, since modern graph engines make that almost trivial.

Note: This text was drafted in Norwegian and translated and refined with the assistance of Microsoft Copilot. The final content has been reviewed and approved by the author.


Nick has already made the GEFX exporter, you can use it to create this type of graphs in any network graph tool

and then you have the Carted Root plugin for Obsidian, that let you import a Gramps XML to Obsidian… where you can do a lot of stuff like network graphs with visual graph colors based on rules etc.

Thank you both for the thoughtful feedback — really appreciate the time you took to engage with this!
@emyoulation Your point about bypassing GEDCOM latency is spot on. A direct Gramps exporter plugin is on my radar — the current GEDCOM path was just the fastest way to ship something testable. I’ll also take a look at the Betty project.
@StoltHD Thanks for the tool references — Cytoscape, Gephi and the Python ecosystem (networkx, PyVis, Plotly) are exactly the comparisons I needed. I’ll definitely study “Charted Roots” for Obsidian before locking in too many design decisions. Also respect for building your own XML converter — that’s the kind of grassroots tooling the ecosystem benefits from.
One note on the current architecture: GalaxyRoots processes GEDCOM entirely client-side in the browser — no server upload, no data leaves the user’s device. That was a hard requirement given the sensitivity of family data. Any Gramps integration will need to preserve that.
A small request: would anyone be able to share a small sample file in Gramps’ native formats — ideally a Gramps XML export (.gramps) and/or a GEDCOM export from the same tree, so I can compare them directly? Even a synthetic 10–20 person tree would be incredibly helpful for testing parser compatibility and prototyping a native importer. No real personal data needed.
Taking into the backlog:
Gramps exporter plugin (Python) → native format
Custom JSON import alongside GEDCOM
Throttle for large trees (5,000+ persons)
Study Charted Roots / Betty
Thanks again — this kind of input makes early-stage projects better.

Hendrik

You can use the default example database for your testing purposes. It’s not extremely large, and it will make things easier if you later want to add features for linking events, places, links in notes, etc., since most of that already exists in that tree.

And if you know some Python, you could go all in and create a Gramplet that showcases your app.

I also see that you’re using Three.js after reading through your pages. Maybe you could add more algorithms for relationship analysis by using, for example, igraph, vis.js, cytoscape.js, D3.js, and so on. And since you clearly have knowledge of both programming and network graphs, you might even be able to create a Gramplet that uses this system but works directly with Gramps’ Python objects.

Just a suggestion, if you ever feel like taking your system even further.

PS. I really like that you’re using graph theory in your app — there are so many possibilities for analysis when working with network graphs and graph algorithms. But personally, I’ve moved away from GEDCOM as a format; it’s too limited and too lossy.

PS. I really like that you’re using graph theory in your app — there are so many possibilities for analysis when working with network graphs and graph algorithms.
But personally I have moved away from Gedcom as a format, it is to limited, to lossy…

I’ve posted a few more updates.

Tip for “Large Trees”:

Load the entire tree

Use the search function (top left) to center on a specific person

Click the “Isolate Branch” button

The result should be quite clear in the “Cone” view.

I’m still working on integrating an automatic feature here for when you open a large file.

Updates:

You can now click on the person’s name in the right-hand info field to switch between people

Navigation fix: Left and right mouse buttons are now more intuitive… like climbing a tree

The tree is divided into 4 colors based on the 4 grandparents

Fewer glitches in the cone view

I’d really appreciate any further ideas or bug reports.

Here you can see a Video with Most functions.

I started to implemet VR modus. First without Text Informationen.