Entries
July 13, 2026specificationentries/laf-format-overview.md

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:

  1. Markdown entities live in entries/, collections/, people/, and places/. Their YAML frontmatter contains structured metadata and their Markdown body contains human-readable content.
  2. Filesystem media lives in albums/ and files/. 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

Implementation note: Life Archive Format is under active development. A tool should check the format value before reading an archive and should avoid discarding metadata it does not understand.