Living and working in the Constitution State means navigating a unique graduated income tax system. This calculator helps Connecticut employees estimate their actual take-home pay after all mandatory withholdings and voluntary deductions.
How CT State Income Tax Works
Connecticut uses a graduated tax system, meaning your income is taxed at progressively higher rates as you earn more. For the 2024 tax year, Connecticut recently implemented tax cuts for middle-income earners. Rates typically range from:
3.0% on the first tier of taxable income.
5.0% on the second tier.
Up to 6.99% for the highest earners.
Key Payroll Deductions in CT
FICA Taxes: This consists of Social Security (6.2%) and Medicare (1.45%) taxes which are standard across the US.
Federal Income Tax: Determined by your filing status and the information provided on your Form W-4.
CT Paid Family and Medical Leave (PFML): Most employees in CT contribute 0.5% of their wages to this state-mandated program (capped at the Social Security wage base).
Pre-tax Deductions: Contributions to a 401(k), 403(b), or health insurance premiums that reduce your taxable income.
Example Calculation
If you earn $75,000 annually in Connecticut and file as Single with no pre-tax deductions:
Gross Annual: $75,000
Approx. Federal Tax: ~$7,900
FICA Taxes: ~$5,737
Approx. CT State Tax: ~$3,300
Estimated Annual Take-Home: ~$58,063
Bi-weekly Take-Home (26 checks): ~$2,233
Note: This calculator provides an estimate based on standard 2024 brackets and deductions. Your actual paycheck may vary based on local taxes, specific CT tax credits (like the CT EITC), or additional insurance premiums.
function calculateCTPaycheck() {
var grossInput = document.getElementById("grossPay").value;
var frequency = parseFloat(document.getElementById("payFrequency").value);
var status = document.getElementById("filingStatus").value;
var preTaxInput = document.getElementById("preTax").value;
var grossPay = parseFloat(grossInput);
var preTax = parseFloat(preTaxInput) || 0;
if (isNaN(grossPay) || grossPay 609350) fedTax += (fedTaxable – 609350) * 0.37 + 183647;
else if (fedTaxable > 243725) fedTax += (fedTaxable – 243725) * 0.35 + 55578.5;
else if (fedTaxable > 191950) fedTax += (fedTaxable – 191950) * 0.32 + 39010.5;
else if (fedTaxable > 100525) fedTax += (fedTaxable – 100525) * 0.24 + 17058.5;
else if (fedTaxable > 47150) fedTax += (fedTaxable – 47150) * 0.22 + 5653.5;
else if (fedTaxable > 11600) fedTax += (fedTaxable – 11600) * 0.12 + 1160;
else fedTax += fedTaxable * 0.10;
} else {
// Married Filing Jointly
if (fedTaxable > 731200) fedTax += (fedTaxable – 731200) * 0.37 + 177927;
else if (fedTaxable > 487450) fedTax += (fedTaxable – 487450) * 0.35 + 92614.5;
else if (fedTaxable > 383900) fedTax += (fedTaxable – 383900) * 0.32 + 59478.5;
else if (fedTaxable > 201050) fedTax += (fedTaxable – 201050) * 0.24 + 32580;
else if (fedTaxable > 94300) fedTax += (fedTaxable – 94300) * 0.22 + 11307;
else if (fedTaxable > 23200) fedTax += (fedTaxable – 23200) * 0.12 + 2320;
else fedTax += fedTaxable * 0.10;
}
// FICA (7.65% up to 168,600, then 1.45% above)
var ficaTax = 0;
if (annualGross > 168600) {
ficaTax = (168600 * 0.062) + (annualGross * 0.0145);
} else {
ficaTax = annualGross * 0.0765;
}
// CT State Tax (Graduated 2024 Simplified)
var stateTax = 0;
var ctTaxable = taxableGross; // CT doesn't use fed standard deduction but has its own exemptions
// Simple bracket calculation for CT
if (status === "single") {
if (ctTaxable > 500000) stateTax += (ctTaxable – 500000) * 0.0699 + 30100;
else if (ctTaxable > 250000) stateTax += (ctTaxable – 250000) * 0.069 + 12850;
else if (ctTaxable > 200000) stateTax += (ctTaxable – 200000) * 0.065 + 9600;
else if (ctTaxable > 100000) stateTax += (ctTaxable – 100000) * 0.06 + 3600;
else if (ctTaxable > 50000) stateTax += (ctTaxable – 50000) * 0.055 + 850;
else if (ctTaxable > 10000) stateTax += (ctTaxable – 10000) * 0.05 + 300;
else stateTax += ctTaxable * 0.03;
} else {
if (ctTaxable > 1000000) stateTax += (ctTaxable – 1000000) * 0.0699 + 60200;
else if (ctTaxable > 500000) stateTax += (ctTaxable – 500000) * 0.069 + 25700;
else if (ctTaxable > 400000) stateTax += (ctTaxable – 400000) * 0.065 + 19200;
else if (ctTaxable > 200000) stateTax += (ctTaxable – 200000) * 0.06 + 7200;
else if (ctTaxable > 100000) stateTax += (ctTaxable – 100000) * 0.055 + 1700;
else if (ctTaxable > 20000) stateTax += (ctTaxable – 20000) * 0.05 + 600;
else stateTax += ctTaxable * 0.03;
}
// CT PFML (Paid Family Leave) – 0.5%
var ctPFML = Math.min(annualGross, 168600) * 0.005;
stateTax += ctPFML;
// Final Totals per period
var periodGross = annualGross / frequency;
var periodFed = fedTax / frequency;
var periodFica = ficaTax / frequency;
var periodState = stateTax / frequency;
var periodNet = periodGross – periodFed – periodFica – periodState – (annualPreTax / frequency);
// Display
document.getElementById("resGross").innerText = "$" + (annualGross / frequency).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resFedTax").innerText = "- $" + periodFed.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resFica").innerText = "- $" + periodFica.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resStateTax").innerText = "- $" + periodState.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resDeductions").innerText = "- $" + (annualPreTax / frequency).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resNetPay").innerText = "$" + Math.max(0, periodNet).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resultsArea").style.display = "block";
}