Skip to content
Redmoon Calculators
Tabletop & worldbuilding

Fantasy Calendar Generator & Date Converter

Free fantasy / D&D calendar generator. Define a custom year (months, days, week, leap-year rule) and bridge real-world durations into fictional dates. Renders a printable calendar grid for any custom year.

Built and maintained by Paul Clark, Redmoon Software

When to use this

Use whenever you need to "jump ahead" in your worldbuilt timeline. Particularly handy when characters travel for weeks and you need to know what day it is when they arrive.

How it compares

Tools like Fantasy Calendar and Realm Manager have richer features but require accounts. This is a zero-login quick converter.

Enter your values below. Calculations run locally as you type.

Calendar rules


Result

Year length
400
days
Target date
Month 4, day 23
Weekday 7
Years advanced
0

Month 1 grid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

How it works

You define the world's "rules of time" — months, days per month, days per week — and the calendar generator builds a printable grid for any month.

The converter takes a starting day-of-year and a number of days to add, then computes the target month, day, weekday, and how many years have advanced.

No login or sync — your custom calendar is saved in your browser only.

FAQs

Does it support leap years?

The current build computes simple year cycles. For leap rules, add the extra day(s) to your year length manually.

Can I save my calendar?

Your calendar settings are saved in your browser locally. Sharing across devices isn't supported yet.

Why define a custom week length and not just use seven days?

Fictional worlds often use weeks of five, eight, or ten days to feel distinct from Earth's. The generator lets you set the week length so the printable grid wraps correctly and weekday names line up with your lore.

How do I convert a real-world duration into an in-world date?

Enter your campaign's starting fictional date and the number of real days elapsed, and the tool adds them across your custom month and leap-year rules. This keeps in-world dates accurate even when your months differ in length from real ones.

Worked example

Input

10 months × 40 days = 400 day year. 8-day week. Story day 1, add 142 days.

Output

Month 4, day 22 — weekday 6.

Day 1 + 142 days = day 143. With 40-day months, that's month 4 (days 121–160) and day 23 — minus 1 because day 121 is month 4's day 1.

Common pitfalls

  • Doesn't support leap years yet — manually add days for cycles.
  • Weekday count assumes day 1 is weekday 1.
  • No moon-phase or holiday tracking (planned).

A calendar is a set of arbitrary choices that must stay consistent

The defaults build a ten-month year of forty-day months with eight-day weeks, plus 142 intercalary days. Nothing about that is more or less valid than twelve months of thirty — what matters is that once chosen, the arithmetic stays consistent across everything you write, and that is what a calendar tool is for.

The intercalary days are the piece worth thinking about, because real calendars have them for a reason: a solar year is not a whole number of days, and a fictional world orbiting its star has the same problem. Festival days outside the month structure are how most historical calendars absorbed the remainder, which makes them both plausible and useful narrative furniture.

What a reader will actually notice

Readers do not audit a fictional calendar, but they do notice when a journey takes three weeks in one chapter and the same journey takes eight days in another. Internal consistency of elapsed time is the thing worth tracking; the elegance of the scheme is not.

Weekday cycles are the common slip. If the week is eight days and a month is forty, months start on the same weekday every time — which may be exactly what you want, or may mean your world has no equivalent of "the first Monday of the month". Both are fine; noticing which you have chosen is the point.

Read more about this

Related tools

Send feedback

We read every message. Tell us what could be better or what you love.