{"id":5984,"date":"2026-01-17T14:49:35","date_gmt":"2026-01-17T22:49:35","guid":{"rendered":"https:\/\/harvinder.dscloud.me\/blog\/?page_id=5984"},"modified":"2026-01-17T16:38:31","modified_gmt":"2026-01-18T00:38:31","slug":"1031-exchange-45-180-day-calculator","status":"publish","type":"page","link":"https:\/\/harvinder.dscloud.me\/blog\/1031-exchange-45-180-day-calculator\/","title":{"rendered":"45 and 180 Day 1031 Exchange Deadline Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5984\" class=\"elementor elementor-5984\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7c340f0 e-flex e-con-boxed e-con e-parent\" data-id=\"7c340f0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20e1e66 elementor-widget elementor-widget-html\" data-id=\"20e1e66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n<title>45 and 180 Day 1031 Exchange Deadline Calculator | Harv Balu<\/title>\n<meta name=\"description\" content=\"Calculate 45 day identification and 180 day exchange deadlines for a 1031 exchange based on your sale closing date. Educational timing calculator. Presented by Harv Balu, REALTOR\u00ae, HarvRealtor.com.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.harvrealtor.com\/45-180-day-calculator-1031-exchange\" \/>\n<meta property=\"og:type\" content=\"website\" \/>\n<meta property=\"og:title\" content=\"45 and 180 Day 1031 Exchange Deadline Calculator | Harv Balu\" \/>\n<meta property=\"og:description\" content=\"Calculate 45 day identification and 180 day exchange deadlines for a 1031 exchange based on your sale closing date. Educational timing calculator.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.harvrealtor.com\/45-180-day-calculator-1031-exchange\" \/>\n\n<style type=\"text\/css\">\n:root{\n  --ink:#2D2D2D;\n  --muted:#545454;\n  --muted2:#777;\n  --bg:#FFFFFF;\n  --page:#F2F2F2;\n  --border:#D1D1D1;\n  --gold:#D4AF37;\n  --gold2:#B88A1E;\n  --goldSoft:rgba(212,175,55,0.18);\n  --focus:rgba(212,175,55,0.22);\n  --shadow:0 14px 40px rgba(0,0,0,0.08);\n  --shadow2:0 10px 26px rgba(0,0,0,0.08);\n  --radius:16px;\n}\n\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  margin:0;\n  padding:20px;\n  color:var(--muted);\n  display:flex;\n  justify-content:center;\n  background:\n    radial-gradient(900px 520px at 15% -10%, rgba(212,175,55,0.18), rgba(242,242,242,0) 60%),\n    radial-gradient(900px 520px at 90% 0%, rgba(184,138,30,0.12), rgba(242,242,242,0) 55%),\n    var(--page);\n}\n\n.calculator-wrapper{\n  width:100%;\n  max-width:1040px;\n  background:var(--bg);\n  border-radius:var(--radius);\n  box-shadow:var(--shadow);\n  overflow:hidden;\n  border:1px solid rgba(0,0,0,0.06);\n  position:relative;\n}\n.calculator-wrapper, .calculator-wrapper *{max-width:100%}\n\n.calculator-wrapper::before{\n  content:\"\";\n  position:absolute;\n  top:0; left:0; right:0;\n  height:8px;\n  background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold));\n}\n.calculator-wrapper::after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  pointer-events:none;\n  background:radial-gradient(700px 260px at 50% 0%, rgba(212,175,55,0.10), rgba(255,255,255,0) 60%);\n}\n\n.brandbar{\n  padding:14px 18px 0 18px;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n  position:relative;\n  z-index:1;\n}\n.brand-left{\n  display:flex;\n  align-items:center;\n  gap:10px;\n  min-width:0;\n}\n.hb-badge{\n  width:38px;\n  height:38px;\n  border-radius:14px;\n  display:grid;\n  place-items:center;\n  font-weight:950;\n  letter-spacing:0.5px;\n  color:var(--ink);\n  border:1px solid rgba(212,175,55,0.55);\n  background:linear-gradient(180deg,rgba(255,250,235,0.98),rgba(255,255,255,0.98));\n  box-shadow:0 12px 22px rgba(0,0,0,0.10);\n  user-select:none;\n  overflow:hidden;\n}\n.brand-text{\n  display:flex;\n  flex-direction:column;\n  gap:1px;\n  min-width:0;\n}\n.brand-text .name{\n  font-weight:950;\n  color:var(--ink);\n  font-size:0.98rem;\n  line-height:1.15;\n  white-space:nowrap;\n  overflow:hidden;\n  text-overflow:ellipsis;\n}\n.brand-text .site{\n  font-weight:800;\n  color:var(--muted2);\n  font-size:0.82rem;\n  white-space:nowrap;\n  overflow:hidden;\n  text-overflow:ellipsis;\n}\n\n.brand-right a{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  padding:10px 14px;\n  border-radius:999px;\n  border:1px solid var(--border);\n  text-decoration:none;\n  font-weight:900;\n  color:var(--ink);\n  background:linear-gradient(180deg,rgba(212,175,55,0.16),rgba(255,255,255,1));\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);\n  transition:filter 0.2s, transform 0.06s, box-shadow 0.2s;\n  white-space:nowrap;\n}\n.brand-right a:hover{filter:brightness(1.04); box-shadow:0 10px 18px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.8)}\n.brand-right a:active{transform:translateY(1px)}\n\n.calc-header{\n  padding:18px 26px 22px 26px;\n  text-align:center;\n  border-bottom:1px solid rgba(0,0,0,0.06);\n  position:relative;\n  z-index:1;\n}\n.calc-header h2{\n  margin:8px 0 10px 0;\n  font-size:2rem;\n  font-weight:950;\n  color:var(--ink);\n  letter-spacing:0.2px;\n}\n.calc-header p{\n  margin:0 auto;\n  max-width:880px;\n  font-size:0.95rem;\n  line-height:1.6;\n  color:var(--muted);\n}\n\n.calc-body{\n  padding:26px;\n  display:grid;\n  grid-template-columns:1.15fr 0.85fr;\n  gap:22px;\n  align-items:start;\n  position:relative;\n  z-index:1;\n}\n@media (max-width:920px){\n  .calc-body{display:flex;flex-direction:column;gap:18px}\n}\n\n.card{\n  background:#fff;\n  border:1px solid var(--border);\n  border-radius:14px;\n  padding:18px;\n  box-shadow:0 0 0 rgba(0,0,0,0);\n  transition:transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;\n}\n.card:hover{\n  transform:translateY(-1px);\n  box-shadow:var(--shadow2);\n  border-color:rgba(0,0,0,0.10);\n}\n\n.section-title{\n  margin:0 0 14px 0;\n  font-size:1.05rem;\n  font-weight:950;\n  color:var(--ink);\n  display:flex;\n  align-items:center;\n  gap:10px;\n}\n.section-title::before{\n  content:\"\";\n  width:10px;\n  height:10px;\n  border-radius:999px;\n  background:var(--gold);\n  box-shadow:0 0 0 6px var(--goldSoft);\n}\n\n.subtle{\n  font-size:0.86rem;\n  color:var(--muted2);\n  line-height:1.55;\n  margin:0 0 12px 0;\n}\n\n.grid-3{\n  display:grid;\n  grid-template-columns:1fr 1fr 1fr;\n  gap:12px;\n}\n@media (max-width:720px){\n  .grid-3{grid-template-columns:1fr}\n}\n\n.input-group{margin-bottom:14px}\nlabel{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  font-weight:800;\n  margin-bottom:8px;\n  font-size:0.9rem;\n  color:var(--ink);\n  min-height:22px;\n  white-space:nowrap;\n}\n.label-right{\n  font-weight:750;\n  color:var(--muted2);\n  font-size:0.82rem;\n  white-space:nowrap;\n  max-width:240px;\n  overflow:hidden;\n  text-overflow:ellipsis;\n  flex:0 1 auto;\n}\n.hint{\n  margin:6px 0 0 0;\n  font-size:0.82rem;\n  color:var(--muted2);\n  line-height:1.45;\n}\n\nselect, input[type=\"text\"]{\n  width:100%;\n  border:1px solid var(--border);\n  border-radius:12px;\n  padding:12px 12px;\n  font-size:1rem;\n  color:var(--ink);\n  background:#fff;\n  transition:border-color 0.15s, box-shadow 0.15s, transform 0.12s;\n  height:48px;\n}\ninput:focus, select:focus{\n  outline:none;\n  border-color:var(--gold2);\n  box-shadow:0 0 0 4px var(--focus);\n}\n\n.actions-row{\n  display:flex;\n  gap:10px;\n  flex-wrap:wrap;\n  margin-top:10px;\n  align-items:center;\n}\n.pill{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:10px;\n  border:1px solid var(--border);\n  border-radius:999px;\n  padding:0 14px;\n  background:#fff;\n  font-size:0.85rem;\n  color:var(--muted);\n  user-select:none;\n  height:44px;\n  line-height:1;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.75);\n}\n.pill input{width:16px;height:16px;accent-color:var(--gold2);margin:0}\n\n.btn{\n  appearance:none;\n  border:none;\n  border-radius:12px;\n  padding:11px 14px;\n  font-weight:950;\n  cursor:pointer;\n  font-size:0.92rem;\n  transition:transform 0.06s, filter 0.2s, box-shadow 0.2s;\n  height:44px;\n  white-space:nowrap;\n}\n.btn-primary{\n  background:linear-gradient(180deg,rgba(212,175,55,0.44),rgba(212,175,55,0.16));\n  color:var(--ink);\n  border:1px solid rgba(212,175,55,0.55);\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);\n}\n.btn-secondary{\n  background:#fff;\n  color:var(--ink);\n  border:1px solid var(--border);\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);\n}\n.btn:hover{filter:brightness(1.03); box-shadow:0 12px 22px rgba(0,0,0,0.10)}\n.btn:active{transform:translateY(1px)}\n\n.kv{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  padding:12px 12px;\n  border-radius:14px;\n  border:1px solid rgba(0,0,0,0.06);\n  background:linear-gradient(180deg,rgba(255,255,255,1),rgba(0,0,0,0.01));\n  margin-top:10px;\n  transition:transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;\n}\n.kv:hover{\n  transform:translateY(-1px);\n  box-shadow:0 12px 22px rgba(0,0,0,0.08);\n  border-color:rgba(212,175,55,0.40);\n}\n.kv .k{\n  font-weight:900;\n  color:var(--ink);\n  font-size:0.9rem;\n}\n.kv .v{\n  font-weight:950;\n  color:var(--ink);\n  white-space:nowrap;\n}\n.kv .small{\n  font-size:0.8rem;\n  color:var(--muted2);\n  font-weight:800;\n}\n\n.summary-box{\n  background:linear-gradient(180deg,rgba(212,175,55,0.12),rgba(0,0,0,0.02));\n  border:1px solid var(--border);\n  border-radius:14px;\n  padding:18px;\n  text-align:left;\n  position:relative;\n  overflow:hidden;\n}\n.watermark{\n  position:absolute;\n  right:14px;\n  top:14px;\n  font-weight:950;\n  letter-spacing:0.12em;\n  color:rgba(45,45,45,0.10);\n  user-select:none;\n  pointer-events:none;\n  transform:rotate(-6deg);\n}\n.summary-box h3{\n  margin:0 0 10px 0;\n  font-size:1rem;\n  font-weight:950;\n  color:var(--muted);\n  text-align:center;\n}\n.big-result{\n  text-align:center;\n  font-size:1.55rem;\n  font-weight:950;\n  color:var(--ink);\n  margin:8px 0 8px 0;\n  letter-spacing:0.2px;\n}\n.mini-metrics{\n  display:grid;\n  grid-template-columns:1fr;\n  gap:10px;\n  margin-top:10px;\n}\n.metric{\n  background:#fff;\n  border:1px solid var(--border);\n  border-radius:14px;\n  padding:12px 12px;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);\n}\n.metric .k{\n  margin:0 0 6px 0;\n  font-size:0.78rem;\n  color:var(--muted2);\n}\n.metric .v{\n  margin:0;\n  font-size:1rem;\n  font-weight:950;\n  color:var(--ink);\n}\n\n.callout{\n  border:1px solid rgba(212,175,55,0.55);\n  background:linear-gradient(180deg,rgba(255,250,235,0.92),rgba(255,255,255,1));\n  border-radius:14px;\n  padding:12px 12px;\n  color:var(--muted);\n  font-size:0.86rem;\n  line-height:1.55;\n}\n.callout ul{margin:10px 0 0 0; padding-left:18px}\n.callout li{margin:6px 0}\n\n\/* Fix for the \"1031 Exchange timelines\" block:\n   align body text with the section title text (not under the gold dot) *\/\n.article{\n  font-size:0.92rem;\n  line-height:1.7;\n  color:var(--muted);\n  padding-left:20px;\n}\n.article h4{\n  margin:14px 0 8px 0;\n  color:var(--ink);\n  font-size:0.98rem;\n  font-weight:950;\n}\n.article p{margin:10px 0}\n.article ul{margin:10px 0 0 0; padding-left:18px}\n.article li{margin:6px 0}\n.article .inline-strong{font-weight:900;color:var(--ink)}\n.article .warning{\n  margin-top:12px;\n  border:1px solid rgba(184,138,30,0.55);\n  background:linear-gradient(180deg,rgba(212,175,55,0.10),rgba(0,0,0,0.01));\n  border-radius:14px;\n  padding:12px 12px;\n}\n.article .warning .title{\n  font-weight:950;\n  color:var(--ink);\n  margin:0 0 6px 0;\n}\n.article .muted-note{\n  color:var(--muted2);\n  font-size:0.88rem;\n}\n\n.footer-nav{\n  background:#fff;\n  padding:16px 26px 18px 26px;\n  border-top:1px solid rgba(0,0,0,0.06);\n  display:flex;\n  flex-wrap:wrap;\n  gap:12px;\n  justify-content:center;\n  align-items:center;\n  text-align:center;\n}\n.footer-title{\n  width:100%;\n  margin:0 0 6px 0;\n  font-size:0.85rem;\n  font-weight:850;\n  color:var(--muted2);\n}\n.footer-nav a{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  padding:10px 14px;\n  border-radius:999px;\n  border:1px solid var(--border);\n  text-decoration:none;\n  font-weight:900;\n  color:var(--ink);\n  background:linear-gradient(180deg,rgba(212,175,55,0.12),rgba(255,255,255,1));\n  transition:filter 0.2s, transform 0.06s, box-shadow 0.2s;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,0.75);\n}\n.footer-nav a:hover{filter:brightness(1.03); box-shadow:0 12px 22px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.82)}\n.footer-nav a:active{transform:translateY(1px)}\n\n.disclaimer{\n  background:#fff;\n  padding:18px 26px 22px 26px;\n  font-size:0.78rem;\n  color:#8A8A8A;\n  border-top:1px solid rgba(0,0,0,0.06);\n  line-height:1.6;\n}\n\n.back-top-pill{\n  position: fixed;\n  right: calc(18px + env(safe-area-inset-right, 0px));\n  bottom: calc(18px + env(safe-area-inset-bottom, 0px));\n  z-index: 999;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 12px 20px;\n  min-width: 84px;\n  border-radius: 999px;\n  border: 1px solid rgba(212,175,55,0.55);\n  background: linear-gradient(180deg, rgba(255,250,235,0.94), rgba(255,255,255,0.94));\n  color: var(--ink);\n  text-decoration: none;\n  font-weight: 950;\n  letter-spacing: 0.01em;\n  box-shadow: 0 14px 24px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.75);\n  opacity: 0;\n  pointer-events: none;\n  transform: translateY(12px) scale(0.98);\n  transition: opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;\n  user-select: none;\n  -webkit-tap-highlight-color: transparent;\n}\n.back-top-pill.show{\n  opacity: 1;\n  pointer-events: auto;\n  transform: translateY(0) scale(1);\n}\n.back-top-pill.auto-hide{\n  opacity: 0;\n  pointer-events: none;\n  transform: translateY(12px) scale(0.98);\n}\n.back-top-pill:hover{\n  border-color: rgba(212,175,55,0.70);\n  background: linear-gradient(180deg, rgba(255,246,214,0.92), rgba(255,255,255,0.94));\n  box-shadow: 0 18px 32px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.80);\n}\n.back-top-pill:focus-visible{\n  outline: none;\n  border-color: rgba(212,175,55,0.75);\n  box-shadow: 0 18px 32px rgba(0,0,0,0.12), 0 0 0 4px var(--focus), inset 0 1px 0 rgba(255,255,255,0.80);\n}\n\n\/* Mobile alignment *\/\n@media (max-width: 560px){\n  body{padding:12px}\n  .calc-header h2{font-size:1.7rem}\n  label{\n    flex-direction:column;\n    align-items:flex-start;\n    justify-content:flex-start;\n    gap:4px;\n    white-space:normal;\n    min-height:0;\n  }\n  .label-right{\n    max-width:none;\n    white-space:normal;\n    overflow:visible;\n    text-overflow:unset;\n  }\n  .actions-row .btn{width:100%}\n  .actions-row .pill{width:100%;justify-content:flex-start}\n  .article{padding-left:0}\n  .back-top-pill{\n    right: calc(12px + env(safe-area-inset-right, 0px));\n    bottom: calc(12px + env(safe-area-inset-bottom, 0px));\n    padding: 11px 18px;\n    min-width: 78px;\n  }\n}\n@media (prefers-reduced-motion: reduce){\n  .card, .kv, .btn, .back-top-pill{transition:none}\n}\n<\/style>\n<\/head>\n\n<body>\n<a id=\"top\" style=\"position:absolute;top:0;left:0;visibility:hidden;\"><\/a>\n\n<div class=\"calculator-wrapper\">\n  <div class=\"brandbar\">\n    <div class=\"brand-left\">\n      <div aria-hidden=\"true\" class=\"hb-badge\">\n        <img decoding=\"async\" alt=\"\" src=\"https:\/\/www.harvrealtor.com\/files\/u137069\/HB-Logo-all-gold%20102825-transparent.png\" style=\"width:33px;height:33px;\" \/>\n      <\/div>\n      <div class=\"brand-text\">\n        <div class=\"name\">Harv Balu<\/div>\n        <div class=\"site\">HarvRealtor.com<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"brand-right\">\n      <a href=\"https:\/\/www.harvrealtor.com\" rel=\"noopener\" target=\"_blank\">Home<\/a>\n    <\/div>\n  <\/div>\n\n  <div class=\"calc-header\">\n    <h2>45 and 180 Day Calculator<\/h2>\n    <p>Use this to estimate two key 1031 exchange timing deadlines based on your sale closing date. This tool shows the 45 day identification deadline and the 180 day exchange deadline using simple calendar day counting. Always confirm your exact dates with your qualified intermediary and your tax advisor.<\/p>\n  <\/div>\n\n  <div class=\"calc-body\">\n    <div>\n      <div class=\"card\">\n        <div class=\"section-title\">Enter the sale closing date<\/div>\n        <p class=\"subtle\">Choose the month, day, and year. Then select Get date to calculate your deadlines.<\/p>\n\n        <div class=\"grid-3\">\n          <div class=\"input-group\">\n            <label for=\"monthSelect\">Month <span class=\"label-right\">Closing month<\/span><\/label>\n            <select aria-label=\"Month\" id=\"monthSelect\"><\/select>\n          <\/div>\n\n          <div class=\"input-group\">\n            <label for=\"daySelect\">Day <span class=\"label-right\">Closing day<\/span><\/label>\n            <select aria-label=\"Day\" id=\"daySelect\"><\/select>\n          <\/div>\n\n          <div class=\"input-group\">\n            <label for=\"yearSelect\">Year <span class=\"label-right\">Closing year<\/span><\/label>\n            <select aria-label=\"Year\" id=\"yearSelect\"><\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"actions-row\">\n          <button class=\"btn btn-primary\" id=\"getDateBtn\" type=\"button\">Get date<\/button>\n          <label class=\"pill\"><input checked=\"checked\" id=\"autoUpdate\" type=\"checkbox\" \/> Auto update<\/label>\n          <button class=\"btn btn-secondary\" id=\"todayBtn\" type=\"button\">Use today<\/button>\n          <button class=\"btn btn-secondary\" id=\"resetBtn\" type=\"button\">Reset<\/button>\n        <\/div>\n\n        <div class=\"hint\" style=\"margin-top:10px;\">Tip: if you close late at night, confirm how your intermediary defines the closing date for counting.<\/div>\n\n        <div class=\"kv\" style=\"margin-top:14px;\">\n          <div>\n            <div class=\"k\">Closing date selected<\/div>\n            <div class=\"small\">Relinquished property sale closing date<\/div>\n          <\/div>\n          <div class=\"v\" id=\"closeDateOut\">Not set<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"card\" style=\"margin-top:16px;\">\n        <div class=\"section-title\">Deadline results<\/div>\n\n        <div class=\"kv\">\n          <div>\n            <div class=\"k\">45 day identification deadline<\/div>\n            <div class=\"small\">Ends at midnight of<\/div>\n          <\/div>\n          <div class=\"v\" id=\"idDeadlineOut\">Not set<\/div>\n        <\/div>\n\n        <div class=\"kv\">\n          <div>\n            <div class=\"k\">180 day exchange deadline<\/div>\n            <div class=\"small\">Ends on<\/div>\n          <\/div>\n          <div class=\"v\" id=\"exDeadlineOut\">Not set<\/div>\n        <\/div>\n\n        <div class=\"hint\" style=\"margin-top:10px;\">If your tax return due date including extensions is earlier than 180 days, your real deadline can be earlier. Confirm with your CPA and qualified intermediary.<\/div>\n      <\/div>\n\n      <div class=\"card\" style=\"margin-top:16px;\">\n        <div class=\"section-title\">How the timing works<\/div>\n        <div class=\"callout\">\n          From the closing on the sale of the relinquished property, an exchanger must:\n          <ul>\n            <li>Identify potential replacement properties within 45 calendar days<\/li>\n            <li>Close on replacement properties within 180 calendar days, or by the tax return due date including extensions, whichever is earlier<\/li>\n          <\/ul>\n          This calculator does not model tax return due date limits. It simply adds 45 days and 180 days to your closing date.\n        <\/div>\n      <\/div>\n  <div class=\"card\" style=\"margin-top:16px;\">\n        <div class=\"section-title\">How the timing works<\/div>\n        <div class=\"callout\">\n         Mastering the 45 and 180 day rules<\/span>. In the world of real estate investing, the 1031 Exchange is one of the most powerful tools available to build wealth. By allowing you to swap one investment property for another, you can defer capital gains taxes and keep your equity working for you.<\/p>\n          <p>However, the IRS is strict about how this process works. It is not an open ended transaction. It is a race against the clock.<\/p>\n          <p>If you are planning to sell a property and perform an exchange, you must understand two non negotiable deadlines: the Identification Period and the Exchange Period\n        <\/div>\n      <\/div>\n      \n      <div class=\"card\" style=\"margin-top:16px;\">\n        <div class=\"section-title\">1031 Exchange timelines<\/div>\n        <div class=\"article\">\n          <p><span class=\"inline-strong\">Mastering the 45 and 180 day rules<\/span>. In the world of real estate investing, the 1031 Exchange is one of the most powerful tools available to build wealth. By allowing you to swap one investment property for another, you can defer capital gains taxes and keep your equity working for you.<\/p>\n          <p>However, the IRS is strict about how this process works. It is not an open ended transaction. It is a race against the clock.<\/p>\n          <p>If you are planning to sell a property and perform an exchange, you must understand two non negotiable deadlines: the Identification Period and the Exchange Period.<\/p>\n\n          <h4>1. The 45 day identification rule<\/h4>\n          <p>The clock starts ticking the day you close on the sale of your relinquished property.<\/p>\n          <p>From that closing date, you have exactly 45 calendar days to identify potential replacement properties.<\/p>\n          <p><span class=\"inline-strong\">What this means<\/span>: you must formally submit a list of properties you intend to buy to your Qualified Intermediary.<\/p>\n          <p><span class=\"inline-strong\">The trap<\/span>: this is not 45 business days. Weekends and holidays count. If the 45th day falls on a Sunday or a holiday, the deadline usually stands. Assume no grace period and confirm with your Qualified Intermediary.<\/p>\n\n          <h4>2. The 180 day exchange rule<\/h4>\n          <p>To successfully complete the tax deferral, you must close on the purchase of your new property within 180 calendar days.<\/p>\n          <p><span class=\"inline-strong\">What this means<\/span>: you must take ownership of the replacement property you identified earlier.<\/p>\n          <p><span class=\"inline-strong\">The calculation<\/span>: this 180 day count runs concurrently with the 45 day period. It starts on the same day you sold your original property.<\/p>\n\n          <div class=\"warning\">\n            <p class=\"title\">Crucial warning<\/p>\n            <p class=\"muted-note\">The deadline is 180 days or the due date of your income tax return including extensions for the year the property was sold, whichever is earlier.<\/p>\n            <p class=\"muted-note\">Example: if you sell in December, 180 days may extend into June. If you file taxes on April 15th without an extension, your exchange deadline effectively becomes April 15th.<\/p>\n          <\/div>\n\n          <h4>How to calculate your dates<\/h4>\n          <ul>\n            <li>Day 0 is the closing date of your sale<\/li>\n            <li>Day 1 is the day immediately following the closing<\/li>\n            <li>Count every single day on the calendar including weekends and holidays<\/li>\n          <\/ul>\n\n          <h4>Using the calculator<\/h4>\n          <p>You can use the tool on this page to estimate these two specific dates based on your sale closing date. It serves as a helpful guide to visualize your window of opportunity.<\/p>\n          <p class=\"muted-note\">Note: the calculator simply adds 45 and 180 days to your input date. It does not model tax return due date limits.<\/p>\n\n          <h4>Final thoughts<\/h4>\n          <p>Missing a deadline by even one day can disqualify your entire exchange, resulting in an immediate tax bill. Tools and calculators help with planning, but they are estimates. Always confirm your timeline with your qualified intermediary and your tax advisor.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div>\n      <div class=\"card summary-box\">\n        <div class=\"watermark\">HARVREALTOR<\/div>\n        <h3>Snapshot<\/h3>\n\n        <div class=\"big-result\" id=\"snapshotTop\">Enter a closing date<\/div>\n\n        <div class=\"mini-metrics\">\n          <div class=\"metric\">\n            <p class=\"k\">Closing date<\/p>\n            <p class=\"v\" id=\"snapClose\">Not set<\/p>\n          <\/div>\n\n          <div class=\"metric\">\n            <p class=\"k\">45 day deadline<\/p>\n            <p class=\"v\" id=\"snap45\">Not set<\/p>\n          <\/div>\n\n          <div class=\"metric\">\n            <p class=\"k\">180 day deadline<\/p>\n            <p class=\"v\" id=\"snap180\">Not set<\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"footer-nav\">\n    <p class=\"footer-title\">More helpful tools<\/p>\n    <a href=\"https:\/\/www.harvrealtor.com\/capital-gains-calculator-real-estate-1031\" rel=\"noopener\" target=\"_blank\">Capital gains calculator for 1031 planning<\/a>\n    <a href=\"https:\/\/www.harvrealtor.com\/calculator\" rel=\"noopener\" target=\"_blank\">Mortgage calculator<\/a>\n    <a href=\"https:\/\/www.harvrealtor.com\/PropertyTax\" rel=\"noopener\" target=\"_blank\">Property tax calculator<\/a>\n    <a href=\"https:\/\/www.harvrealtor.com\/HELOC\" rel=\"noopener\" target=\"_blank\">HELOC calculator<\/a>\n    <a href=\"https:\/\/harvinder.dscloud.me\/blog\/mortgage-rate-history-since-1971\/\" rel=\"noopener\" target=\"_blank\">Mortgage rate history since 1971<\/a>\n    <a href=\"https:\/\/harvinder.dscloud.me\/blog\/03\/22\/2025\/property-taxes\/\" rel=\"noopener\" target=\"_blank\">Property taxes Bay Area 2025<\/a>\n    <a href=\"https:\/\/harvinder.dscloud.me\/blog\/11\/17\/2024\/pre-approval-home-buying\/\" rel=\"noopener\" target=\"_blank\">Pre approval guide<\/a>\n    <a href=\"https:\/\/harvinder.dscloud.me\/blog\/05\/21\/2025\/foreclosure-law-ab-2424\/\" rel=\"noopener\" target=\"_blank\">Foreclosure law AB 2424<\/a>\n    <a href=\"https:\/\/harvinder.dscloud.me\/blog\/02\/20\/2024\/glossary-of-real-estate-terms\/\" rel=\"noopener\" target=\"_blank\">Real estate glossary<\/a>\n    <a href=\"https:\/\/www.harvrealtor.com\/bay-area-city-guide-east-bay-south-bay\" rel=\"noopener\" target=\"_blank\" title=\"City guide for East Bay and South Bay\">Bay Area city guide<\/a>\n  <\/div>\n\n  <div class=\"disclaimer\">\n    Disclaimer. This calculator is for educational and estimating purposes only. It is not tax advice, legal advice, accounting advice, or a substitute for professional guidance. 1031 exchange timing rules can be strict and can be affected by additional requirements, including the tax return due date including extensions. Always confirm deadlines, identification rules, and documentation requirements with your qualified intermediary and your tax advisor before acting. Presented by Harv Balu, REALTOR&reg;. HarvRealtor.com.\n  <\/div>\n\n  <a aria-label=\"Top\" class=\"back-top-pill\" href=\"#top\" id=\"backToTop\"><span>Top<\/span><\/a>\n<\/div>\n\n<script>\n(function(){\n  const pill = document.getElementById(\"backToTop\");\n  if(!pill) return;\n  const SHOW_AT = 420;\n  let lastY = window.scrollY || 0;\n  let stopTimer = null;\n\n  function setBaseVisibility(){\n    const y = window.scrollY || document.documentElement.scrollTop || 0;\n    if(y < SHOW_AT){\n      pill.classList.remove(\"show\");\n      pill.classList.remove(\"auto-hide\");\n      return false;\n    }\n    pill.classList.add(\"show\");\n    return true;\n  }\n\n  function onScroll(){\n    const y = window.scrollY || document.documentElement.scrollTop || 0;\n    const baseVisible = setBaseVisibility();\n    const movingDown = y > lastY + 2;\n    const movingUp = y < lastY - 2;\n\n    if(baseVisible){\n      if(movingDown) pill.classList.add(\"auto-hide\");\n      if(movingUp) pill.classList.remove(\"auto-hide\");\n    }\n    lastY = y;\n\n    if(stopTimer) clearTimeout(stopTimer);\n    stopTimer = setTimeout(() => {\n      const stillVisible = setBaseVisibility();\n      if(stillVisible) pill.classList.remove(\"auto-hide\");\n    }, 180);\n  }\n\n  pill.addEventListener(\"click\", (e) => {\n    e.preventDefault();\n    window.scrollTo({ top: 0, behavior: \"smooth\" });\n    try{history.replaceState(null, \"\", window.location.pathname + window.location.search);}catch(err){}\n    pill.classList.remove(\"auto-hide\");\n  });\n\n  if(document.readyState === \"loading\"){\n    document.addEventListener(\"DOMContentLoaded\", () => {setBaseVisibility();onScroll();});\n  } else {\n    setBaseVisibility();onScroll();\n  }\n\n  window.addEventListener(\"scroll\", onScroll, { passive: true });\n})();\n<\/script>\n\n<script>\n(function () {\n  function ready(fn){\n    if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", fn);\n    else fn();\n  }\n\n  ready(function () {\n    const monthSelect = document.getElementById(\"monthSelect\");\n    const daySelect = document.getElementById(\"daySelect\");\n    const yearSelect = document.getElementById(\"yearSelect\");\n\n    const getDateBtn = document.getElementById(\"getDateBtn\");\n    const todayBtn = document.getElementById(\"todayBtn\");\n    const resetBtn = document.getElementById(\"resetBtn\");\n    const autoUpdate = document.getElementById(\"autoUpdate\");\n\n    const closeDateOut = document.getElementById(\"closeDateOut\");\n    const idDeadlineOut = document.getElementById(\"idDeadlineOut\");\n    const exDeadlineOut = document.getElementById(\"exDeadlineOut\");\n\n    const snapshotTop = document.getElementById(\"snapshotTop\");\n    const snapClose = document.getElementById(\"snapClose\");\n    const snap45 = document.getElementById(\"snap45\");\n    const snap180 = document.getElementById(\"snap180\");\n\n    const months = [\n      \"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\n      \"July\",\"August\",\"September\",\"October\",\"November\",\"December\"\n    ];\n\n    function formatLongDate(d){\n      if(!(d instanceof Date) || isNaN(d.getTime())) return \"Not set\";\n      return d.toLocaleDateString(\"en-US\", { year:\"numeric\", month:\"long\", day:\"numeric\" });\n    }\n\n    function daysInMonth(year, monthIndex){\n      return new Date(year, monthIndex + 1, 0).getDate();\n    }\n\n    function buildMonthOptions(){\n      monthSelect.innerHTML = \"\";\n      months.forEach((m, idx) => {\n        const opt = document.createElement(\"option\");\n        opt.value = String(idx);\n        opt.textContent = m;\n        monthSelect.appendChild(opt);\n      });\n    }\n\n    function buildYearOptions(centerYear){\n      yearSelect.innerHTML = \"\";\n      const start = centerYear - 5;\n      const end = centerYear + 10;\n      for(let y = start; y <= end; y++){\n        const opt = document.createElement(\"option\");\n        opt.value = String(y);\n        opt.textContent = String(y);\n        yearSelect.appendChild(opt);\n      }\n    }\n\n    function rebuildDays(){\n      const m = parseInt(monthSelect.value, 10);\n      const y = parseInt(yearSelect.value, 10);\n      const maxDay = daysInMonth(y, m);\n      const current = parseInt(daySelect.value || \"1\", 10);\n\n      daySelect.innerHTML = \"\";\n      for(let d = 1; d <= maxDay; d++){\n        const opt = document.createElement(\"option\");\n        opt.value = String(d);\n        opt.textContent = String(d);\n        daySelect.appendChild(opt);\n      }\n      daySelect.value = String(Math.min(current, maxDay));\n    }\n\n    function getSelectedDate(){\n      const m = parseInt(monthSelect.value, 10);\n      const d = parseInt(daySelect.value, 10);\n      const y = parseInt(yearSelect.value, 10);\n      const dt = new Date(y, m, d);\n      if(isNaN(dt.getTime())) return null;\n      const matches = dt.getFullYear() === y && dt.getMonth() === m && dt.getDate() === d;\n      return matches ? dt : null;\n    }\n\n    function addDays(dateObj, days){\n      const d = new Date(dateObj.getTime());\n      d.setDate(d.getDate() + days);\n      return d;\n    }\n\n    function updateUI(){\n      const close = getSelectedDate();\n      if(!close){\n        closeDateOut.textContent = \"Not set\";\n        idDeadlineOut.textContent = \"Not set\";\n        exDeadlineOut.textContent = \"Not set\";\n        snapClose.textContent = \"Not set\";\n        snap45.textContent = \"Not set\";\n        snap180.textContent = \"Not set\";\n        snapshotTop.textContent = \"Enter a closing date\";\n        return;\n      }\n\n      const idDeadline = addDays(close, 45);\n      const exDeadline = addDays(close, 180);\n\n      const closeText = formatLongDate(close);\n      const idText = formatLongDate(idDeadline);\n      const exText = formatLongDate(exDeadline);\n\n      closeDateOut.textContent = closeText;\n      idDeadlineOut.textContent = idText;\n      exDeadlineOut.textContent = exText;\n\n      snapClose.textContent = closeText;\n      snap45.textContent = idText;\n      snap180.textContent = exText;\n\n      snapshotTop.textContent = \"Deadlines calculated\";\n    }\n\n    function setDateTo(d){\n      monthSelect.value = String(d.getMonth());\n      const y = d.getFullYear();\n\n      const existingYearOption = Array.from(yearSelect.options).some(o => parseInt(o.value, 10) === y);\n      if(!existingYearOption){\n        buildYearOptions(y);\n      }\n      yearSelect.value = String(y);\n      rebuildDays();\n      daySelect.value = String(d.getDate());\n    }\n\n    function wireAuto(){\n      const auto = !!autoUpdate.checked;\n      if(auto) updateUI();\n    }\n\n    buildMonthOptions();\n\n    const now = new Date();\n    buildYearOptions(now.getFullYear());\n\n    setDateTo(now);\n    updateUI();\n\n    monthSelect.addEventListener(\"change\", () => { rebuildDays(); wireAuto(); });\n    yearSelect.addEventListener(\"change\", () => { rebuildDays(); wireAuto(); });\n    daySelect.addEventListener(\"change\", () => { wireAuto(); });\n\n    getDateBtn.addEventListener(\"click\", updateUI);\n\n    todayBtn.addEventListener(\"click\", () => {\n      const t = new Date();\n      setDateTo(t);\n      updateUI();\n    });\n\n    resetBtn.addEventListener(\"click\", () => {\n      const t = new Date();\n      setDateTo(t);\n      autoUpdate.checked = true;\n      updateUI();\n    });\n\n    autoUpdate.addEventListener(\"change\", () => { if(autoUpdate.checked) updateUI(); });\n  });\n})();\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>45 and 180 Day 1031 Exchange Deadline Calculator | Harv Balu Harv Balu HarvRealtor.com Home 45 and 180 Day Calculator Use this to estimate two key 1031 exchange timing deadlines based on your sale closing date. This tool shows the 45 day identification deadline and the 180 day exchange deadline using simple calendar day counting. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5998,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","footnotes":""},"class_list":["post-5984","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/pages\/5984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/comments?post=5984"}],"version-history":[{"count":14,"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/pages\/5984\/revisions"}],"predecessor-version":[{"id":6003,"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/pages\/5984\/revisions\/6003"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/media\/5998"}],"wp:attachment":[{"href":"https:\/\/harvinder.dscloud.me\/blog\/wp-json\/wp\/v2\/media?parent=5984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}