This project lets you scrape your family tree data from 23andMe and convert it into a GEDCOM file, which can be imported into genealogy software like Gramps, Ancestry, or MyHeritage.
- Scrapes family tree data from 23andMe (including relatives, nodes, and annotations)
- Normalizes and processes data into standard GEDCOM format
- Command-line interface with flexible output options
-
Clone the repository:
git clone https://github.com/yourusername/23andMeFamilyTreeScraper.git cd 23andMeFamilyTreeScraper -
Set up a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate -
Install dependencies:
# If you use uv (recommended) uv pip install # Or with standard pip: pip install . # This installs using pyproject.toml metadata
python main.pyThis will:
- Scrape your family tree data from 23andMe (you may need to authenticate)
- Store JSON files in the
data/folder - Export a
export.gedfile in theoutput/folder
If you’ve already scraped data, you can run:
python src/gedcom_generator.py --data-dir data --output output/tree.gedRun the included unit tests:
pytest -vThe GEDCOM file will be saved to output/export.ged by default and can be opened in any genealogy software that supports GEDCOM 5.5.1.
MIT License. See LICENSE file for details.
Built by Boris Legradic as a personal side project to preserve family history. Contributions welcome!
If you are using uv for fast Python dependency management:
uv venv
source .venv/bin/activate
uv pip install python3 -m venv venv
source venv/bin/activate
pip install .