From the Magna Carta to the Age of Dragons.
From a soil sensor reading to the fall of Constantinople.
OpenChronology is a platform-agnostic open standard for storing, sharing, and visualizing chronological data — across real history, fictional universes, scientific observation, and project management.
A redwood alive today may have sprouted before the Magna Carta was signed. Tracking it meaningfully requires a standard that can hold a daily humidity reading and a century of world history with equal precision.
— OpenChronology Specification, §1.3
Existing timeline formats are built around a narrow assumption: that time is a single, agreed-upon Gregorian axis. OpenChronology rejects that assumption.
Time is relative. A stardate is not a calendar date. A fantasy world's Third Age has no ISO 8601 equivalent. A project sprint doesn't care what century it falls in. A geologist measures in millions of years.
OpenChronology treats time as a flexible variable — one that can represent absolute history, relative chronology, fictional universes, or deep geological time, all within the same portable file format.
Universal portability is the primary goal: an event created in a project management app should be renderable in a historical visualization app without data loss. An event authored offline should work identically when published to the web.
The same standard serves radically different domains — because the underlying problem is always the same: events in time, connected by meaning.
Novelists, game designers, and screenwriters constructing fictional universes.
Define a custom calendar once in a .chroncal file, then reference
it across thousands of events. Work entirely offline, publish to the web when ready.
Scholars validating and annotating real-world events with full uncertainty modeling. Express that an event occurred circa 450 BCE ± 25 years with a confidence of 0.7 — and have that uncertainty be machine-readable.
Environmental sensors, biological observations, and geological records spanning timescales from milliseconds to millennia. The founding anchor: a single redwood tree, documented across a thousand years.
Sprint planning, product launches, and operational timelines in a portable, open format that outlasts any single tool. Relative time means no dependency on a specific calendar anchor — Day 1 is whenever you say it is.
OpenChronology was born from the 1000 Year Project — an initiative to document the complete life of a redwood tree from the moment it sprouts to the day it falls, across a full millennium.
Daily photography. Environmental sensor data. Eventually full lidar and photogrammetry scans. A redwood alive today may have sprouted before the Magna Carta was signed.
Tracking it meaningfully requires a standard that can hold a daily humidity reading and a century of world history with equal precision. That standard is OpenChronology.
Visit 1000yearproject.orgOpenChronology follows a document-per-event architecture — each event is a standalone, independently citable file. Events are assembled into timelines by bundle packages or streaming feeds.
| Extension | Format | Contains | Analogous to |
|---|---|---|---|
| .chron | Event File |
A single event, era, or marker — with temporal, spatial, relational, and media data | A Wikipedia article |
| .chroncal | Calendar Definition |
A reusable calendar system — epoch, structure, month names, leap rules | A shared stylesheet |
| .chronverse | Universe Definition |
A universe definition — canon scopes, default calendar, temporal anchor | A world-building bible entry |
| .chronpkg | Bundle Package |
A ZIP collection of .chron files, assets, and definitions |
A book or anthology |
| .chronstream | Streaming Feed |
A lightweight NDJSON event feed for APIs and large dataset export | An RSS feed |
OpenChronology publishes JSON Schema (draft/2020-12) files for all formats.
Reference them in your .chron files for validation tooling support.
Minimum required structure for .chron files. The Tier 1 conformance floor.
Complete .chron validation including all optional blocks. Tier 3 requirement.
Validates standalone .chroncal calendar definition files.
Validates standalone .chronverse universe definition files.
Validates manifest.json inside .chronpkg archives.
Validates the header record of .chronstream NDJSON feeds.