Leave blank if unknown; the calculator will estimate based on LMP.
Typically between 20 and 40 days. Default is 28.
Understanding the Shettles Method
The Shettles Method is a popular, though not scientifically proven, theory developed by Dr. Landrum B. Shettles. It proposes that the timing of sexual intercourse in relation to ovulation, combined with vaginal pH and sexual position, can influence the sex of the baby. The theory is based on perceived differences between sperm carrying the X chromosome (female) and sperm carrying the Y chromosome (male).
Key Principles of the Shettles Method:
Timing of Intercourse:
Boy Sperm (Y-chromosome): Believed to be faster but less resilient. To conceive a boy, intercourse should ideally occur as close as possible to ovulation.
Girl Sperm (X-chromosome): Believed to be slower but more resilient and live longer. To conceive a girl, intercourse should ideally occur 2-3 days before ovulation.
Vaginal pH:
Boy: A more alkaline (higher pH) environment is thought to favor Y-sperm. This can be influenced by female orgasm.
Girl: A more acidic (lower pH) environment is thought to favor X-sperm.
Sexual Position:
Boy: Positions allowing for deeper penetration (e.g., rear-entry) are suggested to deposit sperm closer to the cervix, giving the faster Y-sperm a head start.
Girl: Positions that result in shallower penetration (e.g., missionary with woman on top) are suggested to deposit sperm further from the cervix, favoring the longer-living X-sperm.
Diet: Dr. Shettles also suggested dietary changes (e.g., more potassium and sodium for boys, more calcium and magnesium for girls) could influence vaginal pH, but this is less emphasized than timing and pH.
How the Calculator Works:
This calculator helps you determine the most fertile window and assess the potential outcome based on the Shettles Method's timing principles.
Fertile Window Calculation: It uses your Last Menstrual Period (LMP) and average cycle length to estimate your ovulation date. A common estimation is LMP + 14 days for a 28-day cycle. It then calculates the days leading up to and including ovulation.
Intercourse Timing Analysis: It compares the date of sexual intercourse you provide to the estimated fertile window and ovulation date.
Outcome Prediction: Based on the Shettles Method's theory:
If intercourse occurs 2-3 days before estimated ovulation, it suggests a higher chance of conceiving a girl.
If intercourse occurs on the day of or the day after estimated ovulation, it suggests a higher chance of conceiving a boy.
Disclaimer: The Shettles Method is not scientifically validated, and its success rates are anecdotal. Many factors influence conception and the sex of a baby, including genetics and the health of both partners. This calculator is intended for informational and entertainment purposes only and should not be relied upon for making medical decisions. Always consult with a healthcare professional for fertility and reproductive health advice.
function calculateShettlesMethod() {
var lmpInput = document.getElementById("lastMenstrualPeriod");
var ovulationInput = document.getElementById("estimatedOvulationDate");
var cycleLengthInput = document.getElementById("cycleLength");
var intercourseDateInput = document.getElementById("sexualIntercourseDate");
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = "; // Clear previous results
var lmp = lmpInput.value;
var ovulationEst = ovulationInput.value;
var cycleLength = parseInt(cycleLengthInput.value);
var intercourseDateStr = intercourseDateInput.value;
if (!lmp && !ovulationEst) {
alert("Please enter either your Last Menstrual Period (LMP) or your Estimated Ovulation Date.");
return;
}
if (!intercourseDateStr) {
alert("Please enter the Date of Sexual Intercourse.");
return;
}
if (isNaN(cycleLength) || cycleLength 40) {
alert("Please enter a valid average cycle length (between 20 and 40 days).");
return;
}
var ovulationDate = null;
if (ovulationEst) {
ovulationDate = new Date(ovulationEst);
if (isNaN(ovulationDate.getTime())) {
alert("Invalid Estimated Ovulation Date format. Please use MM/DD/YYYY or similar.");
return;
}
} else {
var lmpDate = new Date(lmp);
if (isNaN(lmpDate.getTime())) {
alert("Invalid Last Menstrual Period (LMP) date format. Please use MM/DD/YYYY or similar.");
return;
}
// Estimate ovulation: LMP + (cycleLength – 14) days. Common for 28-day cycle is LMP + 14 days.
var ovulationOffset = cycleLength – 14;
ovulationDate = new Date(lmpDate);
ovulationDate.setDate(lmpDate.getDate() + ovulationOffset);
}
var intercourseDate = new Date(intercourseDateStr);
if (isNaN(intercourseDate.getTime())) {
alert("Invalid Sexual Intercourse Date format. Please use MM/DD/YYYY or similar.");
return;
}
// Calculate fertile window: 3 days before ovulation for girl, 1 day for boy, plus ovulation day itself.
var girlConceptionWindowStart = new Date(ovulationDate);
girlConceptionWindowStart.setDate(ovulationDate.getDate() – 3);
var girlConceptionWindowEnd = new Date(ovulationDate);
girlConceptionWindowEnd.setDate(ovulationDate.getDate() – 2); // End 2 days before ovulation
var boyConceptionWindowStart = new Date(ovulationDate);
boyConceptionWindowStart.setDate(ovulationDate.getDate() – 1); // Start 1 day before ovulation
var boyConceptionWindowEnd = new Date(ovulationDate); // Ends on ovulation day
// Normalize dates to midnight for comparison
var normalizedIntercourseDate = new Date(intercourseDate);
normalizedIntercourseDate.setHours(0, 0, 0, 0);
var normalizedOvulationDate = new Date(ovulationDate);
normalizedOvulationDate.setHours(0, 0, 0, 0);
var normalizedGirlStart = new Date(girlConceptionWindowStart);
normalizedGirlStart.setHours(0, 0, 0, 0);
var normalizedGirlEnd = new Date(girlConceptionWindowEnd);
normalizedGirlEnd.setHours(0, 0, 0, 0);
var normalizedBoyStart = new Date(boyConceptionWindowStart);
normalizedBoyStart.setHours(0, 0, 0, 0);
var normalizedBoyEnd = new Date(boyConceptionWindowEnd);
normalizedBoyEnd.setHours(0, 0, 0, 0);
var predictedOutcome = "Undetermined";
var explanation = "";
if (normalizedIntercourseDate >= normalizedBoyStart && normalizedIntercourseDate = normalizedGirlStart && normalizedIntercourseDate <= normalizedGirlEnd) {
predictedOutcome = "Girl";
explanation = "Intercourse occurred 2-3 days before your estimated ovulation date. According to the Shettles Method, this timing favors X-sperm (girl).";
} else {
var daysDiff = Math.floor((normalizedIntercourseDate.getTime() – normalizedOvulationDate.getTime()) / (1000 * 60 * 60 * 24));
if (daysDiff 1) {
predictedOutcome = "Unlikely";
explanation = "Intercourse occurred more than 1 day after ovulation. Conception is less likely during this time according to the Shettles Method.";
} else {
predictedOutcome = "Uncertain";
explanation = "The timing of intercourse is outside the primary windows suggested by the Shettles Method for predicting sex. Other factors might play a role.";
}
}
resultDiv.innerHTML = `
Estimated Ovulation Date: ${ovulationDate.toLocaleDateString()}
Potential Fertile Window for Girl: ${girlConceptionWindowStart.toLocaleDateString()} – ${girlConceptionWindowEnd.toLocaleDateString()}
Potential Fertile Window for Boy: ${boyConceptionWindowStart.toLocaleDateString()} – ${boyConceptionWindowEnd.toLocaleDateString()}
Based on your input for intercourse on ${intercourseDate.toLocaleDateString()}:
Predicted Outcome: ${predictedOutcome}
${explanation}
`;
}