{
  "name": "Building permit expiry, progress and renewal rules by jurisdiction",
  "description": "How long a building permit stays valid, what keeps it alive, what it costs to renew once it has lapsed, and how the local rule differs from the model-code section it amends. One record is one rule for one jurisdiction, placed next to the adopted code section it replaces. Answers 'how long is a building permit valid before it expires', 'does an inspection reset the permit clock', 'my building permit expired what do I do', 'building permit renewal fee after expiration', and 'IRC 105.5 permit expiration'. The memorised answer is 180 days and it is wrong in the places people ask about: unincorporated San Diego County allows two years to start work, then requires a passed inspection every 180 days, with an outer life of three years and renewal at one-half of current permit fees \u2014 one-quarter if only a final inspection remains. DC's adopted code gives one year to begin, with a 180-day carve-out for residential work and no more than four extensions per permit.",
  "url": "https://referencesource.org/building-permit-validity-and-renewal/",
  "licence": "Facts extracted from freely published municipal and county building department pages and from published jurisdiction-amended code sections, with a short attributed quote and a link back. Expiry periods and renewal fee bases are facts about a legal requirement, not reproductions of a standards developer's expression. UpCodes is used only for the amended-section value with a short attributed quote, never as a bulk source: its product IS the compilation of code text and it is in active litigation with ICC and ASTM over exactly that. Prefer the jurisdiction's own publication wherever it exists.",
  "last_verified": "2026-08-11",
  "stale_after": "2027-08-11",
  "sources": [
    "https://up.codes/s/expiration-of-permit",
    "https://www.sandiegocounty.gov/content/sdc/pds/bldg-perm-exp.html",
    "https://www.crevecoeurmo.gov/86/Sequence-of-Inspections"
  ],
  "records": [
    {
      "jurisdiction": "District of Columbia",
      "source_type": "adopted code",
      "permit_type": "building permit",
      "commencement_deadline": "null and void if the authorized work is not begun and inspected pursuant to Section 109 within one year after the permit is issued",
      "inactivity_window": "if the authorized work is suspended, abandoned or not inspected pursuant to Section 109 for a period of one year",
      "code_citation": "105.5",
      "id": "building-permit-adopted-code-district-of-columbia",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/building-permit-adopted-code-district-of-columbia/",
      "source": "https://up.codes/s/expiration-of-permit",
      "source_quote": "permit issued shall become null and void if the authorized work is not begun and inspected pursuant to <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/new_1/administration-and-enforcement#new_109> Section 109 within one year after the <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit is issued, or if the authorized work is suspended, abandoned or not inspected pursuant to <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/new_1/administration-and-enforcement#new_109> Section 109 for a period of one year. In determining whether work has been suspended or abandoned under this Section 105.5, including exceptions thereto",
      "verified_fields": [
        "code_citation",
        "commencement_deadline",
        "inactivity_window",
        "jurisdiction"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "San Diego County",
      "source_type": "department page",
      "permit_type": "building permit",
      "commencement_deadline": "it will expire if the work is not started within two years. To meet this requirement, the permittee must call for, and pass a valid inspection",
      "inactivity_window": "passing a valid inspection at least every 180 days (six months)",
      "maximum_life": "all work must be completed within three years",
      "renewal_fee_basis": "One-half of current permit fees are due upon renewal unless progress has been made (and approved) so that only a final inspection is needed, then one-quarter of current permit fees are due",
      "code_citation": "Sec. 91.1.105.5.2",
      "id": "building-permit-department-page-san-diego-county",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/building-permit-department-page-san-diego-county/",
      "source": "https://www.sandiegocounty.gov/content/sdc/pds/bldg-perm-exp.html",
      "source_quote": "San Diego County's Building Code sets timeline requirements when building permits are issued. The work authorized by the permit must begin and demonstrate progress by certain dates, and all work must be completed within three years. From the day the permit is issued, it will expire if the work is not started within two years. To meet this requirement, the permittee must call for, and pass a valid inspection. If no inspection has been scheduled and passed within the first two years, the permit becomes null and void. Once the work has started and the first required inspection has been passed, the permittee must show that the work is progressing by passing a valid inspection at least every 180 days (six months). If these progress requirements are not met the permit will expire. This applies regardless of when the first inspection took place within the first two years of the life of the permit. To renew an expired building permit that has received and passed at least one valid inspection, but has not exceeded the three-year mark: The plans cannot be changed, nor changes proposed. One-half of current permit fees are due upon renewal unless progress has been made (and approved) so that only a final inspection is needed, then one-quarter of current permit fees are due. ( Sec. 91.1.105.5.2 of the",
      "verified_fields": [
        "code_citation",
        "commencement_deadline",
        "inactivity_window",
        "jurisdiction",
        "maximum_life",
        "renewal_fee_basis"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "District of Columbia",
      "source_type": "adopted code",
      "permit_type": "building permit \u2014 extension of permit",
      "extension_rule": "extensions of time not to exceed 180 days per extension. Not more than four extensions of time will be granted to any permit. The code official may issue an extension for a period of 365 days upon demonstration of need at the time of extension application, but, in no event, shall the aggregate extensions of time exceed two years",
      "code_citation": "105.5.1 Extension of Permit",
      "id": "building-permit-extension-of-permit-adopted-code-district-of-columbia",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/building-permit-extension-of-permit-adopted-code-district-of-columbia/",
      "source": "https://up.codes/s/expiration-of-permit",
      "source_quote": "105.5.1 Extension of Permit A <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit may be extended upon written request, prior to expiration and upon a showing of good cause. The code official is authorized to grant extensions of time not to exceed 180 days per extension. Not more than four extensions of time will be granted to any <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit . The code official may issue an extension for a period of 365 days upon demonstration of need at the time of extension application, but, in no event, shall the aggregate extensions of time exceed two years.",
      "verified_fields": [
        "code_citation",
        "extension_rule",
        "jurisdiction"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "District of Columbia",
      "source_type": "adopted code",
      "permit_type": "premises deemed to be unsafe or unfit for human occupancy, or abandoned or deteriorated property",
      "commencement_deadline": "invalid if the authorized work is not begun within 30 days after the permit is issued",
      "maximum_life": "completed within six months after the date work is begun",
      "extension_rule": "unless the permit is extended in accordance with Section 105.5.1",
      "code_citation": "105.5.1",
      "id": "premises-deemed-to-be-unsafe-or-unfit-for-human-occupancy-or-abandoned-or-deteri-adopted-code-district-of-columbia",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/premises-deemed-to-be-unsafe-or-unfit-for-human-occupancy-or-abandoned-or-deteri-adopted-code-district-of-columbia/",
      "source": "https://up.codes/s/expiration-of-permit",
      "source_quote": "permit issued for work on premises, including any buildings or <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#other_structures_> other structures , that have been deemed to be unsafe or unfit for human occupancy (in accordance with <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/new_1/administration-and-enforcement#new_115> Section 115 ), or abandoned or deteriorated property [in accordance with D.C. Official Code \u00a7 42-3171.01 et seq.(2012 Repl.)], shall become invalid if the authorized work is not begun within 30 days after the <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit is issued and completed within six months after the date work is begun, unless the <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit is extended in accordance with <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/new_1/administration-and-enforcement#new_105.5.1> Section 105.5.1 .",
      "verified_fields": [
        "code_citation",
        "commencement_deadline",
        "extension_rule",
        "jurisdiction",
        "maximum_life"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "District of Columbia",
      "source_type": "adopted code",
      "permit_type": "Residential Code",
      "commencement_deadline": "invalid if the authorized work is not begun within 180 days after the permit is issued",
      "inactivity_window": "suspended or abandoned for a period of 180 days after the date work is begun as evidenced by lack of continuous work",
      "id": "residential-code-adopted-code-district-of-columbia",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/residential-code-adopted-code-district-of-columbia/",
      "source": "https://up.codes/s/expiration-of-permit",
      "source_quote": "permit issued for construction regulated by the <https://up.codes/viewer/district-of-columbia/irc-2012> Residential Code shall become invalid if the authorized work is not begun within 180 days after the <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit is issued, or if the authorized work is suspended or abandoned for a period of 180 days after the date work is begun as evidenced by lack of continuous work.",
      "verified_fields": [
        "commencement_deadline",
        "inactivity_window",
        "jurisdiction"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "District of Columbia",
      "source_type": "adopted code",
      "permit_type": "Special Flood Hazard Area",
      "commencement_deadline": "invalid if the authorized work is not begun within 180 days after the permit is issued",
      "inactivity_window": "suspended or abandoned for a period of 180 days after the date work is begun as evidenced by a lack of continuous work",
      "id": "special-flood-hazard-area-adopted-code-district-of-columbia",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/special-flood-hazard-area-adopted-code-district-of-columbia/",
      "source": "https://up.codes/s/expiration-of-permit",
      "source_quote": "permit issued for work that is to occur on land designated as a <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#special_flood_hazard_area_> Special Flood Hazard Area on the Federal Emergency Management Agency's Flood Insurance Rate Map shall become invalid if the authorized work is not begun within 180 days after the <https://up.codes/viewer/district-of-columbia/ibc-2012/chapter/2/definitions#permit_> permit is issued, or if the authorized work is suspended or abandoned for a period of 180 days after the date work is begun as evidenced by a lack of continuous work.",
      "verified_fields": [
        "commencement_deadline",
        "inactivity_window",
        "jurisdiction"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    },
    {
      "jurisdiction": "Creve Coeur, MO",
      "source_type": "department page",
      "permit_type": "temporary certificate of occupancy",
      "extension_rule": "may be renewed, at the discretion of the building official, every 30 days",
      "renewal_fee_basis": "a fee of $65 each month until the final building inspection is approved",
      "id": "temporary-certificate-of-occupancy-department-page-creve-coeur-mo",
      "url": "https://referencesource.org/building-permit-validity-and-renewal/temporary-certificate-of-occupancy-department-page-creve-coeur-mo/",
      "source": "https://www.crevecoeurmo.gov/86/Sequence-of-Inspections",
      "source_quote": "temporary certificate of occupancy may be issued prior to completion of the entire work covered by the permit, providing that such portion of the building can be occupied safely prior to full completion of the project, without endangering life or public welfare. The temporary certificate of occupancy may be renewed, at the discretion of the building official, every 30 days for a fee of $65 each month until the final building inspection is approved.",
      "verified_fields": [
        "extension_rule",
        "jurisdiction",
        "renewal_fee_basis"
      ],
      "derived_fields": [
        "permit_type",
        "source_type"
      ]
    }
  ]
}