ForHosting KIT · Dates & time

Julian Day Number calculator

Turn any calendar date into its astronomical Julian Day Number: 2000-01-01 is day 2451545, with Modified Julian Day 51544 and a leap-year flag alongside. One unambiguous count for observation logs and archives. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Date
2000-01-01
You get
Year
2,000
Month
1
Day
1
Julian day number
2,451,545

The astronomical Julian Day Number is a continuous integer day count used across astronomy, space operations, and scientific archives so every civil calendar date maps to one unambiguous serial without month lengths or leap-year tables in the middle of a formula. Historians, satellite planners, and software engineers convert ISO year-month-day strings into that serial when they align observation logs, stamp event catalogues, or bridge systems that disagree on week numbering and local time zones. This calculator accepts a single ISO calendar date in the strict form with four digits for the year and two digits each for month and day, verifies that the day really exists on the proleptic Gregorian calendar including leap Februaries, and returns the integer Julian Day Number for noon Universal Time of that civil day together with the Modified Julian Day offset and a leap flag. Impossible dates such as the twenty-ninth of February in a common year or the thirty-first of April fail with a clear validation error instead of a silent wrap.

How the Julian Day Number is computed from an ISO date

Start with a civil calendar date written as year, month, and day in the international ISO form with hyphens and fixed widths so every client agrees on the same three integers. First confirm that the year lies in the supported proleptic Gregorian range from year one through nine thousand nine hundred ninety-nine and that the month is between one and twelve.

Next apply the leap-year rule used by civil calendars worldwide: a year is a leap year when it is divisible by four, except that century years are leap years only when they are also divisible by four hundred. That rule makes February twenty-nine legal in years such as two thousand and two thousand twenty-four, and illegal in nineteen hundred and two thousand twenty-three. With leap status known, look up the length of each month for that year and reject any day that exceeds the month length.

When the triple is valid, apply the classic Fliegel and Van Flandern integer transform: form auxiliary quantities a equals the floor of fourteen minus month over twelve, y equals year plus four thousand eight hundred minus a, and m equals month plus twelve times a minus three; then the Julian Day Number is day plus the floor of one hundred fifty-three times m plus two over five, plus three hundred sixty-five times y, plus floor of y over four, minus floor of y over one hundred, plus floor of y over four hundred, minus thirty-two thousand forty-five.

That expression yields the integer day number associated with noon Universal Time of the given civil date. The Modified Julian Day for midnight of the same civil date is obtained by subtracting two million four hundred thousand one from the Julian Day Number. Reference anchors include the first of January two thousand mapping to two million four hundred fifty-one thousand five hundred forty-five and the seventeenth of November eighteen fifty-eight mapping to two million four hundred thousand one with Modified Julian Day zero.

Where Julian Day Number calculators show up in real work

Observatories and mission planners stamp telemetry and pointing schedules with Julian Day Numbers so multi-year campaigns sort on a single integer without month-boundary bugs. Climate and paleoclimate notebooks convert civil sample dates into continuous day counts before differencing or resampling. Software that must stay free of time-zone libraries still needs a pure calendar serial when it aligns logs from partners who publish only ISO dates.

Archive migrations often rewrite legacy date columns into JDN or MJD so relational joins across mixed historical eras stay monotonic. If you later need only the ordinal day within a single year, the count of days between two civil dates, week-of-year under ISO eight thousand six hundred one, or historical Julian-calendar reform cutovers, treat those as separate search intents and landings rather than overloading this Julian Day Number calculator page.

Astronomy and mission planning

Convert ISO observation dates to integer JDN so schedules, ephemeris joins, and telemetry windows share one continuous day axis.

Scientific archives and climate series

Map civil sample dates to JDN or MJD for monotonic storage, resampling, and multi-year differencing without month-length tables.

What is a Julian Day Number?

An integer day count used in astronomy. Day zero starts at noon Universal Time on 1 January 4713 BC in the proleptic Julian calendar. This tool returns the integer JDN for noon UT of a proleptic Gregorian civil date.

How is this different from day of the year?

Day of the year restarts at 1 every January 1 and stays within 1–366. The Julian Day Number increases forever across years, so multi-year timelines need only one integer field.

What calendar rules does it use?

Proleptic Gregorian for years 0001–9999: leap years when divisible by 4, except centuries must also be divisible by 400. Historical Julian-calendar reform cutovers are not applied.

What is Modified Julian Day (MJD)?

MJD = JDN − 2400001 for the civil date at 00:00 UT. The origin 1858-11-17 has MJD 0 and JDN 2400001. It is a compact companion field for the same day.

What does it cost?

The browser tool is free and runs locally.

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/julian-day-number

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/julian-day-number \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2000-01-01"}'
{
  "date": "2000-01-01"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.julian_day_number",
  "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.

What you send and what you get back

Send one required string field named date containing a strict ISO calendar day such as two thousand hyphen zero one hyphen zero one. Days that match the pattern but are not real calendar dates, including non-leap February twenty-nine and month values outside one through twelve, also fail with a message that names the problem so clients can correct the input without guessing. Classic checks include the J2000 epoch civil date of the first of January two thousand, the Modified Julian Day origin of the seventeenth of November eighteen fifty-eight, and leap-day inputs such as the twenty-ninth of February two thousand twenty-four that must succeed while the same day in two thousand twenty-three must fail. Missing fields, non-string values, and strings that do not match the four-two-two digit pattern fail with invalid_input and are not charged. On success the response echoes the normalized date string, the numeric year, month, and day components, the julian_day_number integer, the modified_julian_day integer, a boolean is_leap_year flag, a calendar label stating proleptic Gregorian, and a short formula string that documents the Fliegel and Van Flandern transform. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.

Where Julian Day Number calculators show up in real work

Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Data migration and API fixtures

Bulk-convert validated YYYY-MM-DD columns to julian_day_number with clear invalid_input on impossible calendar days.

Read the full KIT documentation →