Pregnancy Due Date Calculator
Estimate your pregnancy due date from the first day of your last menstrual period (LMP) using Naegele's rule - the standard clinical method. The calculator also shows how many weeks pregnant you currently are, how many days until the due date, and which trimester you are in.
Leave as today to see current pregnancy status.
How it works
Naegele's rule adds 280 days (40 weeks) to the first day of your last menstrual period. This assumes a 28-day cycle with ovulation on day 14. If your cycle is shorter or longer, your actual ovulation and conception date may differ, and your doctor may adjust the date after an early ultrasound.
Due date = LMP + 280 daysExample. If your last period started on 1 January 2026, your estimated due date is 8 October 2026.
Frequently asked questions
How accurate is this due date?
Only about 4% of babies arrive on their exact due date. Most are born within 2 weeks before or after. An early ultrasound (7-10 weeks) is the most accurate way to date a pregnancy.
What if I have irregular cycles?
Naegele's rule assumes a 28-day cycle. Women with longer or shorter cycles may have a different due date. Your healthcare provider can adjust based on cycle length or ultrasound measurements.
Related calculators
Embed this calculator
Free to use on any site. Please keep the credit link.
<iframe
id="letmecalc-pregnancy-calculator"
src="https://letmecalc.com/embed/health/pregnancy-calculator"
title="Pregnancy Calculator"
width="100%"
height="620"
style="border:0;max-width:100%"
loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/health/pregnancy-calculator" target="_blank" rel="noopener">Pregnancy Calculator</a> by letmecalc</p>
<script>
(function () {
var f = document.getElementById("letmecalc-pregnancy-calculator");
window.addEventListener("message", function (e) {
if (e.origin !== "https://letmecalc.com") return;
if (!f || e.source !== f.contentWindow) return;
var d = e.data;
if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
if (typeof d.height === "number" && d.height > 0) {
f.style.height = d.height + "px";
}
});
})();
</script>