Estimate your tax liability on asset sales for the 2024-2025 tax year.
Single
Married Filing Jointly
Head of Household
Short Term (Less than 1 year)
Long Term (More than 1 year)
Total Capital Gain:$0.00
Tax Type Applied:–
Estimated Tax Rate:0%
Estimated Tax Amount:$0.00
Net Profit After Tax:$0.00
Understanding Capital Gains Tax
Capital gains tax is a levy on the profit realized from the sale of a non-inventory asset that was purchased at a cost amount that was lower than the amount realized on the sale. The most common capital gains are realized from the sale of stocks, bonds, precious metals, and property.
Short-Term vs. Long-Term Capital Gains
The tax rate you pay depends heavily on how long you held the asset before selling it:
Short-Term Capital Gains: Applied to assets held for one year or less. These are taxed as ordinary income, meaning they are subject to your regular income tax bracket (ranging from 10% to 37% depending on your total income).
Long-Term Capital Gains: Applied to assets held for more than one year. These rates are generally more favorable, typically 0%, 15%, or 20%, depending on your filing status and taxable income.
2024 Long-Term Capital Gains Tax Brackets
For the 2024 tax year, the long-term capital gains tax rates are determined by your taxable income thresholds:
0% Rate: Income up to $47,025 (Single) or $94,050 (Married Jointly).
15% Rate: Income between $47,026 and $518,900 (Single) or $94,051 and $583,750 (Married Jointly).
20% Rate: Income exceeding $518,900 (Single) or $583,750 (Married Jointly).
How to Use This Calculator
To get an accurate estimate of your potential tax bill, follow these steps:
Enter Purchase Price: The total amount you paid for the asset, including commissions or fees (your cost basis).
Enter Sale Price: The total amount you received from the sale, minus any selling expenses.
Select Filing Status: Choose whether you file taxes as Single, Married Filing Jointly, or Head of Household.
Input Annual Income: Enter your taxable income from other sources (wages, interest, etc.). This determines your tax bracket.
Select Duration: Indicate if you owned the asset for more or less than a year.
function calculateCapitalGains() {
// Get Input Values
var purchasePrice = parseFloat(document.getElementById('cgtPurchasePrice').value);
var salePrice = parseFloat(document.getElementById('cgtSalePrice').value);
var filingStatus = document.getElementById('cgtFilingStatus').value;
var annualIncome = parseFloat(document.getElementById('cgtIncome').value);
var duration = document.getElementById('cgtDuration').value;
// Validation
if (isNaN(purchasePrice) || isNaN(salePrice) || isNaN(annualIncome)) {
alert("Please enter valid numbers for prices and income.");
return;
}
// 1. Calculate Gross Gain
var gain = salePrice – purchasePrice;
// Display Result Container
var resultsDiv = document.getElementById('cgtResults');
resultsDiv.style.display = 'block';
// Update Gain UI
document.getElementById('displayGain').innerText = formatCurrency(gain);
// If Loss or Break Even
if (gain 609350) return 0.37;
if (income > 243725) return 0.35;
if (income > 191950) return 0.32;
if (income > 100525) return 0.24;
if (income > 47150) return 0.22;
if (income > 11600) return 0.12;
return 0.10;
} else if (status === 'married') {
if (income > 731200) return 0.37;
if (income > 487450) return 0.35;
if (income > 383900) return 0.32;
if (income > 201050) return 0.24;
if (income > 94300) return 0.22;
if (income > 23200) return 0.12;
return 0.10;
} else { // Head of Household
if (income > 609350) return 0.37;
if (income > 243700) return 0.35;
if (income > 191950) return 0.32;
if (income > 100500) return 0.24;
if (income > 63100) return 0.22;
if (income > 16550) return 0.12;
return 0.10;
}
}
// Long Term Capital Gains Brackets (2024 Estimates)
// Based on taxable income BEFORE the gain is added (simplified standard method)
function getLongTermRate(income, status) {
if (status === 'single') {
if (income > 518900) return 0.20;
if (income > 47025) return 0.15;
return 0.0;
} else if (status === 'married') {
if (income > 583750) return 0.20;
if (income > 94050) return 0.15;
return 0.0;
} else { // Head of Household
if (income > 551350) return 0.20;
if (income > 63000) return 0.15;
return 0.0;
}
}