Estimate monthly obligations based on the Income Shares Model
1 Child
2 Children
3 Children
4 Children
5 or More
Combined Adjusted Monthly Income:$0.00
Basic Support Obligation:$0.00
Non-Custodial Share (Percentage):0%
Total Monthly Obligation:$0.00
How Child Support is Calculated
Child support calculations typically follow the "Income Shares Model." This philosophy suggests that a child should receive the same proportion of parental income that they would have received if the parents lived together. The formula combines both parents' gross monthly incomes to determine a basic support obligation from a statutory table.
Key Factors in the Calculation
Gross Monthly Income: This includes wages, commissions, bonuses, and social security benefits before taxes.
Number of Children: The percentage of income allocated increases with each child, though the "per-child" cost usually decreases.
Health Insurance & Childcare: These are considered "add-on" expenses. The cost is usually split between parents based on their relative income percentages.
Parenting Time: In many jurisdictions, if the non-custodial parent has the child for more than 90-120 nights per year, a "shared custody" adjustment may reduce the monthly payment.
Example Scenario
If Parent A earns $6,000 and Parent B earns $4,000, their combined income is $10,000. Parent A is responsible for 60% of the child's needs. If the state table says two children require $2,000 in basic support, Parent A's share would be $1,200. If Parent A also pays $400 for health insurance, Parent B may owe a credit back to Parent A for their 40% share of that premium.
Important Legal Disclaimer
This calculator provides an estimate for educational purposes only. Each state and jurisdiction has specific laws, caps on income, and self-support reserves that can significantly alter the final court order. Always consult with a family law attorney or your local child support agency for an official determination.
function calculateChildSupport() {
// Get Input Values
var income1 = parseFloat(document.getElementById('custodialIncome').value) || 0;
var income2 = parseFloat(document.getElementById('nonCustodialIncome').value) || 0;
var children = parseInt(document.getElementById('numChildren').value);
var health = parseFloat(document.getElementById('healthCosts').value) || 0;
var childcare = parseFloat(document.getElementById('childCare').value) || 0;
var extras = parseFloat(document.getElementById('otherExpenses').value) || 0;
// 1. Calculate Combined Income
var combinedIncome = income1 + income2;
if (combinedIncome <= 0) {
alert("Please enter valid income amounts.");
return;
}
// 2. Determine Basic Support Percentage (Simplified standard guideline percentages)
// 1 child: 17%, 2: 25%, 3: 29%, 4: 31%, 5+: 35%
var supportRate = 0;
if (children === 1) supportRate = 0.17;
else if (children === 2) supportRate = 0.25;
else if (children === 3) supportRate = 0.29;
else if (children === 4) supportRate = 0.31;
else supportRate = 0.35;
// 3. Basic Obligation
var basicObligation = combinedIncome * supportRate;
// 4. Total Obligation including add-ons
var totalNeed = basicObligation + health + childcare + extras;
// 5. Proportional Share (Non-custodial parent is Parent 2)
var nonCustodialRatio = income2 / combinedIncome;
var monthlyObligation = totalNeed * nonCustodialRatio;
// 6. Display Results
document.getElementById('resultArea').style.display = 'block';
document.getElementById('resCombinedIncome').innerText = '$' + combinedIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resBasicSupport').innerText = '$' + basicObligation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resSharePercent').innerText = (nonCustodialRatio * 100).toFixed(1) + '%';
document.getElementById('resTotalObligation').innerText = '$' + monthlyObligation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Smooth scroll to result
document.getElementById('resultArea').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}