Civil Rights Statute of Limitations Calculator
ANA›Life Services Authority›National 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
- Wilson v. Garcia, 471 U.S. 261 (1985) – § 1983 claims borrow the forum state's personal injury statute of limitations.
- Owens v. Okure, 488 U.S. 235 (1989) – Where multiple personal injury SOLs exist, the general or residual one applies to § 1983.
- Jones v. R.R. Donnelley & Sons Co., 541 U.S. 369 (2004) – § 1981 claims arising under the Civil Rights Act of 1991 use the 4-year federal catch-all (28 U.S.C. § 1658).
- Hardin v. Straub, 490 U.S. 536 (1989) – State tolling rules apply to § 1983 claims; federal courts look to state law for tolling (minority, incapacity, incarceration).
- Title VII / ADA EEOC charge: 42 U.S.C. § 2000e-5(e)(1) – 180 days (non-deferral) or 300 days (deferral state with state agency); 90-day suit window after Right-to-Sue notice (42 U.S.C. § 2000e-5(f)(1)).
- Discovery Rule: Accrual begins when plaintiff knows or reasonably should know of the injury and its cause (Rotella v. Wood, 528 U.S. 549 (2000)).
- Continuing Violation Doctrine: For ongoing discriminatory policies, the limitations period runs from the last act (National R.R. Passenger Corp. v. Morgan, 536 U.S. 101 (2002)).
More Calculators
- Texas EV Incentive and Rebate Savings Calculator
- Tile Quantity and Waste Factor Calculator
- Appliance Load & Circuit Capacity Calculator
- Grout Coverage Calculator
- Tile Repair Cost Estimator
- Thinset Mortar Coverage Calculator
- Maid Service Frequency Savings Calculator
-
New Hampshire Sales Tax Calculator for Construction Materials
- New Jersey Contractor Insurance Cost Estimator
- New Jersey Permit Cost Estimator
- New Mexico Contractor License Fee Calculator
- New Jersey Commercial Contractor License Fee Calculator
- Commercial Project Overhead and Markup Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...