GEDCOM compatibility
How RootKeep reads and writes GEDCOM files, and what our round-trip tests show. RootKeep is not affiliated with or endorsed by the publisher of the GEDCOM specification.
Supported files
| What | Support |
|---|---|
| GEDCOM 7.0 | Import and export (UTF-8). Extension tags declared in SCHMA are kept. |
| GEDCOM 5.5.1 | Import and export. Long lines are split with CONC at 248 characters, never inside a word boundary space. |
GEDZIP (.gdz) | Import and export: the GEDCOM file plus photos in one ZIP. Unsafe paths inside the archive (.., absolute paths, drive letters) are skipped. |
| Character sets | UTF-8 and UTF-16 (little or big endian, with or without byte order mark), ANSEL (accents converted to Unicode), ANSI/Latin-1. A 5.5.1 file that was ANSEL or ANSI is exported as UTF-8 and its CHAR line says so, so other programs read the names correctly. |
| Dates | Exact, ABT, BEF, AFT, BET … AND …, FROM … TO …, Julian calendar, dual years and date phrases. Dates the editor cannot show as a simple form are kept and edited exactly as written. |
| Photos | Face crop is written as CROP (7.0) or _CROP (5.5.1). Photo paths that point to files on another computer are kept in the file; the photo itself appears once you open a GEDZIP or add it on the phone. |
What “no data loss” means here
- RootKeep shows and edits people, names, events, places, families, parent–child links and photos. Everything else in the file (sources and citations, notes, repositories, custom and unknown tags, pointers to missing records) is stored with its full sub-structure and its position, and written back unchanged.
- A file is exported in its own version: 5.5.1 stays 5.5.1, 7.0 stays 7.0. RootKeep does not convert between versions.
- Editing changes only what you edited: a new person is added before the trailer with a new identifier; a name you did not change is written exactly as it was.
Round-trip test results
Each file is read, stored in the app's database, read back from the database and exported. The exported file is compared with the original by meaning (GEDCOM rules: order matters within the same tag, not between different tags) and byte by byte, twice in a row. Test files are synthetic: fictional people generated by our own test tool, with rare features added on purpose (custom tags, notes on every level, sources, dual dates, missing records, one-sided links).
| File | People | Families | Lines | Untyped sub-structures kept | Differences | Byte-identical |
|---|---|---|---|---|---|---|
| Hard cases, GEDCOM 7.0 | 302 | 101 | 11,214 | 1,327 | 0 | yes |
| Hard cases, GEDCOM 5.5.1 | 302 | 101 | 10,662 | 1,085 | 0 | yes |
| 5,000-person tree, 7.0 | 5,002 | 1,442 | 89,745 | 3,711 | 0 | yes |
| 5,000-person tree, 5.5.1 | 5,002 | 1,442 | 87,461 | 2,590 | 0 | yes |
| 20,000-person tree, 7.0 | 20,002 | 5,718 | 325,361 | 15,568 | 0 | yes |
5/5 files round-trip byte-identical with 0 differences. In addition, the automated tests check ANSEL names, editing a person in the hard-case file (exactly one change appears in the export), GEDZIP round trips with photos and crops, and that a damaged .gdz never replaces your tree.
The table is generated from the test output of the current app version. Files exported by other programs can contain quirks our generator does not produce; if a file does not open correctly, please write to support@plainwharf.com. You decide whether to attach the file.
RootKeep · Plainwharf · support@plainwharf.com
Plainwharf · apps by identityKa · Impressum