Caleb Smith309 downloadsWorldbuilding timelines with custom calendars, nested eras, story threads and linked notes.

Your own calendar · eras nested as deep as you like · stories as threads · cards linked to your notes
Most timeline tools assume our calendar and our kind of history. Evra is built for the ones you make up:
Each timeline is its own .evra file in your vault, and its cards can link to the notes you already have.

![]() |
![]() |
| Light theme | Dark theme |
Evra needs Obsidian 1.6 or later, on a computer, a phone or a tablet.
Install it from Obsidian's community plugin directory: open Settings → Community plugins → Browse, search for Evra Timelines, then choose Install and Enable.
More in Installation.
Want to see a finished one first? Run Evra Timelines: Open the sample timeline. It opens The Chronicle of Veld, a small world with eras, spans, lifespans and linked notes.
The walkthrough goes on from here, and the manual covers everything.
Double-click beside the line and start typing: a title, then Enter, then a description. Pressing Enter in the description saves the card and starts the next one, so you can write a history in one go. Each card lands on the nearest year, on the side you clicked.

Drag a card to move it through time; it snaps to the marks on the ruler. Drag it across the line to switch sides. Drag a moment's dot along the line to turn it into a span.

Hold Alt to move by single days. Shift-click or Shift-drag to select several cards and move them together. Everything can be undone.
Drag along the line to mark a stretch of time, then choose New era. If that stretch falls inside another era, it becomes a sub-era. Eras nest to any depth: ages, reigns, wars, sieges. You see them as:

![]() |
The era editor sets:
It can also add a sub-era inside it. Resize an era by dragging its edge from anywhere across the timeline. Neighbouring eras move with it, or hold Alt to split a shared edge. Right-click any era to fit it to the screen. Click a name in the breadcrumb to do the same. |
Every timeline has its own calendar:
You can start from a preset, or import a calendar from Calendarium or Fantasy-Calendar.
![]() |
![]() |
| Months, leap days, weekdays, numbering | Every date label is a template you can edit, with a live preview |
Every date label comes from a template you can edit: {D} {M}, {year}, {Do} of {M}, {EY} {E}, weekdays with {W}, and more. See Date formats.
A span, such as a war, a voyage or a reign, leaves the line at its start, runs beside it, and rejoins it at its end. Its card can sit anywhere along its thread. While you scroll through the middle of a long span, its name stays pinned to the edge of the view.
![]() |
![]() |
| Threads (the default) | Blocks |
Spans can have an unknown start or be ongoing. Mark a span as someone's life, and every card that mentions that person shows their age at the time.
Drag a note from the file explorer onto the timeline and it becomes a card. The card shows the note's opening lines and its cover image. Hover the card's link button for Obsidian's own page preview. Rename or move the note and the card follows.

Note sync is optional and off by default. When it's on, Evra writes each card's date, year, month and era into its note's properties, and keeps them current as you move things. It works the other way too: edit the year in a note, and its card moves. You choose which properties to sync and what they're called. Only notes the timeline links to are ever changed.

![]() |
|
Put part of a timeline in any note with an evra code block: a whole timeline, one era, a range of years, or one tag. Click an event in it to jump to that card.
```evra
timeline: Chronicle of Veld
era: Reign of Ash
```

Press Ctrl/⌘ K and type:
412, Frost 412 or 14 Frost, Year 412, to jump straight there;> first, to run any timeline command.
![]() |
![]() |
The filter narrows the timeline by text, color, tag, era, side, or whether a card links to a note. Everything else either fades or hides. A card's ⋯ menu gives you:
![]() |
![]() |
| Filter by tag, color, era, side or linked notes | Card options |
Cards and eras use color presets. Change a preset, and everything that uses it changes too. The six built-in colors follow your Obsidian theme until you give them a color of your own.

Top to bottom, bottom to top, left to right or right to left. One click switches, and the view keeps the same stretch of time on screen.


Evra's repository can generate Aerth, a test world (npm run big-world): 2,700 notes, 1,900 cards and 91 eras nested four deep, across 3,000 years. As you zoom out:
Scrolling and zooming stay smooth throughout.

![]() |
![]() |
| A century, in compact cards | Three thousand years at a glance |
![]() |
Every timeline command is also in Obsidian's command palette. None of them have default hotkeys, so you can set your own. |
.evra files only with Sync all other types turned on. Tools that copy every file
(iCloud, Syncthing, Dropbox, git) carry them without any setting.The full list is in Known limitations.
Offline: Evra works entirely offline. It makes no network requests of its own and collects nothing. (A card's cover image can be a web address you give it; Obsidian loads that like any image in a note.)
Which files it looks at: Evra lists the files in your vault, on your device only, to:
It reads a note's properties and opening lines only for notes a timeline links to, or that you are choosing from.
Clipboard: Evra only writes to the clipboard, when you copy cards or export a table, an outline or an embed. It never reads the clipboard; pasting cards uses Evra's own copy buffer.
Your timelines: each one is a readable JSON file (.evra) in your vault. Evra changes it when you edit that timeline, or when a note it links to is renamed, so the link keeps working.
Your notes: Evra changes a note in two cases only: when you turn on note sync for a timeline that links to it, or when you ask Evra to create a note.
| Manual | Everything Evra does, a page per topic |
| Getting started | From an empty timeline to a small history |
| User guide | Cards, spans, eras, selecting, searching, filters, export |
| Calendars · Date formats | Months, leap years, festival days, era years, and every label template |
| Linked notes and note sync · Timelines in notes | Cards that follow your notes, and the evra code block |
| Keyboard, mouse and commands · Settings | Reference |
| Troubleshooting · Known limitations | When something isn't as you expect |
| Roadmap · Changelog | What's planned, and what changed |
| Development · File format | For contributors, and for anyone reading a .evra file |
| Issues | Report a problem or ask for something |
Bug reports, ideas and pull requests are welcome. See Development to build Evra, run the tests, and generate the large example world. Before opening a pull request, run npm run check.
MIT © Caleb Smith