Help
numcal accepts natural-language questions about dates and times. Type anything below. The eight chip groups on the home page are starting points, not limits.
What you can ask
Differences
How far apart are two dates, optionally in a specific unit.
days between today and christmasweeks between Jan 1 and Dec 31business days between Jun 1 and Jul 1between 2024-01-01 and 2026-05-12
Offsets: add or subtract
Move forward or backward from an anchor date.
2026-01-01 + 90 days30 days after Jun 130 business days after Jun 1add 6 weeks to todaysubtract 90 days from Jun 13 weeks ago·in 3 weeks·3 weeks from now
Age
Calendar age in years, months, and days, plus total days. Or convert to any unit.
age of 1990-06-15how old am I born June 15 1990age of 1990-06-15 on 2050-01-01how old am I in days born 1990-06-15age of 1990-06-15 in seconds(ticks live)
Popular birth years: 1980 · 1985 · 1990 · 1995 · 2000 · 2005
Weekday
weekday of 2026-07-04what day is christmas
Week number
ISO 8601 week number by default. Useful for sprint numbering, payroll cycles, EU calendars.
week number of todaywhat week is 2026-12-25
Countdown / time since
Live-updating pages for any future or past date.
days until christmasweeks until new yeartime since 2020-03-11until my wedding 2027-09-12(the label persists in the URL)
Popular countdowns: Christmas · New Year · Halloween · Valentine's Day · Independence Day · St. Patrick's Day
Time since: Y2K · moon landing · pandemic declared · first iPhone · ChatGPT launch
Dynamic-date holidays: Thanksgiving · Easter · Mother's Day · Memorial Day · Labor Day · Black Friday
Time zone conversion
DST-aware. Use city names or IANA zones; PT/ET/IST are DST-aware; PST/EST are fixed offsets.
5pm Tokyo in NYC3pm PT to IST14:30 Berlin in San Francisco
Duration arithmetic
Pure time arithmetic: adding and subtracting durations, independent of any date.
3:45 + 2:301:30:00 - 0:45:002h30m + 1h45m2 hours 30 minutes + 1 hour 45 minutes
Sub-hour offsets
Minutes and seconds from now. Same family as the hour offsets.
90 minutes agoin 30 seconds5 minutes from now in Dublin
Holiday lookup
"When is …" resolves recognized holidays. Country-aware via locale, override with "in <country>".
when is easterwhen is easter 2027when is thanksgivingwhen was easter 1999
Is today a holiday
Quick check against the bundled holiday calendars (15 countries).
is today a holidayis 2026-07-04 a holiday in USis christmas a holiday in UK
Full per-country calendars: US 2026 · UK 2026 · Germany 2026 · Japan 2026 · all 15 countries
Milestone date
Project forward from a birth date by any age or count.
when will I be 10000 days old born 1990-06-15when will I turn 18 born 2010-01-01when will I be 1000000 minutes old born 1990-06-15
Day of year
Where in the year does a date fall? Or which date is the Nth?
what day of the year is todayday 200 of 2026julian day of christmas
Pregnancy due date
LMP + 280 days (Naegele's rule), plus the current gestational age. Arithmetic only, not medical advice.
due date if LMP was 2026-01-12pregnancy due date from Jan 12
Recurrence / series
Generates a list of dates from a rule. Returns up to N occurrences.
every Tuesday for 12 weeksevery other Friday from Jan 1 for 20 occurrencesfirst Monday of each month in 2026last Friday of each month in 2027
Moon phase
Phase name and illumination for any date. Synodic-month approximation, accurate to within a few hours.
moon phase todaymoon phase on 2026-07-04
Other calendar systems
Project a Gregorian date through any of the calendar systems the ICU bundle supports: Hebrew, Islamic (Hijri), Persian, Indian National, Chinese, Japanese era, Buddhist (Thai), Korean, Coptic, Ethiopian, Republic of China.
today in hebrew2026-07-04 in islamicchristmas in buddhistpersian date today2026-07-04 in all calendarscalendar systems for today
Accepted system names: hebrew/jewish,
islamic/hijri (Umm al-Qura), islamic civil
(tabular), persian/jalali,
indian/saka, chinese,
japanese/reiwa, buddhist/thai,
korean/dangi, roc/taiwan,
coptic, ethiopian, ethioaa,
gregorian. Display direction only. Reverse parsing
(Hijri or Hebrew → Gregorian) is a follow-up.
Current time in a city
Reads the live wall-clock in the named city and ticks every second.
what time is it in Beijingtime in Tokyocurrent time in NYCwhat's the time in London
Date and time formats
Dates can be written several ways. Pick whatever feels natural. If you're sharing a link with someone in another country, use a locale-prefixed page so the numeric date format isn't ambiguous on their end:
Locale-formatted home pages: en-US · en-GB · en-IN · en-CA · en-AU · de-DE · fr-FR · es-ES · it-IT · pt-BR · es-MX · ja-JP · en-NZ · en-ZA · en-IE
| Form | Example | Notes |
|---|---|---|
| ISO | 2026-12-25 | Unambiguous; preferred internally. |
| Numeric | 12/25/2026 | Interpreted by your browser locale. US is MM/DD, UK is DD/MM. The result card shows which. |
| Written month-day | Dec 25, 2026 | Or December 25 2026, or with ordinals: Dec 25th. |
| Day-month | 25 December 2026 | The other natural order. |
| Year only | 2026 | Resolves to Jan 1. |
| Month + year | June 2026 | Resolves to the 1st. |
| Quarter | Q2 2026 | Resolves to the quarter start. |
| Relative | today · tomorrow · yesterday · next friday · last tuesday · this wednesday | "next" is always the next one, never today, even on the same weekday. |
| Named | christmas · new year · halloween · christmas 2024 | Without a year, resolves to the next occurrence. |
| Period anchors | end of month · start of quarter · end of year | Anchored to today. |
Number words
Numbers can be written as words from zero to ninety-nine, including
compounds: six business days after Jun 1,
twenty-five years ago, forty two days from today.
a and an before a unit count as 1:
a week ago.
The three rules
- Order doesn't matter for differences. If you write
between Dec 31 and Jan 1, the dates are silently reordered and the assumption row tells you so. - Countdowns are future-only; ages are past-only.
Type
until yesterdayand you'll see a suggestion to usetime sinceinstead. Typeage born tomorrowand you'll see a suggestion fordays between. - Labels in countdowns are preserved. Type
until my wedding 2027-09-12and the URL becomesnumcal.com/until?d=2027-09-12&label=my-wedding.
Why your answer is accurate
Every result shows its assumptions at the bottom of the card: calendar system, locale, working week, holidays applied, DST handling, year inference. If a date format is ambiguous, numcal picks a default and shows what it picked. You can screenshot a result and defend the number to a colleague.
How a query becomes a result
Each query goes through four passes. First, the text is
normalized: lowercased, smart-quotes mapped to ASCII,
twenty-five turned into 25,
till into until. Second, an intent
classifier matches the normalized text against a priority
list of patterns — countdown, age, difference, weekday,
time zone, and so on — and picks one. Third, an
extractor for that intent reads out the dates, times,
counts, and cities it needs. Fourth, the evaluator runs
the math and produces the answer card with its assumption row.
Two consequences of this design. The same query, asked on the same day, returns the same answer down to the byte — no probabilities, no variation. And when a query doesn't match any pattern, numcal can be honest about it and suggest a near-match from the chip set instead of guessing.
Computed, not generated
No part of numcal calls a language model. There's no chatbot in
the back of the calculator. The parser is a few hundred lines of
pattern-matching TypeScript, and the math runs on the calendar
primitives your browser already ships: Date,
Intl.DateTimeFormat, and the ICU calendar systems
for the non-Gregorian views. The whole answer pipeline runs in
your browser; numcal's server doesn't see queries that parse
successfully.
The practical upshot is that a numcal answer is defensible the way a hand-checked calendar calculation is defensible. There's no probability that someone else doing the same math gets a different number.
Privacy
numcal doesn't create accounts, doesn't drop cookies, and doesn't load third-party trackers. Pageview counts go to a self-hosted analytics instance (GoatCounter) which counts each visit without setting a cookie and without storing your IP. That is the entire telemetry stack.
One narrow exception: queries that don't parse are sent to a log endpoint so the parser can be improved on real misses rather than imagined ones. Stored: the text you typed, a timestamp, and a truncated User-Agent string for bot filtering. Not stored: your IP, any identifier, anything that ties one logged query to another. Each row is deleted automatically after 90 days. Queries that parse successfully aren't logged at all.
What numcal doesn't do (yet)
- Saved calculations or history (requires sign-in, coming with the Pro tier)
- Custom company holiday lists (also Pro)
- Hijri, Hebrew, Japanese-era calendars (v2)
- UI in languages other than English (v2; locale-aware date parsing already works)