Canada
| Personal income tax progressive · top 33% | $15,456 |
| Social security 7.6% employee · capped | $4,779 |
| Total deductions | $20,235 |
| Gross income | $100,000 |
| Net take-home | $79,765 |
The gap is driven by the headline tax structure — no special regime applied. Both countries are indicated in USD at the displayed FX.
Both Canada and France operate on a worldwide-income basis, though each country's bracket structure and available regimes produce materially different outcomes. France's top marginal rate of 45% is 12 percentage points above Canada's 33%, making the statutory gap one of the largest variables in this comparison.
| Personal income tax progressive · top 33% | $15,456 |
| Social security 7.6% employee · capped | $4,779 |
| Total deductions | $20,235 |
| Gross income | $100,000 |
| Net take-home | $79,765 |
| Personal income tax progressive · top 45% | $23,700 |
| Social security 22.0% employee · uncapped | $22,000 |
| Total deductions | $45,700 |
| Gross income | $100,000 |
| Net take-home | $54,300 |
On a $100k single-resident employment profile under each country's default schedule, Canada produces the lower effective burden at 20.2% versus 45.7% in France — a 25.5 percentage-point gap that compounds to roughly $25,465 of additional take-home annually. The 12-point spread in top statutory rates is the primary driver; above their respective thresholds, each additional dollar is taxed at 45% in France but only 33% in Canada. Social-security contributions also differ: France charges 22.0% versus 7.6% in Canada, adding a second layer to the effective-rate spread that doesn't show in the income-tax brackets alone. The gap widens at higher incomes as marginal rates diverge further; remote workers earning above $150k or $200k should run the full engine scenario with their actual figures for a more precise read.
| Instrument | Canada · USD | France · USD | Δ (FR − CA) |
|---|---|---|---|
I. Personal income tax | |||
Personal income tax CAprogressive · top 33%FRprogressive · top 45% | $15,456 | $23,700 | +$8,244 |
| subtotal · personal income tax | $15,456 | $23,700 | +$8,244 |
II. Mandatory social security & health | |||
CPP 5.95% to $71,300 + CPP2 4% to $85,000 + EI 1.64% to $65,700. Combined modeled at upper cap. CA7.6% · capped C$85,000FR— | $4,779 | — | −$4,779 |
CSG/CRDS 9.7% employment + employee social; total deductions 22-25%. Midpoint used. CA—FR22.0% · uncapped | — | $22,000 | +$22,000 |
| subtotal · mandatory social security & health | $4,779 | $22,000 | +$17,221 |
| Total deductions | $20,235 | $45,700 | +$25,465 |
| Effective rate | 20.2% | 45.7% | 25.5 pp |
| Gross income | $100,000 | $100,000 | — |
| Net take-home | $79,765 | $54,300 | −$25,465 |
Table 1 · Statutory deductions, single-filer remote worker, FY2026 indicative. All amounts in USD. n/a where instrument does not apply. | |||
France offers the Régime des Impatriés (Art 155B) (flat 30% on qualifying income) for qualifying incoming residents; Canada has no equivalent ICP-targeted regime currently modelled — new residents there enter the standard Canada schedule immediately. The Régime des Impatriés (Art 155B) runs for up to 8 years from first qualification, giving France a meaningful medium-term advantage for eligible movers who plan to stay. Eligibility requires 5+ years of prior non-residency in France — the regime is unavailable to returning nationals and anyone who has held France tax residency recently. For movers who don't qualify for France's Régime des Impatriés (Art 155B), both countries revert to their default progressive schedules, where Canada's lower top rate still gives it a structural edge.
For a digital nomad or remote worker on a $100k income, Canada edges France by 25.5 percentage points on the default schedule — a real but not overwhelming difference that other variables may offset. The calculus shifts if the Régime des Impatriés (Art 155B) is available: eligible movers may find France the stronger play once the regime replaces the default schedule.
Every line above can be traced to a primary instrument. We publish the model; you may toggle its parameters.
Read the full note ↗