Civil Rights Statute of Limitations Calculator

ANALife Services AuthorityNational Calculator Authority›Civil Rights Statute of Limitations Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Civil Rights Statute of Limitations Calculator

Calculate the filing deadline for civil rights claims under 42 U.S.C. § 1983 and related federal statutes based on your state's personal injury limitations period, plus key tolling rules.

State of Incident

-- Select State -- Alabama (2 years) Alaska (2 years) Arizona (2 years) Arkansas (3 years) California (2 years) Colorado (2 years) Connecticut (3 years) Delaware (2 years) Florida (4 years) Georgia (2 years) Hawaii (2 years) Idaho (2 years) Illinois (2 years) Indiana (2 years) Iowa (2 years) Kansas (2 years) Kentucky (1 year) Louisiana (1 year) Maine (6 years) Maryland (3 years) Massachusetts (3 years) Michigan (3 years) Minnesota (6 years) Mississippi (3 years) Missouri (5 years) Montana (3 years) Nebraska (4 years) Nevada (2 years) New Hampshire (3 years) New Jersey (2 years) New Mexico (3 years) New York (3 years) North Carolina (3 years) North Dakota (6 years) Ohio (2 years) Oklahoma (2 years) Oregon (2 years) Pennsylvania (2 years) Rhode Island (3 years) South Carolina (3 years) South Dakota (3 years) Tennessee (1 year) Texas (2 years) Utah (4 years) Vermont (3 years) Virginia (2 years) Washington (3 years) West Virginia (2 years) Wisconsin (3 years) Wyoming (4 years) Washington D.C. (3 years)

Date of Incident / Rights Violation

Date You Discovered (or Should Have Discovered) the Violation (leave blank if same as incident date)

Type of Civil Rights Claim

42 U.S.C. § 1983 – State Actor / Constitutional Violation Title VII – Employment Discrimination (180/300-day EEOC charge first) ADA / Rehabilitation Act – Disability Discrimination (180/300-day EEOC charge first) 42 U.S.C. § 1981 – Race Discrimination in Contracts (4-year federal) 42 U.S.C. § 1985 – Conspiracy to Deprive Civil Rights Bivens – Federal Officer Constitutional Violation

Was the Plaintiff a Minor (under 18) at the Time of the Incident?

No Yes

Plaintiff's Date of Birth

Was the Plaintiff Incarcerated at the Time of the Incident?

No Yes (may toll in some states)

Was the Plaintiff Mentally Incapacitated at the Time of the Incident?

No Yes (may toll in some states)

Does a Continuing Violation Apply? (e.g., ongoing discriminatory policy)

No Yes – use last date of violation as accrual date

Date of Last Violation (Continuing Violation)

Today's Date

Calculate Deadline

(function() { // Show/hide minor DOB field document.getElementById('civ-plaintiff-minor').addEventListener('change', function() { document.getElementById('civ-minor-dob-field').style.display = this.value === 'yes' ? 'block' : 'none'; });

// Show/hide continuing violation date field document.getElementById('civ-continuing-violation').addEventListener('change', function() { document.getElementById('civ-last-violation-field').style.display = this.value === 'yes' ? 'block' : 'none'; });

// Set today's date default var todayStr = new Date().toISOString().split('T')[0]; document.getElementById('civ-today').value = todayStr;

window.civCalc = function() { var errors = []; var resultDiv = document.getElementById('civ-result');

// --- Parse inputs --- var stateVal = document.getElementById('civ-state').value; var incidentDateStr = document.getElementById('civ-incident-date').value; var discoveryDateStr = document.getElementById('civ-discovery-date').value; var claimType = document.getElementById('civ-claim-type').value; var isMinor = document.getElementById('civ-plaintiff-minor').value === 'yes'; var minorDobStr = document.getElementById('civ-minor-dob').value; var isIncarcerated = document.getElementById('civ-incarcerated').value === 'yes'; var isMentalIncapacity = document.getElementById('civ-mental-incapacity').value === 'yes'; var isContinuing = document.getElementById('civ-continuing-violation').value === 'yes'; var lastViolationStr = document.getElementById('civ-last-violation-date').value; var todayStr2 = document.getElementById('civ-today').value;

// --- Validation --- if (!stateVal && claimType !== '1981') errors.push('Please select a state.'); if (!incidentDateStr) errors.push('Please enter the date of incident.'); if (isMinor && !minorDobStr) errors.push('Please enter the plaintiff's date of birth.'); if (isContinuing && !lastViolationStr) errors.push('Please enter the date of last violation.'); if (!todayStr2) errors.push('Please enter today's date.');

if (errors.length > 0) { resultDiv.style.display = 'block'; resultDiv.className = 'calc-result calc-result-error'; resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Parse dates --- function parseDate(s) { var p = s.split('-'); return new Date(+p[0], +p[1]-1, +p[2]); } function addYears(d, y) { var n = new Date(d); n.setFullYear(n.getFullYear() + y); return n; } function addDays(d, days) { var n = new Date(d); n.setDate(n.getDate() + days); return n; } function formatDate(d) { return d.toLocaleDateString('en-US', {year:'numeric', month:'long', day:'numeric'}); } function daysBetween(a, b) { return Math.round((b - a) / 86400000); }

var incidentDate = parseDate(incidentDateStr); var today = parseDate(todayStr2);

// Determine accrual date (discovery rule) var accrualDate = incidentDate; var discoveryNote = ''; if (discoveryDateStr) { var discoveryDate = parseDate(discoveryDateStr); if (discoveryDate > incidentDate) { accrualDate = discoveryDate; discoveryNote = 'Discovery rule applied: clock starts on discovery date (' + formatDate(discoveryDate) + ').'; } }

// Continuing violation overrides accrual date if (isContinuing && lastViolationStr) { var lastViolationDate = parseDate(lastViolationStr); if (lastViolationDate > accrualDate) { accrualDate = lastViolationDate; discoveryNote = 'Continuing violation doctrine applied: clock starts on last date of violation (' + formatDate(lastViolationDate) + ').'; } }

// --- Determine limitations period --- var limitYears = 0; var limitDays = 0; // for Title VII / ADA EEOC charge var claimNote = ''; var isEEOC = false; var federalFixed = false;

if (claimType === '1983' || claimType === '1985' || claimType === 'bivens') { // § 1983 borrows state personal injury SOL (Wilson v. Garcia, 471 U.S. 261 (1985)) if (!stateVal) { errors.push('State required for this claim type.'); } var parts = stateVal.split(':'); limitYears = parseInt(parts[1]); claimNote = '§ 1983/1985/Bivens borrows the state personal injury limitations period (' + limitYears + ' year' + (limitYears !== 1 ? 's' : '') + ' in ' + parts[0] + ').'; } else if (claimType === '1981') { // 28 U.S.C. § 1658 – 4-year federal catch-all for post-1990 § 1981 claims (Jones v. R.R. Donnelley, 541 U.S. 369 (2004)) limitYears = 4; federalFixed = true; claimNote = '§ 1981 claims arising under the Civil Rights Act of 1991 use the 4-year federal catch-all statute (28 U.S.C. § 1658).'; } else if (claimType === 'title7' || claimType === 'ada') { // Must file EEOC charge within 180 days (non-deferral state) or 300 days (deferral state) // After EEOC right-to-sue, 90 days to file suit isEEOC = true; var stateParts = stateVal ? stateVal.split(':') : ['', '0']; // Deferral states have state agencies; most states are deferral states (300 days) // Non-deferral: AL, MS (historically); we simplify: if state selected, assume 300-day deferral limitDays = stateVal ? 300 : 180; claimNote = (claimType === 'title7' ? 'Title VII' : 'ADA') + ': Must file EEOC charge within ' + limitDays + ' days of discriminatory act (' + (stateVal ? '300-day deferral state' : '180-day non-deferral') + '). After receiving Right-to-Sue notice, 90 days to file suit in federal court.'; }

if (errors.length > 0) { resultDiv.style.display = 'block'; resultDiv.className = 'calc-result calc-result-error'; resultDiv.innerHTML = 'Error:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Tolling calculations --- var tollingNotes = []; var tollDays = 0;

// Minor tolling: clock doesn't start until plaintiff turns 18 (federal rule; state rules vary) if (isMinor && minorDobStr) { var dob = parseDate(minorDobStr); var turn18 = new Date(dob); turn18.setFullYear(turn18.getFullYear() + 18); if (turn18 > accrualDate) { var extraDays = daysBetween(accrualDate, turn18); tollDays += extraDays; tollingNotes.push('Minor tolling: limitations period tolled until plaintiff's 18th birthday (' + formatDate(turn18) + '), adding ' + extraDays + ' days.'); accrualDate = turn18; // restart clock from 18th birthday tollDays = 0; // already baked into new accrual date } }

// Incarceration tolling note (varies widely by state; § 1983 federal courts often do not toll) if (isIncarcerated) { tollingNotes.push('Incarceration: Federal courts generally do NOT toll § 1983 claims for incarceration (Hardin v. Straub, 490 U.S. 536 (1989) – state law governs tolling; many states do not toll for prisoners). Consult state-specific rules.'); }

// Mental incapacity tolling note if (isMentalIncapacity) { tollingNotes.push('Mental incapacity: Many states toll the limitations period during mental incapacity. The exact toll period requires documentation and state-specific analysis. This calculator flags the issue but cannot compute the exact toll without additional facts.'); }

// --- Compute deadline --- var deadline, eeocDeadline, suitDeadline; var daysRemaining, daysElapsed, percentElapsed;

if (isEEOC) { eeocDeadline = addDays(accrualDate, limitDays); // After EEOC right-to-sue (assume received today for illustration), 90 days to file suitDeadline = addDays(today, 90); daysElapsed = daysBetween(accrualDate, today); daysRemaining = daysBetween(today, eeocDeadline); percentElapsed = Math.min(100, Math.max(0, Math.round((daysElapsed / limitDays) * 100))); } else { deadline = addYears(accrualDate, limitYears); daysElapsed = daysBetween(accrualDate, today); var totalDays = daysBetween(accrualDate, deadline); daysRemaining = daysBetween(today, deadline); percentElapsed = Math.min(100, Math.max(0, Math.round((daysElapsed / totalDays) * 100))); }

// --- Status --- var isPastDeadline = isEEOC ? (today > eeocDeadline) : (today > deadline); var isUrgent = !isPastDeadline && (isEEOC ? daysRemaining '; html += '### ' + statusIcon + ' ' + statusMsg + ' ';

html += ''; html += 'Accrual Date (Clock Starts)' + formatDate(accrualDate) + '';

if (isEEOC) { html += 'EEOC Charge Deadline' + formatDate(eeocDeadline) + ' (' + limitDays + ' days from accrual)'; html += 'Days Elapsed Since Accrual' + daysElapsed + ' of ' + limitDays + ' days (' + percentElapsed + '%)'; html += 'Days Remaining to File EEOC Charge' + (isPastDeadline ? 'EXPIRED' : '' + daysRemaining + ' days') + ''; html += 'Suit Deadline After Right-to-Sue Notice' + formatDate(suitDeadline) + ' (90 days from today, if notice received today)'; } else { html += 'Limitations Period' + limitYears + ' year' + (limitYears !== 1 ? 's' : '') + ''; html += 'Filing Deadline' + formatDate(deadline) + ''; html += 'Days Elapsed' + daysElapsed + ' days (' + percentElapsed + '% of period used)'; html += 'Days Remaining' + (isPastDeadline ? 'EXPIRED (' + Math.abs(daysRemaining) + ' days ago)' : '' + daysRemaining + ' days') + ''; } html += '';

// Progress bar html += 'Time elapsed: ' + percentElapsed + '%'; html += ''; html += ''; html += '';

// Claim note html += ''; html += 'Claim Type Note: ' + claimNote + '';

// Discovery / continuing violation note if (discoveryNote) { html += ''; html += 'Accrual Rule: ' + discoveryNote + ''; }

// Tolling notes if (tollingNotes.length > 0) { html += ''; html += 'Tolling Considerations:'; tollingNotes.forEach(function(n){ html += ''; }); html += ''; }

html += 'This calculator provides general legal information only and does not constitute legal advice. Consult a licensed attorney for advice specific to your situation.

'; html += '';

resultDiv.style.display = 'block'; resultDiv.className = 'calc-result'; resultDiv.innerHTML = html; }; })();

#### Formulas Used

§ 1983 / § 1985 / Bivens: Filing Deadline = Accrual Date + State Personal Injury SOL (years) Accrual Date = max(Incident Date, Discovery Date, Last Violation Date if continuing violation) If plaintiff was a minor: Accrual Date = max(Accrual Date, 18th Birthday)

42 U.S.C. § 1981 (post-1990 claims): Filing Deadline = Accrual Date + 4 years (28 U.S.C. § 1658 federal catch-all)

Title VII / ADA: EEOC Charge Deadline = Accrual Date + 300 days (deferral state) or 180 days (non-deferral) Suit Deadline = Right-to-Sue Notice Date + 90 days

Days Remaining: Deadline Date − Today's Date % Elapsed: (Days Elapsed ÷ Total Period Days) × 100

#### Assumptions & Legal References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References