ForHosting KIT · Developer Utilities

Maya Calendar Round Calculator for Any Date

This Maya Calendar Round calculator converts one explicit Gregorian date into its paired Tzolkin and Haab positions.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Runs in your browser. Free, unlimited — your data never leaves this page.

It uses the widely adopted Goodman-Martinez-Thompson correlation constant of 584283 and performs the calculation with integer calendar arithmetic, so the result does not depend on a device clock, local timezone, daylight-saving rules, or network data. The response shows the numbered Tzolkin day, the Haab day and month, their combined Calendar Round label, and the Julian day number used in the conversion, making the result easy to inspect or reproduce.

What the Maya Calendar Round represents

The Calendar Round combines two repeating Maya calendar cycles. The Tzolkin is a 260-day cycle formed by pairing thirteen day numbers with twenty day names. Because the number and name sequences advance together, a particular Tzolkin designation returns after 260 days. The Haab is a 365-day civil cycle made from eighteen months of twenty days followed by Wayeb, a short final period of five days. A combined Tzolkin and Haab position repeats after 18,980 days, or 52 Haab years. This calculator reports both positions rather than treating either one as a complete long-term date. That distinction matters: a Calendar Round label identifies a position inside a repeating cycle, not one unique day across all history. The response therefore also includes the submitted ISO date and its Julian day number. Those fields make the conversion auditable and prevent the repeating label from being mistaken for a unique Long Count date. Spellings follow common English Mayanist forms, including Ajaw, Kankin, and Wayeb.

How the conversion stays deterministic

Enter a Gregorian date in exact YYYY-MM-DD form. The calculator validates the month, the day, and Gregorian leap-year rules before doing any conversion. It then converts the date to an integer Julian day number with proleptic Gregorian arithmetic. No JavaScript Date object is constructed, so a browser in Tokyo, a server in UTC, and a laptop in New York all follow the same path and obtain the same value. The Maya position is anchored with the Goodman-Martinez-Thompson correlation constant 584283, commonly abbreviated GMT. At the correlation origin, the cycle offsets correspond to 4 Ajaw and 8 Kumku; modular arithmetic advances those offsets to the requested day. Negative remainders are normalized explicitly, which also keeps dates earlier than the correlation origin well defined within the supported Gregorian range. The output names the selected correlation because correlation choice is an interpretive premise, not an invisible implementation detail. If a publication uses another correlation, its result can differ even though both calculations are internally consistent.

Reading and using the result responsibly

Read the calendar_round field as Tzolkin first and Haab second. For example, a value such as 4 Ajaw / 3 Kankin means Tzolkin number 4 with day name Ajaw, paired with day 3 of the Haab month Kankin. The nested tzolkin and haab objects are better for software that needs separate fields, while the combined string is convenient for display, notes, or a citation draft. Use julian_day_number when comparing this result with another conversion tool: matching day numbers but different Maya positions usually indicate a different correlation or offset convention. The calculation applies the proleptic Gregorian calendar throughout the supported range, including dates before a country historically adopted the Gregorian calendar. That makes computation uniform but may differ from a date written in a historical Julian-calendar source. This tool computes calendrical positions; it does not authenticate inscriptions, infer a Long Count, resolve archaeological debates, or claim a cultural interpretation. For research, record the ISO input, GMT 584283 correlation, and returned fields together so another reader can reproduce exactly what was calculated.

Check a published conversion

Compare an article or exhibit label with a transparent GMT 584283 calculation and retain the Julian day number for review.

Add calendar context to a dated record

Attach structured Tzolkin and Haab fields to an ISO-dated research note, classroom timeline, or personal dataset.

Build a reproducible calendar display

Generate a stable combined label without relying on a device timezone, current clock, remote lookup, or locale-dependent date parser.

Which Maya correlation does the calculator use?

It uses the Goodman-Martinez-Thompson correlation constant 584283 and identifies it in every result.

Is a Calendar Round date unique?

No. The same Tzolkin and Haab pairing repeats every 18,980 days, so a Calendar Round position alone does not identify one unique historical day.

Does my timezone change the answer?

No. The input is an explicit calendar date and the algorithm uses integer arithmetic rather than a local clock or timezone conversion.

Which Gregorian dates are accepted?

Use exact YYYY-MM-DD form from 0001-01-01 through 9999-12-31. Month lengths and Gregorian leap years are validated.

Does this calculate the Maya Long Count?

No. It returns the paired Tzolkin and Haab positions. The Julian day number is included for auditability, but no Long Count is inferred.

What does an API request cost?

Each API request costs $0.002. The calculation processes one date as one item.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/date/maya-calendar-round

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/date/maya-calendar-round \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2012-12-21"}'
{
  "date": "2012-12-21"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.maya_calendar_round",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →