{"id":408,"date":"2026-10-03T08:10:51","date_gmt":"2026-10-03T08:10:51","guid":{"rendered":"https:\/\/ivfprep.guide\/articles\/?p=408"},"modified":"2026-10-03T15:39:36","modified_gmt":"2026-10-03T15:39:36","slug":"implantation-timeline","status":"publish","type":"post","link":"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/","title":{"rendered":"Implantation Timeline After a Day 3 or Day 5 Transfer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>The implantation timeline is counted from ovulation: in the key study, the pregnancy hormone first appeared 6 to 12 days after ovulation, mostly days 8 to 10. A day 5 embryo is five of those days old at transfer, so the window falls 1 to 7 days after a day 5 transfer, 3 to 9 after a day 3.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"implantation-timeline\" data-minutes=\"12\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#EEF3F8;border:1px solid #CBD8E6;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #CBD8E6;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#1F4E79;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#B4531A}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#4A5560;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#1F4E79}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#4A5560}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#1F4E79;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#B4531A}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #CBD8E6;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#1F4E79;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#B4531A}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#4A5560;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #CBD8E6;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #CBD8E6;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#EEF3F8;box-shadow:0 2px 0 #1F4E79;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#EEF3F8;box-shadow:inset 0 -2px 0 #1F4E79}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#EEF3F8}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#audio\",\"name\":\"Implantation Timeline After a Day 3 or Day 5 Transfer, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 3 October 2026.\",\"contentUrl\":\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-audio-202610032109.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT12M24S\",\"uploadDate\":\"2026-10-03\",\"inLanguage\":\"en-GB\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"Implantation Timeline After a Day 3 or Day 5 Transfer\",\"startOffset\":0,\"endOffset\":40},{\"@type\":\"Clip\",\"name\":\"What does the implantation timeline look like in natural conception?\",\"startOffset\":40,\"endOffset\":115,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#what-does-the-implantation-timeline-look-like-in-natural-con\"},{\"@type\":\"Clip\",\"name\":\"Why does the timeline move when an embryo goes back on day 3 or day 5?\",\"startOffset\":115,\"endOffset\":203,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#why-does-the-timeline-move-when-an-embryo-goes-back-on-day-3\"},{\"@type\":\"Clip\",\"name\":\"How do days past ovulation convert to days past transfer?\",\"startOffset\":203,\"endOffset\":452,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#how-do-days-past-ovulation-convert-to-days-past-transfer\"},{\"@type\":\"Clip\",\"name\":\"Is implantation timed the same way in IVF?\",\"startOffset\":452,\"endOffset\":518,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#is-implantation-timed-the-same-way-in-ivf\"},{\"@type\":\"Clip\",\"name\":\"Why do clinics set test day so long after the window closes?\",\"startOffset\":518,\"endOffset\":586,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#why-do-clinics-set-test-day-so-long-after-the-window-closes\"},{\"@type\":\"Clip\",\"name\":\"What test dates do people report their clinics gave them?\",\"startOffset\":586,\"endOffset\":691,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#what-test-dates-do-people-report-their-clinics-gave-them\"},{\"@type\":\"Clip\",\"name\":\"What can the implantation timeline not tell you?\",\"startOffset\":691,\"endOffset\":744,\"url\":\"https:\/\/ivfprep.guide\/articles\/implantation-timeline\/#what-can-the-implantation-timeline-not-tell-you\"}],\"contentSize\":\"5.2 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 12 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-audio-202610032109.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: Implantation Timeline After a Day 3 or Day 5 Transfer\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">Implantation Timeline After a Day 3 or Day 5 Transfer<\/a><\/li>\n<li data-start=\"40.14\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"40.14\" aria-label=\"Play from: What does the implantation timeline look like in natural conception?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:40<\/span><a href=\"#what-does-the-implantation-timeline-look-like-in-natural-con\">What does the implantation timeline look like in natural conception?<\/a><\/li>\n<li data-start=\"115.08\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"115.08\" aria-label=\"Play from: Why does the timeline move when an embryo goes back on day 3 or day 5?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">1:55<\/span><a href=\"#why-does-the-timeline-move-when-an-embryo-goes-back-on-day-3\">Why does the timeline move when an embryo goes back on day 3 or day 5?<\/a><\/li>\n<li data-start=\"203.38\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"203.38\" aria-label=\"Play from: How do days past ovulation convert to days past transfer?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">3:23<\/span><a href=\"#how-do-days-past-ovulation-convert-to-days-past-transfer\">How do days past ovulation convert to days past transfer?<\/a><\/li>\n<li data-start=\"452.32\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"452.32\" aria-label=\"Play from: Is implantation timed the same way in IVF?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:32<\/span><a href=\"#is-implantation-timed-the-same-way-in-ivf\">Is implantation timed the same way in IVF?<\/a><\/li>\n<li data-start=\"518.06\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"518.06\" aria-label=\"Play from: Why do clinics set test day so long after the window closes?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:38<\/span><a href=\"#why-do-clinics-set-test-day-so-long-after-the-window-closes\">Why do clinics set test day so long after the window closes?<\/a><\/li>\n<li data-start=\"585.64\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"585.64\" aria-label=\"Play from: What test dates do people report their clinics gave them?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">9:46<\/span><a href=\"#what-test-dates-do-people-report-their-clinics-gave-them\">What test dates do people report their clinics gave them?<\/a><\/li>\n<li data-start=\"690.78\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"690.78\" aria-label=\"Play from: What can the implantation timeline not tell you?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">11:31<\/span><a href=\"#what-can-the-implantation-timeline-not-tell-you\">What can the implantation timeline not tell you?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 3 October 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"implantationtimelineafte\",44],[4.12,\"p\",\"theimplantationtimelinei\",128],[14.24,\"p\",\"aday5embryoisfiveofthose\",97],[22.76,\"p\",\"onthispageadaybydaytable\",175],[40.14,\"h\",\"whatdoestheimplantationt\",58],[43.58,\"p\",\"almosteverypageonthissub\",101],[51.42,\"p\",\"wilcoxbairdandweinbergwr\",144],[62.5,\"p\",\"theypinnedthedayofovulat\",129],[71.22,\"p\",\"amongthe141pregnanciesth\",138],[85.34,\"p\",\"thatisthedenominatorbehi\",80],[92.46,\"p\",\"itisalsoameasurementofah\",59],[96.58,\"p\",\"nobodyinthestudywasasked\",138],[104.54,\"p\",\"thennearlyeverypagecount\",78],[109.5,\"p\",\"afteratransfertheembryos\",66],[115.08,\"h\",\"whydoesthetimelinemovewh\",54],[119.08,\"p\",\"becauseanembryosageiscou\",231],[137.24,\"p\",\"aday5embryoisusuallyabla\",164],[149.32,\"p\",\"innaturalconceptionthest\",207],[163.28,\"p\",\"atransferskipsthejourney\",62],[167.2,\"p\",\"aday5embryoarrivesfiveda\",84],[175.24,\"p\",\"sotheconversionisplainsu\",33],[177.28,\"p\",\"fertilisationhappenswith\",105],[185.72,\"p\",\"takethedpoyouarereadinga\",118],[196.32,\"p\",\"freezingdoesnotadddays\",22],[197.8,\"p\",\"avitrifiedembryoiswarmed\",67],[203.38,\"h\",\"howdodayspastovulationco\",47],[207.06,\"p\",\"thetablebelowdoesthesubt\",97],[213.22,\"p\",\"transferdayitselfcountsa\",83],[220.58,\"t\",\"day3\",195],[240.74,\"t\",\"day4\",181],[258.94,\"t\",\"day5\",173],[275.9,\"t\",\"day6\",157],[292.78,\"t\",\"day7\",177],[314.74,\"t\",\"day8\",160],[334.86,\"t\",\"day9\",125],[352.22,\"t\",\"day10\",129],[367.66,\"t\",\"day11\",136],[385.78,\"t\",\"day12\",164],[403.58,\"t\",\"day16\",163],[422.02,\"p\",\"readtherighthandcolumnas\",73],[426.54,\"p\",\"itsayswherefirsthcgwasfo\",44],[430.1,\"p\",\"itcannottellyouwhereyoua\",175],[440.66,\"p\",\"9dpoforinstanceissimply4\",45],[445.18,\"p\",\"thepageonwhyday9afteratr\",88],[452.32,\"h\",\"isimplantationtimedthesa\",34],[455.2,\"p\",\"closelyandtheivfmeasurem\",46],[458.84,\"p\",\"berghandnavotinfertility\",197],[474.76,\"p\",\"thefirstsignalappearedat\",142],[486.44,\"p\",\"thatisearlierandnarrower\",97],[494.4,\"p\",\"bloodshowshcgsoonerthanu\",145],[504.8,\"p\",\"ontheshapethetwostudiesa\",98],[512.52,\"p\",\"neitherstudycansaywhatan\",65],[518.06,\"h\",\"whydoclinicssettestdayso\",48],[521.46,\"p\",\"becausethewindowiswhenhc\",100],[528.3,\"p\",\"guysandstthomasfertility\",289],[550.22,\"p\",\"thesameunitwarnsthattheh\",138],[559.98,\"p\",\"thehfeaspageonivfgivesno\",35],[563.62,\"p\",\"itsaysembryosgobacktwoto\",189],[576.34,\"p\",\"testdayinotherwordsisacl\",126],[585.64,\"h\",\"whattestdatesdopeoplerep\",47],[588.44,\"p\",\"toseehowmuchtestdayvarie\",191],[604.84,\"p\",\"thesearereportssummarise\",50],[608.4,\"p\",\"inathreadfromdecember202\",100],[616.24,\"p\",\"onereplyhadbeengiven10da\",72],[621.6,\"p\",\"inathreadfromfebruary202\",97],[631.28,\"p\",\"anotherhad12daysafterafr\",106],[638.4,\"p\",\"athirdhadabloodtestat14d\",82],[644.04,\"p\",\"sixdatesfrom9to16daysaft\",47],[648.56,\"p\",\"inembryoagethatisday14to\",94],[656.52,\"p\",\"thespreadreflectsclinicp\",148],[667.52,\"p\",\"cuttingagainstthetidypic\",140],[676.2,\"p\",\"wheretheaccountsagreewit\",85],[681.56,\"p\",\"wheretheypartcompanythet\",126],[690.78,\"h\",\"whatcantheimplantationti\",40],[693.26,\"p\",\"itcannottellyouwhetherim\",78],[698.74,\"p\",\"thewindowisarangeofdayso\",123],[707.58,\"p\",\"nothingyoucanfeelmarksit\",24],[709.3,\"p\",\"theevidenceonsignsofimpl\",249],[725.42,\"p\",\"thedatethatcountsistheon\",42],[727.78,\"p\",\"ifyouhavebleedingpainora\",73],[732.42,\"p\",\"theyknowyourprotocolandt\",38],[734.9,\"p\",\"thisarticleisgeneralinfo\",109],[741.26,\"p\",\"speaktoyourdoctoraboutyo\",38]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: a day by day table converting days past ovulation into days past a day 3, day 5 or day 6 transfer, sourced row by row from the 1999 Wilcox study and a 1992 IVF study, plus six clinic test dates people reported.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"implantation-timeline\" data-category=\"the two week wait\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#1F4E79;--msq-accent-text:#FFFFFF;--msq-line:#CBD8E6;--msq-warn:#B4531A;--msq-muted:#4A5560;--msq-tint:#EEF3F8;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"What does the implantation timeline look like in natural conception?\" data-section=\"#what-does-the-implantation-timeline-look-like-in-natural-con\">\n<p class=\"msq-question\">1. In the 1999 urine study, on which days after ovulation did 84 per cent of pregnancies first show hCG?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Days 2 to 4<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Days 8, 9 or 10<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Days 14 to 16<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>118 of the 141 pregnancies that lasted six weeks or more first showed hCG on day 8, 9 or 10 after ovulation (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox, Baird and Weinberg, 1999<\/a>). <a class=\"msq-section\" href=\"#what-does-the-implantation-timeline-look-like-in-natural-con\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"b\" data-title=\"Why does the timeline move when an embryo goes back on day 3 or day 5?\" data-section=\"#why-does-the-timeline-move-when-an-embryo-goes-back-on-day-3\">\n<p class=\"msq-question\">2. From which day is an IVF embryo&#8217;s age counted?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Transfer day<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Egg collection and insemination, day 0<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The first day of the last period<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Embryo age runs from insemination on the day of egg collection; a day 3 embryo is assessed about 68 hours later (<a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21481639\/\" target=\"_blank\" rel=\"noopener\">Istanbul consensus<\/a>). <a class=\"msq-section\" href=\"#why-does-the-timeline-move-when-an-embryo-goes-back-on-day-3\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"a\" data-title=\"How do days past ovulation convert to days past transfer?\" data-section=\"#how-do-days-past-ovulation-convert-to-days-past-transfer\">\n<p class=\"msq-question\">3. About how many days past a day 5 transfer is 9 DPO?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">4 days<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">9 days<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">14 days<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>A day 5 embryo is five days old on transfer day, and embryo age matches DPO to within a day, so 9 minus 5 is 4 (<a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21481639\/\" target=\"_blank\" rel=\"noopener\">Istanbul consensus on embryo days<\/a>). <a class=\"msq-section\" href=\"#how-do-days-past-ovulation-convert-to-days-past-transfer\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"a\" data-title=\"Is implantation timed the same way in IVF?\" data-section=\"#is-implantation-timed-the-same-way-in-ivf\">\n<p class=\"msq-question\">4. In the 1992 study of 33 IVF pregnancies, when did the first blood hCG signal appear?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">At an embryo age of about 7 days<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">At an embryo age of about 14 days<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">On transfer day<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The first signal came at an average embryo age of 7.1 days, range 6.6 to 7.4, measured with a highly sensitive blood assay (<a href=\"https:\/\/www.fertstert.org\/article\/S0015-0282(16\" target=\"_blank\" rel=\"noopener\">Bergh and Navot, 1992<\/a>55259-5\/fulltext)). <a class=\"msq-section\" href=\"#is-implantation-timed-the-same-way-in-ivf\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"Why do clinics set test day so long after the window closes?\" data-section=\"#why-do-clinics-set-test-day-so-long-after-the-window-closes\">\n<p class=\"msq-question\">5. Why does one NHS fertility unit ask patients not to test before the date it gives?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">The hCG trigger can stay in the blood for 8 to 10 days and give a false positive<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">The embryo cannot implant before that date<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Home tests cannot detect hCG at all<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The unit warns the trigger injection can linger for 8 to 10 days, and sets its test at 16 days after egg collection (<a href=\"https:\/\/www.guysandstthomas.nhs.uk\/health-information\/ivf-treatment\/results-your-pregnancy-test\" target=\"_blank\" rel=\"noopener\">Guy&#8217;s and St Thomas&#8217;<\/a>). <a class=\"msq-section\" href=\"#why-do-clinics-set-test-day-so-long-after-the-window-closes\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { box.addEventListener('toggle', function(){ if (box.open) { track('quiz_open', { mode: 'pre' }); } }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-the-implantation-timeline-look-like-in-natural-con\">What does the implantation timeline look like in natural conception?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Almost every page on this subject quotes the same window, and almost all of them got it, directly or third hand, from one study. Wilcox, Baird and Weinberg, writing in the <a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">New England Journal of Medicine in 1999<\/a>, collected daily urine samples for up to six months from 221 women who were trying to conceive. They pinned the day of ovulation from hormone ratios in that urine and took the first appearance of hCG, the pregnancy hormone, as the marker of implantation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Among the 141 pregnancies that lasted at least six weeks, hCG first appeared between 6 and 12 days after ovulation, and in 118 of them, 84 per cent, it appeared on day 8, 9 or 10. That is the denominator behind every &#8220;6 to 12 days&#8221; you will read: 141 pregnancies, not a law of nature. It is also a measurement of a hormone in a urine sample, not of a sensation. Nobody in the study was asked what implantation felt like, which is why this site&#8217;s look at <a href=\"https:\/\/ivfprep.guide\/articles\/how-long-do-implantation-cramps-last\/\">how long implantation cramps are said to last<\/a> found that nobody has timed them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then nearly every page counts from ovulation, as though everyone reading has one to count from. After a transfer, the embryo&#8217;s clock started on the day of egg collection, in a dish.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-does-the-timeline-move-when-an-embryo-goes-back-on-day-3\">Why does the timeline move when an embryo goes back on day 3 or day 5?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because an embryo&#8217;s age is counted from fertilisation, which in IVF is the day of egg collection, day 0. Under the ESHRE and ALPHA <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21481639\/\" target=\"_blank\" rel=\"noopener\">Istanbul consensus on embryo assessment<\/a>, a day 3 embryo is assessed at about 68 hours after insemination, when a well developing one has around eight cells. A day 5 embryo is usually a blastocyst, the stage with a fluid filled cavity and an outer layer of cells that will become the placenta, which the guide to <a href=\"https:\/\/ivfprep.guide\/articles\/blastocyst-stages\/\">blastocyst stages, day by day<\/a> describes in detail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In natural conception, the <a href=\"https:\/\/www.ncbi.nlm.nih.gov\/books\/NBK538332\/\" target=\"_blank\" rel=\"noopener\">StatPearls chapter on placental physiology<\/a> places the morula, the ball of cells before the blastocyst, entering the uterus around the fourth day after fertilisation, and implantation about 6 to 7 days after fertilisation. A transfer skips the journey along the fallopian tube, but not the calendar. A day 5 embryo arrives five days into the timeline, a day 3 embryo three days in, and a day 6 blastocyst six.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the conversion is plain subtraction. Fertilisation happens within about a day of ovulation, so embryo age and days past ovulation, written DPO, line up to within a day. Take the DPO you are reading about and subtract the embryo&#8217;s age on transfer day: 9 DPO is 4 days past a day 5 transfer and 6 days past a day 3 transfer. Freezing does not add days. A vitrified embryo is warmed at the age it was frozen, however many years it waited.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-days-past-ovulation-convert-to-days-past-transfer\">How do days past ovulation convert to days past transfer?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The table below does the subtraction and puts the published measurement beside each day, with the source on every row. Transfer day itself counts as day 0. The first column is the embryo&#8217;s age, the closest equivalent to DPO.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/counting-days-on-calendar-for-implantation-timeline.jpg\" alt=\"Hands water a small basil plant on a windowsill, a quiet task during the implantation timeline wait.\" class=\"wp-image-406\" srcset=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/counting-days-on-calendar-for-implantation-timeline.jpg 1376w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/counting-days-on-calendar-for-implantation-timeline-300x167.jpg 300w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/counting-days-on-calendar-for-implantation-timeline-1024x572.jpg 1024w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/counting-days-on-calendar-for-implantation-timeline-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Implantation follows the embryo&#8217;s age, counted from egg collection, not from the day it went back.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Embryo age, about the same as DPO<\/th><th>Days past a day 3 transfer<\/th><th>Days past a day 5 transfer<\/th><th>Days past a day 6 transfer<\/th><th>What the published sources place here<\/th><\/tr><\/thead><tbody><tr><td>Day 3<\/td><td>Transfer day<\/td><td>Not yet back<\/td><td>Not yet back<\/td><td>Day 3 embryo assessed at about 68 hours, around eight cells (<a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21481639\/\" target=\"_blank\" rel=\"noopener\">Istanbul consensus<\/a>)<\/td><\/tr><tr><td>Day 4<\/td><td>1<\/td><td>Not yet back<\/td><td>Not yet back<\/td><td>Morula reaches the uterus in natural conception, around day 4 (<a href=\"https:\/\/www.ncbi.nlm.nih.gov\/books\/NBK538332\/\" target=\"_blank\" rel=\"noopener\">StatPearls<\/a>)<\/td><\/tr><tr><td>Day 5<\/td><td>2<\/td><td>Transfer day<\/td><td>Not yet back<\/td><td>Blastocyst stage, the usual day 5 transfer (<a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/21481639\/\" target=\"_blank\" rel=\"noopener\">Istanbul consensus<\/a>)<\/td><\/tr><tr><td>Day 6<\/td><td>3<\/td><td>1<\/td><td>Transfer day<\/td><td>Earliest first hCG among 141 pregnancies (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 7<\/td><td>4<\/td><td>2<\/td><td>1<\/td><td>First blood hCG signal at embryo age 6.6 to 7.4 days in 33 IVF pregnancies (<a href=\"https:\/\/www.fertstert.org\/article\/S0015-0282(16)55259-5\/fulltext\" target=\"_blank\" rel=\"noopener\">Bergh and Navot 1992<\/a>)<\/td><\/tr><tr><td>Day 8<\/td><td>5<\/td><td>3<\/td><td>2<\/td><td>Start of the peak: 84 per cent showed first hCG on day 8, 9 or 10 (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 9<\/td><td>6<\/td><td>4<\/td><td>3<\/td><td>Inside the peak (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 10<\/td><td>7<\/td><td>5<\/td><td>4<\/td><td>Last day of the peak (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 11<\/td><td>8<\/td><td>6<\/td><td>5<\/td><td>Later first hCG, less common (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 12<\/td><td>9<\/td><td>7<\/td><td>6<\/td><td>Latest first hCG among pregnancies lasting six weeks or more (<a href=\"https:\/\/www.nejm.org\/doi\/full\/10.1056\/NEJM199906103402304\" target=\"_blank\" rel=\"noopener\">Wilcox 1999<\/a>)<\/td><\/tr><tr><td>Day 16<\/td><td>13<\/td><td>11<\/td><td>10<\/td><td>One NHS unit&#8217;s test day, 16 days after egg collection (<a href=\"https:\/\/www.guysandstthomas.nhs.uk\/health-information\/ivf-treatment\/results-your-pregnancy-test\" target=\"_blank\" rel=\"noopener\">Guy&#8217;s and St Thomas&#8217;<\/a>)<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Embryo age counted from egg collection, which sits within about a day of DPO. Implantation timing from Wilcox, Baird and Weinberg, 1999, 141 pregnancies lasting six weeks or more, and Bergh and Navot, 1992, 33 IVF pregnancies. Checked 3 October 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Read the right hand column as a range across other people&#8217;s pregnancies, not as a schedule. It says where first hCG was found in research samples. It cannot tell you where you are on it, because nothing you can feel or test at home marks the day implantation happens, and every day inside the window is an ordinary day on which nothing is supposed to be noticeable. 9 DPO, for instance, is simply 4 days past a day 5 transfer. The page on <a href=\"https:\/\/ivfprep.guide\/articles\/day-9-after-transfer-period-feeling\/\">why day 9 after a transfer can feel like a period coming<\/a> works through one of those days in detail.<\/p>\n\n\n\n<div class=\"msq-tool\" id=\"msq-itc\"><h3>Transfer day converter<\/h3><p>Enter your transfer date and the embryo&#8217;s age on that day. It converts the published implantation window into calendar dates and days after transfer. It does not predict anything and it does not know your protocol.<\/p><p><label for=\"itc-date\">Transfer date<\/label> <input type=\"date\" id=\"itc-date\"><\/p><p><label for=\"itc-age\">Embryo age at transfer<\/label> <select id=\"itc-age\"><option value=\"3\">Day 3 embryo<\/option><option value=\"5\" selected>Day 5 blastocyst<\/option><option value=\"6\">Day 6 blastocyst<\/option><\/select><\/p><p><button type=\"button\" id=\"itc-go\">Convert<\/button><\/p><div id=\"itc-out\"><\/div><p class=\"msq-note\">Window from Wilcox, Baird and Weinberg, 1999, 141 pregnancies. Frozen embryos count at the age they were frozen.<\/p><\/div><script>(function(){var d=document,g=function(i){return d.getElementById(i);};var btn=g('itc-go');if(!btn){return;}\nfunction line(t,b){var p=d.createElement('p');if(b){var s=d.createElement('strong');s.textContent=t;p.appendChild(s);}else{p.textContent=t;}return p;}\nfunction add(dt,n){var x=new Date(dt.getTime());x.setDate(x.getDate()+n);return x;}\nfunction fmt(x){return x.toLocaleDateString('en-GB',{weekday:'short',day:'numeric',month:'long'});}\nbtn.addEventListener('click',function(){var out=g('itc-out');out.textContent='';var v=g('itc-date').value;var age=parseInt(g('itc-age').value,10);\nif(!v){out.appendChild(line('Enter the date of your transfer.'));return;}\nvar parts=v.split('-');var t=new Date(parseInt(parts[0],10),parseInt(parts[1],10)-1,parseInt(parts[2],10));\nvar s1=6-age;if(0>s1){s1=0;}\nout.appendChild(line('Transfer day was embryo age '+age+', about '+age+' DPO.'));\nout.appendChild(line('Published window, embryo age 6 to 12: '+fmt(add(t,s1))+' to '+fmt(add(t,12-age))+', which is '+s1+' to '+(12-age)+' days after transfer.',true));\nout.appendChild(line('Published peak, embryo age 8 to 10: '+fmt(add(t,8-age))+' to '+fmt(add(t,10-age))+'.'));\nvar now=new Date();now.setHours(0,0,0,0);var diff=Math.round((now-t)\/86400000);\nif(diff>=0){out.appendChild(line('Today is '+diff+' days after transfer, embryo age about '+(diff+age)+'.'));}\nout.appendChild(line('These are ranges from research groups, not a forecast for your embryo. Nothing here can tell you whether implantation has happened. The test date your clinic gave you is the one that counts.'));});})();<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"is-implantation-timed-the-same-way-in-ivf\">Is implantation timed the same way in IVF?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Closely, and the IVF measurement is, if anything, tighter. Bergh and Navot, in <a href=\"https:\/\/www.fertstert.org\/article\/S0015-0282(16)55259-5\/fulltext\" target=\"_blank\" rel=\"noopener\">Fertility and Sterility in 1992<\/a>, followed 33 pregnancies from egg donation and frozen embryo cycles, where the embryo&#8217;s age is known to the hour, and measured hCG in blood every one to five days with a highly sensitive assay. The first signal appeared at an average embryo age of 7.1 days, within a range of 6.6 to 7.4 days, and its timing followed the embryo&#8217;s age rather than how mature the womb lining was.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is earlier and narrower than the 6 to 12 days from Wilcox, and the difference is mostly method rather than biology. Blood shows hCG sooner than urine, a research assay is more sensitive than anything sold in a pharmacy, and 33 pregnancies is a small group, so treat that precision as indicative. On the shape, the two studies agree: implantation follows the embryo&#8217;s age, and it is over well before any clinic&#8217;s test day. Neither study can say what any of this means for one embryo, and nor can this page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart.png\" alt=\"Timeline of the implantation timeline from egg collection to test day, with day 3 and day 5 transfers marked\" class=\"wp-image-410\" srcset=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart.png 1600w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart-300x169.png 300w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart-1024x576.png 1024w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart-768x432.png 768w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/implantation-timeline-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Embryo age from egg collection. Implantation timing from Wilcox, Baird and Weinberg, 1999, 141 pregnancies, and Bergh and Navot, 1992, 33 IVF pregnancies; test day from Guy&#8217;s and St Thomas&#8217;. Checked 3 October 2026.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-do-clinics-set-test-day-so-long-after-the-window-closes\">Why do clinics set test day so long after the window closes?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because the window is when hCG starts, not when there is enough of it to read reliably, and because of the trigger injection. <a href=\"https:\/\/www.guysandstthomas.nhs.uk\/health-information\/ivf-treatment\/results-your-pregnancy-test\" target=\"_blank\" rel=\"noopener\">Guy&#8217;s and St Thomas&#8217; fertility unit<\/a> asks patients to test 16 days after egg collection, which is embryo age 16: eleven days after a day 5 transfer, thirteen after a day 3. Counting from collection rather than transfer is the tidiest version of the arithmetic on this page, because it gives every embryo from a cycle the same test day whichever day it went back. The same unit warns that the hCG trigger can stay in the blood for 8 to 10 days and give a false positive, the problem covered in the guide to <a href=\"https:\/\/ivfprep.guide\/articles\/home-pregnancy-test-after-ivf\/\">home pregnancy tests after IVF<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/couple-in-waiting-room-discussing-implantation-timeline.jpg\" alt=\"A couple sit together in a clinic waiting room, talking through the implantation timeline and test day.\" class=\"wp-image-407\" srcset=\"https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/couple-in-waiting-room-discussing-implantation-timeline.jpg 1376w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/couple-in-waiting-room-discussing-implantation-timeline-300x167.jpg 300w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/couple-in-waiting-room-discussing-implantation-timeline-1024x572.jpg 1024w, https:\/\/ivfprep.guide\/articles\/wp-content\/uploads\/2026\/10\/couple-in-waiting-room-discussing-implantation-timeline-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Test day is the clinic&#8217;s decision, set well after the implantation window has closed.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/www.hfea.gov.uk\/treatments\/explore-all-treatments\/in-vitro-fertilisation-ivf\/\" target=\"_blank\" rel=\"noopener\">HFEA&#8217;s page on IVF<\/a> gives no number at all. It says embryos go back two to five days after fertilisation, and that &#8220;You&#8217;ll be given a date to do a pregnancy test.&#8221; <a href=\"https:\/\/www.gatesheadhealth.nhs.uk\/resources\/pregnancy-test-bhcg\/\" target=\"_blank\" rel=\"noopener\">Gateshead&#8217;s fertility unit<\/a> asks for its blood test on the allocated day, because the result decides what happens next. Test day, in other words, is a clinic decision, and this site&#8217;s <a href=\"https:\/\/ivfprep.guide\/articles\/frozen-embryo-transfer-timeline\/\">frozen embryo transfer timeline<\/a> puts the usual range at nine to fourteen days after transfer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-test-dates-do-people-report-their-clinics-gave-them\">What test dates do people report their clinics gave them?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To see how much test day varies in practice, we read two public Mumsnet threads from December 2023 and February 2025, 23 replies in all plus the two opening posts, and picked out every clinic test date given in days after a day 5 transfer. These are reports, summarised in our words, not clinic policy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.mumsnet.com\/talk\/infertility\/4954763-when-to-test-post-5-day-transfer\" target=\"_blank\" rel=\"noopener\">a thread from December 2023<\/a>, the opening poster&#8217;s clinic had booked a blood test 9 days after a day 5 blastocyst transfer. One reply had been given 10 days, and another said her clinic advised waiting the full 14.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.mumsnet.com\/talk\/infertility\/5273381-otd-16dp5dtwtf\" target=\"_blank\" rel=\"noopener\">a thread from February 2025<\/a>, titled after a test date 16 days past a day 5 transfer, one reply reported the same 16 days. Another had 12 days after a fresh day 5 transfer and had been told that anything earlier risked a false positive from the trigger. A third had a blood test at 14 days, because the clinic wanted a first number before advising further.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Six dates, from 9 to 16 days after the same kind of transfer. In embryo age that is day 14 to day 21, every one of them comfortably after the 6 to 12 day window in the published data. The spread reflects clinic policy, how long to wait out the trigger and whether to test blood or urine, not biology: the embryos in these threads were all five days old on transfer day. Cutting against the tidy picture, most posters in both threads also described testing at home before their official date, which is a separate question with its own traps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where the accounts agree with the official guidance: every clinic set a fixed date and expected it kept. Where they part company: the threads read a later date as overcaution, while the reasons posters had been given were about the trigger and the type of test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-can-the-implantation-timeline-not-tell-you\">What can the implantation timeline not tell you?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It cannot tell you whether implantation has happened, on which day, or what any sensation means. The window is a range of days on which hCG was first found in other people&#8217;s pregnancies, by daily laboratory tests nobody in the two week wait is having. Nothing you can feel marks it. The evidence on <a href=\"https:\/\/ivfprep.guide\/articles\/signs-of-implantation\/\">signs of implantation after a transfer<\/a> is that the symptoms people list are shared with the progesterone and with cycles that did not work, and <a href=\"https:\/\/ivfprep.guide\/articles\/successful-implantation-without-bleeding\/\">successful transfers with no symptoms at all<\/a> are common, which is exactly why you rarely read about them: nobody posts about nothing happening.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The date that counts is the one your clinic gave you. If you have bleeding, pain or anything else that worries you before then, call your clinic. They know your protocol and this page does not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is 10 DPO the same as 5 days past a day 5 transfer?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Roughly, yes. A day 5 embryo is five days past fertilisation on transfer day, and fertilisation happens within about a day of ovulation, so five days after a day 5 transfer sits close to 10 DPO. Treat the match as accurate to about a day either way.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does a frozen embryo add the time it spent frozen?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Vitrification pauses development, so an embryo is warmed at the age it was frozen. A day 5 blastocyst frozen for three years is still a day 5 blastocyst on transfer day, and the conversion is the same as for a fresh one.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How do I count a day 6 blastocyst?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Subtract six instead of five. The published window of 6 to 12 days of embryo age then runs from transfer day to six days after it, with the peak of days 8 to 10 falling two to four days after transfer.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Why do some clinics count from egg collection instead of transfer?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Because egg collection is day 0 of the embryo&#8217;s age for every embryo from that cycle, so one date works whether it went back on day 3 or day 5. Some NHS units set the test at 16 days after collection for exactly this reason.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can implantation happen later than 12 days?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>None of the 141 pregnancies lasting six weeks or more in the main study showed hCG first appearing later than 12 days after ovulation. That is a range across a research group, which is one reason clinics test after the window rather than during it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is the timeline slower after a day 3 transfer?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. The embryo develops at its own pace either way; a day 3 embryo simply goes back earlier, so the same biological days fall later in the count after transfer. Embryo age 8 to 10 is 5 to 7 days after a day 3 transfer and 3 to 5 after a day 5.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This article is general information, not medical advice, and is not a substitute for care from a qualified healthcare professional. Speak to your doctor about your own situation.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The implantation window every page quotes counts from ovulation. This converts it to days past a day 3, day 5 or day 6 transfer, row by row from the studies that measured it.<\/p>\n","protected":false},"author":1,"featured_media":405,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"Implantation Timeline After a Day 3 or Day 5 Transfer","rank_math_description":"The implantation timeline runs 6 to 12 days after ovulation. After a day 5 transfer that is days 1 to 7, and after a day 3 transfer days 3 to 9.","rank_math_focus_keyword":"implantation timeline","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[2],"tags":[],"class_list":["post-408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-two-week-wait"],"_links":{"self":[{"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/posts\/408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/comments?post=408"}],"version-history":[{"count":4,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/posts\/408\/revisions"}],"predecessor-version":[{"id":422,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/posts\/408\/revisions\/422"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/media\/405"}],"wp:attachment":[{"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/media?parent=408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/categories?post=408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ivfprep.guide\/articles\/wp-json\/wp\/v2\/tags?post=408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}