Embeddable family tree
visualisation for the web

Parse GEDCOM files or pull live data from WikiTree. Zero runtime dependencies. Pan, zoom, and edit — all in the browser.

Try GEDCOM demo → Try WikiTree demo
AGPL-3.0 Zero dependencies TypeScript ESM + UMD

📄

GEDCOM 5.5.1

Full round-trip parse and serialise. Handles CONC/CONT, multi-byte characters, and large files.

📦

Zero dependencies

Ships as a single ESM/UMD bundle. No React, no D3, no bloat. Drop it on any page.

🖱️

Pan, zoom & edit

Touch-friendly pan and wheel zoom. Inline side-panel editing with live tree updates.

🌐

WikiTree live data

Load ancestors directly from WikiTree by profile ID. No file required, no auth needed.


Installation

npm

npm install family-tree-viewer

CDN (unpkg)

<script src="https://unpkg.com/family-tree-viewer"></script>

Quick start

import { FamilyTreeViewer } from 'family-tree-viewer';

const viewer = new FamilyTreeViewer('#container', {
  theme: 'light',
  onSave: (gedcom) => console.log(gedcom),
});

// Load a GEDCOM string
viewer.loadGedcom(gedcomText);

// — or — pull directly from WikiTree
await viewer.loadWikiTree('Einstein-1', { depth: 3 });

See the API documentation for the full option reference, or jump straight to the GEDCOM demo and WikiTree demo.