Tax

Capital gains tax calculator

FR PFU 30%, FR barème, US short/long-term — net proceeds and effective rate.

01Inputs
02Results
Tax owed
applicable rate
Capital gain
Net proceeds (sale − tax)
Effective rate on sale
Holding period
Where every euro of the sale goes
Cost basis Net profit (kept) Tax

Indicative only. FR PFU = 30 % flat (12.8 % IR + 17.2 % social charges); FR barème adds 17.2 % PS to the chosen IR rate. US long-term: bracket 10–12 % → 0 %, 22–35 % → 15 %, 37 % → 20 %. Excludes state/local taxes, NIIT, exemptions (résidence principale, primary residence §121), and depreciation recapture.

03How it works

Why this calculation

Capital gains tax is the levy on the profit realized when an asset (stocks, real estate, crypto, art) is sold for more than it was bought. The tax bite varies enormously by jurisdiction, holding period, and asset class — and it is one of the largest predictable transaction costs many investors face. A US stock held under one year is taxed as ordinary income (up to 37 % federal + state); held over one year, it qualifies for long-term capital gains rates (0 / 15 / 20 % federal). In France, the Prélèvement Forfaitaire Unique (PFU) flatly applies 30 % (12.8 % income tax + 17.2 % social charges) to most financial gains, with an opt-in to the progressive scale (barème) when it produces a lower bill for low-income filers. This calculator handles the three most common scenarios — French PFU, French barème, and US short/long-term — and shows the side-by-side impact on net proceeds.

The formula

Gross gain = sale_price − purchase_price − transaction_costs.

French PFU: tax = max(0, gross_gain) × 0.30. The 30 % is a flat rate, no allowance for losses past the year (use loss-harvesting separately).

French barème (progressive): gross_gain × (chosen_marginal_rate + 0.172 social). The marginal rate is one of {0, 11, 30, 41, 45} % matching the income brackets. PFU vs barème: pick the lower.

US short-term (held ≤ 1 year): gross_gain × ordinary_income_marginal_rate (10 / 12 / 22 / 24 / 32 / 35 / 37 % federal in 2024–2026).

US long-term (held > 1 year): gross_gain × {0, 15, 20} % federal, depending on income bracket. Plus state capital-gains tax (0 % in TX, FL, NV, WA, etc.; up to 13.3 % in CA).

Net proceeds = sale_price − transaction_costs − tax.

The chart shows a stacked bar of the sale price split into: original cost basis, transaction costs, tax, and net profit kept by the seller.

How to use

Pick the scenario (FR PFU / FR barème / US short / US long). Enter purchase price, sale price, transaction costs (brokerage commissions, real-estate agent fee, lawyer fees, etc.). For non-PFU scenarios, also pick the marginal tax bracket. The result panel shows gross gain, tax owed, effective tax rate (tax / gain), and net proceeds.

Worked example

US stock: bought $10 000, sold $25 000, $50 commission. Held 18 months (long-term), 32 % income bracket.

  • Gross gain: 25 000 − 10 000 − 50 = $14 950.
  • Long-term federal rate (32 % bracket → 15 %): 14 950 × 0.15 = $2 242.50.
  • Net: 25 000 − 50 − 2 242.50 = $22 707.50.
  • Effective rate on gain: 15 %.

Same trade but held 9 months (short-term): - Tax: 14 950 × 0.32 = $4 784. Net: $20 166. Effective: 32 %.

Holding 9 more months saves $2 542 — a 12 % bigger net by waiting.

French stock sold via PFU: gain € 5 000. - Tax: 5 000 × 0.30 = € 1 500. Net: € 3 500.

Same gain via barème, marginal 11 %: - Tax: 5 000 × (0.11 + 0.172) = 5 000 × 0.282 = € 1 410. PFU saves nothing here; barème wins by € 90.

Pitfalls

Cost basis adjustments. The "purchase price" must include reinvested dividends, stock splits, return-of-capital adjustments, and improvements (for real estate). Forgetting these inflates the gain and overstates the tax.

Wash-sale rule (US). Selling at a loss and buying back the same security within 30 days disallows the loss for tax purposes. Affects loss-harvesting, not the gain calculation per se.

FIFO vs specific lot. Default IRS treatment is FIFO (first-in-first-out); investors with multiple purchase lots can specify a different lot to optimize tax (highest-cost lot to minimize gain).

State-level variation. The calc handles federal only for US scenarios. Add 0–13.3 % depending on state. New York City and California are particularly punitive on long-term gains.

Net Investment Income Tax (US). High earners (MAGI over $200k single / $250k joint) owe an additional 3.8 % NIIT on capital gains. Not modeled here.

French PEA wrapper. Gains realized inside a Plan d'Épargne en Actions held > 5 years pay only 17.2 % social charges, no income tax. The calc does not handle the PEA wrapper.

Real estate exclusions. US primary-residence sales: $250k single / $500k joint exclusion if you've lived there 2 of the last 5 years. France: principal residence is fully exempt. The calc does not auto-apply these.

Foreign-asset reporting. The IRS Form 8938 and FinCEN 114 (FBAR) reporting thresholds are separate from the tax calculation but trigger penalties for non-compliance.

Crypto special cases. US treats crypto as property, so each trade is a taxable event including crypto-to-crypto swaps. Hard forks and airdrops have specific guidance. The calc treats it as a generic asset — tax treatment may vary.

Inflation indexing. Some jurisdictions (Argentina, Israel, Mexico) inflation-index the cost basis to soften long-hold gains. France does not; the US does not for stocks (does for some real estate).

Loss carry-forward. Losses in excess of gains can offset other income up to certain limits and carry forward. Track separately.

Variations

  • Estate cost-basis step-up: at death, basis resets to fair market value (US) — eliminates pre-death gains for heirs.
  • 1031 like-kind exchange (US): defer real-estate gains by reinvesting in like property.
  • Opportunity-zone investments: defer and partially exclude gains by reinvesting in qualified zones (US).
  • PFU vs barème optimizer: explicit two-scenario comparison for French filers.
  • Multi-year tax-rate planning: model year-by-year realization to stay in lower brackets.

Related calculators