ForHosting KIT · Health & fitness

Due date Naegele rule calculator

A last period that started on 1 January 2026 gives an estimated due date of 8 October 2026, 280 days later. Naegele's rule adds one year, subtracts three months and adds seven days to that first day. 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
First day of last period
2026-01-01
You get
Due date
2026-10-08
Gestation days
280

Naegele's rule is the classic bedside method clinicians and pregnancy apps still teach for turning the first day of the last menstrual period into an estimated due date. This Naegele rule due date calculator accepts that LMP as a strict YYYY-MM-DD string, applies the textbook transform—add one year, subtract three months, add seven days—with pure civil calendar arithmetic, and returns the estimated delivery date, the gestation day span that resulted, a short step list, and the formula string you can show next to the answer. Use it for intake forms, homework on obstetric dating, and automation that needs a transparent Naegele baseline before ultrasound dating refines the plan.

What Naegele's rule computes and why LMP is the only required input

Naegele's rule estimates the expected date of delivery from the first day of the last menstrual period under the simplifying assumption of a regular twenty-eight-day cycle with ovulation near day fourteen. In the form still printed in textbooks and clinic posters, you take that LMP day, add one full year, subtract three months, and add seven days, then normalize any day that overflows the length of the resulting month.

The only required field is lmp, an ISO calendar date written as YYYY-MM-DD naming the first bleeding day of the last period the patient reports. For many common LMPs the day count is two hundred eighty days, matching the conventional forty-week obstetric count from LMP; leap-year and month-length edges can shift the span by a day or two relative to a naive fixed offset, which is why the implementation follows the calendar form rather than blindly adding a constant.

This is a dating estimate only: it is not a diagnosis, not a guarantee of delivery on that day, and not a substitute for clinical ultrasound dating when that is available.

Maternity intake and booking

Compute a first-pass EDD from the LMP field on a web form and show the Naegele formula beside the result before ultrasound confirms dating.

Classroom and exam prep

Let students practice Naegele's rule with strict YYYY-MM-DD inputs and a deterministic oracle that rejects impossible calendar days.

Batch LMP archives

Recompute estimated due dates for research or scheduling pipelines from stored LMP columns without timezone-sensitive Date libraries.

What is Naegele's rule for due date?

Classic Naegele's rule estimates EDD from the first day of the LMP by adding one year, subtracting three months, and adding seven days, with civil calendar normalization for month length and leap years.

Does cycle length change the result?

No. This capability applies pure textbook Naegele from LMP only.

Why is the due date not always exactly 280 days away?

Because the rule follows the calendar rather than adding a fixed number of days. Month lengths and leap years can shift the span by a day or two; from 1 January 2026 it comes to exactly 280 days.

What if my ultrasound gives a different due date?

Naegele's rule is a first estimate from the last period and assumes a regular cycle. Ultrasound dating refines it when it is available, and neither method guarantees delivery on that day.

What happens if I enter a date that does not exist?

It is rejected instead of being turned into some other date. A 30 February, or a 29 February in a year that is not a leap year, is refused so you can correct the entry.

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/health/due-date-naegele

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/health/due-date-naegele \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lmp":"2026-01-01"}'
{
  "lmp": "2026-01-01"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.due_date_naegele",
  "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.

When the required LMP field is missing or is not a real calendar day, the task fails with invalid_input instead of inventing a date.

What Naegele's rule computes and why LMP is the only required input

That calendar transform is what this endpoint implements byte for byte: it does not call Date.now, it does not depend on the server timezone, and it does not silently adjust for cycle length. The response also echoes the normalized lmp, labels method as naegele, restates formula as EDD equals LMP plus one year minus three months plus seven days, reports gestation_days as the whole civil day count between LMP and EDD, and lists human-readable steps so a UI can show the arithmetic without re-deriving it.

Input contract, validation, response shape, and deterministic errors

Month must fall between one and twelve; day must be real for that month, so values such as two thousand twenty-six February thirtieth are rejected because February never has thirty days, and two thousand twenty-three February twenty-ninth is rejected because that year is not a leap year under the Gregorian rule. Do not send wall-clock timestamps, time zones, or cycle length to this capability—those belong to other tools; this page is intentionally the textbook Naegele LMP-to-EDD transform only. POST a JSON object whose required field lmp is a string matching the strict pattern four digits, hyphen, two-digit month, hyphen, two-digit day. Aliases last_menstrual_period, lmp_date, and period_start are accepted and map to the same parse path so forms and integrations can keep their preferred names. Missing lmp, null, empty string, non-string objects, and strings that fail the pattern all throw invalid_input naming the field and the expected shape. On success the body always includes lmp, due_date, method, formula, gestation_days, and steps; optional null fields are never padded in. Example: lmp two thousand twenty-six January first yields due_date two thousand twenty-six October eighth under the classic transform, with method naegele and a formula string you can display next to the result. Failed validation is not billed, so you can probe hostile or incomplete payloads without spending prepaid balance.

Where a Naegele due date API earns its keep in product and education

Pregnancy intake forms and maternity booking flows often need a first-pass estimated due date the moment a patient types her LMP, before any ultrasound file is attached. Embedding this calculator gives a transparent Naegele baseline with a published formula and step list that nurses and product copy can quote without reverse-engineering a black-box date library. Prefer ultrasound-based dating when clinical policy requires it, and treat Naegele output as the conventional calendar estimate it has always been: simple, explainable, and deterministic.

Which input fields are required?

Only lmp (YYYY-MM-DD). Aliases last_menstrual_period, lmp_date, and period_start are accepted. Missing or empty lmp returns invalid_input and is not billed.

Why can gestation_days differ slightly from 280?

The implementation follows the calendar form of Naegele's rule, not a blind +280 day offset. Month lengths and leap days can change the whole-day span by a small amount for some LMP starts.

What does the Naegele due date calculator cost?

The browser widget is free. API calls use prepaid KIT balance at $0.002 per successful task; invalid input is not charged.

Read the full KIT documentation →