Help
New here? Start with using OpenChronology, or look for your question among the frequently asked questions. Every topic below is also searchable.
Start here
Using OpenChronologyOpenChronology is a timeline editor. You place moments and periods on a line of time, zoom from millennia down to fractions of a second, and share what you make. This guide walks…Frequently asked questionsShort answers to common questions, from the basics to running your own server. For a walk through the whole app, read using OpenChronology.Project overviewA timeline editor for moments in time. Time is an arbitrary-precision rational coordinate; metadata is JSON. The same interface runs in a browser and in a Linux Tauri desktop appl…
Making timelines
Timeline time presentationUse Time display above the chart to configure a timeline. Settings are included in JSON exports, browser drafts, PostgreSQL snapshots, and desktop SQLite files. On a server timeli…DurationsA duration is a timeline entity in its own right, with an ID, a start, an end, a title, notes and arbitrary metadata. Each endpoint is either:Entity tags and separationEvents (moments and durations) can carry tags: short labels you choose, such as war or trade. Enter them as a comma-separated list in the Tags field of a moment's details or the d…RelationshipsA relationship links two different entities: two moments, two durations, or a moment and a duration. Links are undirected, an entity can link to any number of others, and an entit…Images and copyrightTimelines show images by linking to them: a moment's icon, a duration's background or a stack entry's picture is an HTTPS address where its owner hosts it (#109). The server store…Searching a timelineSearch in the timeline toolbar (or / outside a text field) opens a search dialog for the open timeline. Type words from a title or notes. Every word must match. Results list momen…Browsing, popularity and account standingThe dashboard's timeline browser lists public timelines. To keep spam out of it without blocking anyone from publishing, it ranks by account standing. Standing is computed from wh…Comparing timelines and live viewingSelect timeline cards in the dashboard and use Compare timelines. Selection persists across search pages in the current browser tab. Alternatively, Compare in an open editor prese…Shifting and scaling timesShift or scale times… changes the times of many events (moments and durations) at once, for good (#96): every one in the timeline, or those a separation would select. Use it to co…Timeline pluginsOpen Plugins beside Time display. The dialog lists this timeline's installed plugins, in application order. Add plugin opens the server catalogue with search and twelve results pe…Timeline size and platformsA timeline holds at most 200,000 moments (and at most 200,000 durations and 200,000 relationships) on every platform. A self-hosted server can raise or remove that limit for its o…Guest and standalone editingThe standalone HTML build and guest editor keep timeline data only in memory. The banner at the top of the editor explains that refreshing or closing the tab loses edits, and offe…
Sharing and working together
Sharing timelinesTimelines, and the events (moments and durations), searches and views in them, have addresses that open them, previews for social sites and search engines, and embeds for other we…Dashboard and timeline collaborationThe server root opens the dashboard for guests and signed-in users alike. Guests see the public browser with twelve results per page. Signed-in users also see their own timelines…Reports and moderationAnyone who can see something on the platform can report it to the site's administrators. They review reports in Site administration → Reports and decide what happens. The design a…Data retention and quick deletionTimelines that keep growing, such as the ones the syslog receiver and the log importer fill, can keep only their recent past, and anything in a stretch of time can be deleted at o…
Accounts and the API
Accounts, sessions and deploymentThe official desktop default is https://timescale.info. In Server connection, connect to other HTTPS origins as well, or disconnect from all of them and continue working locally.…HTTP APIThe server's HTTP API, which the web app, the desktop app and the command-line tools use, is described in OpenAPI 3.1 (#178).HTTP API referenceEvery operation of the API, who may call it, and Try it.
Running a server
Administration, storage limits and automationDocker deploymentRun commands from timeline-app (or the root of its GitHub repository). Install Docker Engine with the Compose plugin. The suite builds PostgreSQL 16 with native GMP-backed pgmp, a…Public example timelinesAfter building and migrating the platform, run:Syslog to timelinesserver/syslog-receiver.mjs listens for syslog over UDP and TCP and adds each message as a moment to the timelines chosen by your routing rules. To import historic log files (syslo…The systemd journal to timelinesserver/journald-receiver.mjs follows the systemd journal and adds each entry as a moment to a timeline, or to the timelines chosen by routing rules (#151). It runs journalctl --fo…Importing log filesoch-import-logs (server/import-logs.mjs) imports historic logs into timelines: one moment per log entry, at the entry's exact time, with its fields as metadata. It runs beside the…Copyright, GPLv3, and distributionsOpenChronology first-party software and documentation are copyright (c) 2026 Athan Clark, an individual, and licensed GPL-3.0-only. See LICENSE for the unmodified GPLv3 text and N…
How it works
Timeline and query contractThe browser model is RationalMap<readonly PointEvent[]>, weighted by bucket size. An auxiliary ID map locates edits without searching the time domain. Different moments can occupy…BenchmarksThe benchmark suite measures how operation latency grows with timeline size on each storage backend: