Life Archive Format Overview
The Life Archive Format (LAF) is an open, portable, file-based format for personal archives. A life archive is an ordinary folder containing JSON, Markdown, and media files. It can be copied, backed up, placed under version control, opened with common tools, or rendered by different applications without converting the source into a proprietary database.
This documentation describes life/0.1, the version currently supported by the reference Life Archive app.
Design principles
LAF is built around a few simple ideas:
- The archive is the source of truth. Applications read the archive; they do not own it.
- Content should remain understandable without the app. Metadata uses JSON or YAML frontmatter, writing uses Markdown, and media remains in its original file format.
- Relationships use stable ids. Entries, collections, people, and places can refer to one another without depending on a database.
- The format and renderer are separate. A renderer may add presentation, search, thumbnails, and navigation while leaving the archive untouched.
- Unknown metadata can be preserved. Tools may add fields for their own workflows as long as required LAF fields remain valid.
Archive structure
A complete archive commonly looks like this:
MyArchive.life/
life.json
README.md
entries/
first-memory.md
collections/
family-stories.md
people/
margaret-bennett.md
places/
brighton.md
albums/
summer-2025/
beach.jpg
picnic.jpg
files/
hero.png
documents/
letter.pdf
Only life.json is required to identify and describe the archive. README.md and the content folders are optional, although most useful archives will include at least entries/ or albums/. Missing or empty content folders are treated as empty by the reference app.
The .life suffix is a naming convention for the archive directory. The archive remains a normal folder and does not need to be packaged into a single binary file.
Two content models
LAF uses two complementary models:
- Markdown entities live in
entries/,collections/,people/, andplaces/. Their YAML frontmatter contains structured metadata and their Markdown body contains human-readable content. - Filesystem media lives in
albums/andfiles/. Folder names and paths provide organization while the original files remain directly accessible.
Entity ids should be unique across entries, collections, people, and places. Short lowercase ids with hyphens are recommended because they produce stable, readable URLs.
Read order
- Archive root, life.json, and README.md
- Entries
- Collections
- People and places
- Albums
- Files, media, and Markdown links
Implementation note: Life Archive Format is under active development. A tool should check the
formatvalue before reading an archive and should avoid discarding metadata it does not understand.