Skip to main content
LokeeLokee

Building a calendar and timeline for an invented world

Build a fantasy calendar for your invented world, date births and battles in it, and keep the chronology straight even when the dates come last.

By Paweł Arent, creator of Lokee14 min read

A fantasy calendar sounds like the first thing an invented world needs. In practice it is usually the fourth or fifth. You know that the Duke's betrayal comes after the siege long before you decide which year either happened in, and the calendar only becomes urgent once characters have birth years and somebody has to work out who was how old when the provinces burned.

Lokee treats those as two layers. Order is what you decide on the Timeline, by hand. Dates are an annotation on top, in a real calendar or one you invented, and you can add them, change them or leave them out without the chronology moving. This guide builds a calendar for the demo story The Ashen Circle, dates its characters and events, follows one worked example from an empty vault to a checked chronology, and is plain about the parts of calendar-keeping Lokee does not do.

What a calendar is in Lokee, and what it is not

A calendar system in Lokee has exactly two things: a name and an ordered list of unit names. The demo's is called Ashen Calendar, with the units Era, Year and Day. A date in it is one whole number per unit: Era 2, Year 44, Day 22.

That is the whole model. Its edges are worth knowing before you build on it:

  • No month or day names. A unit has a name ("Moon"), but its values are numbers. "Moon 3" cannot be shown as "Thawmoon".
  • No unit lengths. Lokee does not know that your year has 13 moons or your moon 28 days. It will not stop you entering Day 40, and it cannot count how many days lie between two dates.
  • No conversion. There is no mapping between your calendar and real dates, or between two invented calendars. Each calendar is its own lane on the Timeline.
  • No ranges as units. An "era" here is a numbered unit, not a span with a start and an end. Spans belong to events placed as periods.

What the model does give you is reliable ordering. Dates are compared unit by unit from left to right, Era first, then Year, then Day, so Era 2, Year 3 always sorts after Era 1, Year 900. For most novels that is the part that matters: who is older, what came first, what overlaps.

If that feels thin, consider what a novel actually needs from its calendar. Readers meet a handful of dates, if any. What they notice is a character who is sixteen in one chapter and fourteen in the next, or a war that lasts three winters in one place and two in another. Ordering and ages, not leap rules. How to start worldbuilding makes the same argument about the world as a whole: decide what the story needs and leave the rest fuzzy.

Design the units before you date anything

Because each date is a row of numbers read left to right, the order of your units is the order of significance. Put the largest unit first. Era › Year › Moon › Day sorts correctly; Day › Moon › Year does not.

Diagram: a calendar system with ordered units and one story dateCalendar systemAshen CalendarEra2Year47Day12largest → smallestSera Nightingale · BornStory dateEra 2, Year 47, Day 12
A calendar system is a name and its units in order, largest first. A story date fills each unit with a whole number.

A few design rules follow from how dates are stored:

  1. Count upward everywhere. Years that count down toward an epoch ("300 Before the Founding", then 299, then 298) will sort backwards, because a higher number always sorts later. If your world has a "before" era, give it its own era number and count its years upward from the earliest one you need.
  2. Stay with small positive whole numbers. Use 0 or 1 upward. Negative parts are not supported for sorting, and very large parts, a million or more in one unit, break the order too.
  3. Settle the units first. Renaming a unit is harmless; every date is relabelled. Adding, removing or reordering units changes how the numbers you have already entered are read, because each number belongs to a position, not to a name.
  4. Keep the names you cannot model in a note. If Moon 3 is called Thawmoon in your world, put the list of moon names in a note or on a calendar entity and refer to it while writing.

Small calendars are easier to live with. Two or three units cover most novels; add a finer unit only when the plot turns on it.

How do you create a fantasy calendar in Lokee?

Open Settings in the vault sidebar and go to the Structure tab. The Calendar systems section explains itself: "Define named story calendars (e.g. 'Age of Steel' with units Age, Era, Moon, Day). Each calendar appears as a separate track on the timeline."

Choose + Add calendar system, type the name (the placeholder is "Calendar name (e.g. Age of Steel)"), then build the list under Units (in order): one box per unit, + Add unit for the next, × to remove one. Save with Add calendar. The calendar is listed with its units, "Units: Era / Year / Day", and Edit and Delete beside it.

A vault can have several calendars. That is useful when cultures in your world count time differently, or when a frame story runs on real dates and an inner story on an invented calendar. They will never be converted into one another, so treat each as its own measuring stick.

Two kinds of dated field: Date and Story date

Characters and places carry dates through fields. In Settings → Structure → Entity types, edit a type and add a field. Two field types hold dates:

  • Date is a real calendar date picked with the browser's date picker. It supports years 0001 to 9999, the same range the picker can represent.
  • Story date is a date in one of your calendars. On the entity card you first choose the calendar ("— select calendar —"), then fill one number per unit. If the vault has no calendars yet, the field says "No calendar systems defined yet — add one in vault settings."

The demo gives its Character type a Born field of type Story date, so Rowan Ashe is born in Era 2, Year 44, Day 22 and his sister Mira in Era 2, Year 42, Day 10. Use Story date for anything in your invented calendar, and also for real-world settings outside 0001–9999, since a story date has no such limit.

Dated fields are facts about an entity: a birth, a coronation date, the day a ship was launched. They are plotted on the Timeline's tracks, covered below. They are not the same as world points, which are the moments your chronology is made of.

World points: why order comes first and dates are optional

The chronology itself lives on the Timeline page, in the World chronology panel: "Order is what counts. A date is optional." Each world point is a moment that matters to the story: The Burning of the Provinces, Rowan joins the Circle, The Lantern raid.

Add a point with a name and Add point. Your first point also creates a timeline to hold it, named "Canon". Arrange points with ↑ and ↓ (Move earlier, Move later); there is no drag-and-drop. Edit opens the point's form, where the Date (optional) control offers three shapes:

  • No date, the default, and fully supported. The point's position is its meaning.
  • Real date, a date picker plus an optional Time of day (optional), useful for a day-by-day war or a single night's chase.
  • One of your calendars: pick it by name, and one number box appears per unit. Switching between calendars starts the numbers from zero rather than reinterpreting them.

The same form has Events here, which attaches events from your event plan to this point as the moment one begins or ends; planning plot with story events covers that side. It also has a Major point checkbox. A major point gets a ★ beside its name in the chronology and in the Calendar view. That is all it does. It is a visual marker for the moments you want to find quickly, not a filter or a level of importance anything else reads.

Why put order first? Because you will usually know sequence before dates, and because dates are where continuity errors hide. Ordering the points by hand forces you to decide what happened first; dating them afterwards lets Lokee check your dates against that decision.

What happens when a date and the order disagree

If a point's date falls before a point you placed earlier in the same calendar, the point shows an amber line: "This date falls before the point above it. Left as you ordered it." In the Calendar view the same point is ringed in amber with a ⚠.

Lokee never reorders or re-dates anything to make the warning go away. A disagreement is usually a typo, but it can be deliberate: a chronicle that misdates a battle, a flashback recorded where the narrator remembers it, a forged letter. You decide which. The consistency check repeats these under Worth a look as Date against order ("Order is what counts; the date annotates. Nothing was moved."), together with events placed as periods that end before they begin.

Points in different calendars are never compared with each other. A point in your invented calendar and a point with a real date cannot contradict each other, because Lokee has no way to relate them.

Reading the Timeline: Sequence and Calendar views

Above the chronology, a View switch offers Sequence and Calendar. Lokee remembers your choice per vault, in this browser.

Sequence is the editable list: the points in the order you set, each with its date or "No date", the events that begin or end there, and a bracket joining the two ends of a period.

Calendar is a read-only layout of the same points by date: "Dated points sit by their date, one lane per calendar. Undated points stay, between their neighbours." You get a lane titled Real dates if any point has a real date, one lane per invented calendar in use, and a lane titled "No dates yet — shown in their order" when nothing is dated. Undated points are drawn hollow and keep their place in the order; hover one and it says where it sits, for example "Undated — between The Burning of the Provinces and The Lantern raid".

Events placed as periods appear as bars. Click a bar to open the event in the event plan. If a period begins in one calendar and ends in another, the bar is drawn open at that end with "continues beyond this lane" or "began beyond this lane", because the two halves cannot share an axis. A bar with a problem, such as an end dated before its start, carries a ⚠ and an amber ring.

One caution about spacing. For an invented calendar, Lokee spaces points by reading the numbers left to right as one large number, since it does not know how long your units are. Within one year, days are spaced sensibly; a step from one era to the next counts as a very large jump. Read the Calendar view for sequence and clustering, not for exact distances across larger units.

Tracks: where your entities' dated facts show up

Below the chronology, the Timeline plots tracks: "Real dates" for Date fields, then one track per calendar for Story date fields. A story date whose calendar was never chosen goes to an "Unassigned" track, and one whose calendar has been deleted to "Unknown calendar". These entries come from the entities themselves; there is no button to add an entry here, and the page header counts how many dated entries sit across how many tracks. Those three track names are shown in English whichever language you run the app in; your own calendar names appear as you typed them.

Each track has Zoom in, Zoom out and Reset, plus ◀ and ▶ to pan once zoomed; they stay disabled while a track has fewer than four entries. Crowded moments stack their cards above and below the axis instead of overlapping.

The search box ("Search by entity name or attribute…") and the Filters panel narrow what is shown: Type:, Tag:, Field:, Calendar: (shown only when more than one calendar has dated facts) and Date range:. The date range uses real date pickers and is built for the Real dates track; applied to an invented calendar it does not read your dates the way you mean them, so narrow those tracks with Field: or Calendar: instead. Filtering by Field: is the quick way to see, for example, every Born across the cast.

Each Date or Story date field on an entity card also has a View on timeline → link that opens the Timeline with that fact highlighted.

Worked example: dating The Ashen Circle end to end

Here is the whole thing in order, on the demo world, the way I would do it for a book of my own.

Step 1, the chronology without dates. On Timeline, add the points the plot turns on: The Burning of the Provinces, Rowan's parents die, Rowan joins the Circle, The Lantern raid, The cellar flood. Order them with the arrows. That took two minutes and already answers "did Rowan join before or after the raid?"

Step 2, the calendar. In Settings → Structure, add Ashen Calendar with units Era, Year, Day. Three units, largest first.

Step 3, the anchors. Edit The Burning of the Provinces and give it Era 2, Year 51, Day 3. Edit The Lantern raid and give it Era 2, Year 62, Day 118. Leave the three points between them undated. In the Calendar view they still sit between their neighbours, drawn hollow.

Step 4, the people. Give the Character type a Born field of type Story date. Rowan: Era 2, Year 44, Day 22. Mira: Era 2, Year 42, Day 10. Duke Cassian Varnhold: Era 2, Year 19, Day 200. The Timeline now has an Ashen Calendar track with three cards on it.

Step 5, the check. Open Filters, set Field: to Born, and read the track. Rowan was seven at the Burning and eighteen at the raid; Mira two years older. If you had typed Year 64 for Rowan by mistake, he would be born after the raid the plot needs him at, and the track would show it before any reader did.

Step 6, a span. Add a story event The Long Winter and place it as a period from a new point First snow to a new point Thaw, both dated. The Calendar view draws the bar; if you dated the thaw before the snow, the bar carries a ⚠.

Step 7, the slip. Later you decide Rowan's parents die happened in Year 49, and type it in. The point goes amber: that date falls before the Burning, which you placed above it. Either the Burning is later than you thought, or the parents died in the Burning after all. Lokee has not moved anything. It has asked the question.

Two of those steps repeat for the rest of the book: add a point when the plot needs a moment, date it when you are sure.

Common mistakes and how to fix them

Units in the wrong order. Day › Moon › Year makes Day 30 of Year 1 sort after Day 2 of Year 900. Fix it before you enter dates: reorder the units in Edit on the calendar, then re-check the handful of dates already entered, because each number belongs to a position.

Countdown eras. "300 Before the Founding" sorts after "299 Before the Founding". Give the before-era its own era number and count upward.

Dating everything. Fifty dated points with made-up numbers produce fifty chances for a warning you then ignore. Date the anchors and leave the rest undated; undated points keep their order and still read correctly in the Calendar view.

Two calendars for one culture. A "court" calendar and a "common" calendar for the same people will drift apart, and Lokee cannot reconcile them. One calendar per culture, and a note for the folk names.

Expecting the date range filter to work on your calendar. It is built for real dates. Use Field: and Calendar: on invented tracks.

Using a world point where a dated field belongs, or the reverse. A birth is a fact about a character: a Story date field. A battle is a moment in the chronology: a world point, dated or not. Mixing them up means the Timeline shows a birth as a point nothing happens at, or a battle nobody can record a change at.

What Lokee doesn't do with calendars

It does not count. There is no "how many days between" and no age calculation; you read ages off the track or do the subtraction yourself. It does not name months, model leap years, moon phases or seasons, and it will not convert the Ashen Calendar into anything else. If your book depends on a lunar cycle, keep the cycle as a note and date the points that matter by hand. A calendar engine that enforced unit lengths would reject every date you are not sure of yet, and most of a novel's dates are exactly that.

In five minutes

  1. Timeline: add five world points in order, undated.
  2. Settings → Structure → Calendar systems: add one calendar with two or three units, largest first.
  3. Date the first and last point in that calendar.
  4. Add a Story date field to your character type and fill it for two characters.
  5. Switch the Timeline to Calendar view and look at where everyone sits.

Habits that keep a long chronology sane

  1. Order before dates. Build the chronology undated, then date the points you are sure of. The warning will tell you when a later decision contradicts the order.
  2. Date the anchors, not everything. A war's first and last day and the births of the main cast carry most of the weight.
  3. One calendar per culture, not per mood. Two calendars that describe the same society will drift apart.
  4. Use events for spans. "The Long Winter, Year 61 to Year 63" is an event placed as a period, with a start point and an end point; the bar shows the span.
  5. Branch instead of re-dating. If you want to try a version where the siege happens ten years earlier, branch a timeline rather than editing the canon; see alternate histories and branching timelines.
  6. Date the alibi, not the era. For a mystery, real dates with a time of day on two or three points do more than a whole invented calendar; keeping a mystery fair builds one that way.

Dates are one of three kinds of "when" Lokee keeps apart; the other two are what is true on the card now and when the reader learns it. Three kinds of "when" explains how they fit together, and the Timeline and Time sections of the help are the reference. The interactive demo includes the Ashen Calendar and the birth dates used here.

FAQ

How do I make a calendar for my fantasy world?

Decide two or three units, largest first, such as Era, Year and Day, and count each one upward. In Lokee that is one calendar system in Settings, after which any field or world point can carry a date in it. Name the months in a note; the calendar itself only needs the numbers.

Can I give my months names and lengths?

No. A calendar in Lokee is a name and an ordered list of unit names, and every date is one whole number per unit. Month names, unit lengths and leap rules are not modelled, so keep a note that maps Moon 3 to its name if you need one.

Does Lokee convert between my calendar and real dates, or between two invented calendars?

No. Each calendar has its own lane on the Timeline and its own track for dated facts. Dates in different calendars are never placed on one axis or compared.

Do I have to date every event in my timeline?

No. Order is what Lokee trusts and a date is an optional annotation. An undated chronology works everywhere, and undated points stay visible in the Calendar view between their dated neighbours.

Try it on your own story

The demo runs in your browser with a sample story and needs no account. The desktop app keeps local vaults on your computer, free.