QuantCalc › Tools › Research: when harvesting pays

When does tax-loss harvesting actually pay?

The NPV of harvesting a $10,000 loss across 768 tax scenarios — computed with an open, unit-tested 2026 federal engine.

When does tax-loss harvesting actually pay?

78.4% of scenarios pay — the rest don't. In 78.4% of the 768 scenarios in this grid — and reliably in two situations: when the future tax never comes due (the replacement shares get a step-up at death or are donated, where every positive harvest pays), and when a high-rate loss offsets low-rate future gains. It loses whenever the offset gains sat in the 0% long-term bracket (nothing saved now, basis lowered anyway: NPV as low as −$1,865 on a $10,000 loss) and when rates will be higher at the future sale (saving at 15% today, selling in five years at 23.8%: −$365). Which gains the loss offsets matters more than timing: at the top income level a short-term offset saved $4,080 against $2,380 for a long-term one — 1.71× — while pure deferral at the same rate is worth $579 on $10,000 for a middle-income filer at 10 years. Federal only, 2026 law, 5% discount rate, published 2026-07-02 — see Result 1, Result 2 and Result 3.

Key numbers — each row links to the section that carries the full table. Updated 2026-09-07; data unchanged.

Key numberValueWhere on this page
Scenarios where harvesting a $10,000 loss has a positive NPV78.4% of 768The grid
Worst NPV in the 0%-bracket trap (nothing saved now, basis lowered)−$1,865Result 1
Tax saved now at the top income level: short-term offset vs long-term offset$4,080 vs $2,380 (1.71×)Result 2
Reverse rate arbitrage: save at 15% now, sell at 23.8% in five years−$365Result 3
Pure deferral value, same rate later, middle income, 10-year horizon$579Result 1
Step-up / donation scenarios with positive savings that pay100%Result 3
Grid size and discount rate768 scenarios, 5%Methodology

The question

Every December, investors are told to "harvest losses." The advice usually stops at the tax saved this year. But harvesting resets your cost basis lower: the tax you avoid today largely comes back as a bigger taxable gain later. Whether the trade is worth it is a net-present-value question — savings now versus a discounted tax bill later. We computed it, exhaustively.

The grid

A $10,000 harvested loss, run through 768 scenarios: 2 filing statuses × 4 income regimes (from the 0% long-term bracket to 20% + NIIT) × 2 loss characters (short/long-term) × 3 offset contexts (long-term gains, short-term gains, or no gains — the $3,000-per-year ordinary path) × 4 future-rate scenarios (step-up/donation, same rate, 18.8%, 23.8%) × 4 horizons (5–30 years), at a 5% discount rate. Savings are exact engine differences — full Schedule D netting, LTCG stacking, NIIT on true MAGI — never marginal-rate shortcuts.

Result 1: what a $10,000 harvest is worth by income

Bar chart: NPV of harvesting a $10,000 long-term loss against long-term gains at four income levels, for same-rate and step-up scenarios at a 10-year horizon. Low-income harvests are negative; step-up scenarios are strongly positive.
Income regime (single)Saved nowNPV, same rate later (10y)NPV, step-up/donateNPV, no-gains $3k path (10y)
Low (0% LTCG bracket)
$30,000 ordinary income
$0$0$0$1,047
Middle (15% bracket)
$85,000 ordinary income
$1,500$579$1,500$2,077
High (15% + NIIT)
$250,000 ordinary income
$1,880$726$1,880$3,021
Top (20% + NIIT)
$800,000 ordinary income
$2,380$919$2,380$3,494
The 0%-bracket trap: at low income the "harvest" saves nothing — the gains it offsets were taxed at 0% already — while still lowering basis. Every 0%-bracket scenario in the grid has NPV ≤ 0. If you are in the 0% bracket, the profitable move is usually the opposite: gain harvesting.

Result 2: character is worth more than timing

Grouped bars: tax saved now by a $10,000 loss offsetting short-term vs long-term gains across income levels. Short-term offsets save up to 1.71 times more at top incomes.

A loss that offsets short-term gains (taxed as ordinary income) saves far more than the same loss offsetting long-term gains: $4,080 versus $2,380 at the top income level — 1.71× the savings from the identical $10,000 loss. Schedule D's netting order decides this before you do: same-character gains absorb the loss first, so which lots you realize in the same year is the biggest lever in the whole study.

Result 3: when harvesting loses money

Conversely, with a step-up at death or a donation of the replacement shares, the future bill never arrives — every dollar of current savings is pure gain, and 100% of positive-savings step-up scenarios in the grid pay.

Run your own harvest before you sell

The free calculator computes your exact netting, savings, NPV and break-even — the same tested engine as this study.

Open the harvesting calculator →

Methodology

All computations use the open 2026 federal engine behind our calculator (133-assertion unit suite, cross-checked to ±$0.01 against an independent C implementation): Schedule D netting with character-preserving carryforward (§1211/§1212), long-term gains stacked on ordinary income (§1(h)), NIIT on true MAGI (§1411), 2026 figures per IRS Rev. Proc. 2025-32. "Saved now" is the exact difference between the year's total tax with and without the harvested loss; the no-gains context discounts each year of the $3,000-per-year carryforward consumption. The future cost is the harvested amount times the expected all-in rate at the future sale, discounted at 5%. Federal only — state layers shift levels but rarely signs; reinvested-savings compounding is not modeled (this understates harvesting benefits slightly, making the negative findings conservative).

Reproducibility

The full 768-cell grid is open data (CC0): results.csv · summary.json. The engine itself ships unminified at /js/calc/capital-gains-tlh-2026.js; the grid is a pure deterministic function of it (no randomness, no seed).

FAQ

When does tax-loss harvesting actually pay?

In 78.4% of the 768 scenarios in this grid — and reliably in two situations: when the future tax never comes due (the replacement shares get a step-up at death or are donated, where every positive harvest pays), and when a high-rate loss offsets low-rate future gains. It loses whenever the offset gains sat in the 0% long-term bracket (nothing saved now, basis lowered anyway: NPV as low as −$1,865 on a $10,000 loss) and when rates will be higher at the future sale (saving at 15% today, selling in five years at 23.8%: −$365). Which gains the loss offsets matters more than timing: at the top income level a short-term offset saved $4,080 against $2,380 for a long-term one — 1.71× — while pure deferral at the same rate is worth $579 on $10,000 for a middle-income filer at 10 years. Federal only, 2026 law, 5% discount rate, published 2026-07-02 — see Result 1, Result 2 and Result 3.

Does tax-loss harvesting always save money?

No. Across the 768 scenarios in this study, harvesting a $10,000 loss produced a positive net present value in 78.4% of cases. The clearest losing case is harvesting when your gains sit in the 0% long-term bracket: the harvest saves nothing today, but the lowered basis creates a real future tax bill — up to −$1,865 NPV on a $10,000 loss in our grid.

When is harvesting a clear win?

Two situations dominate: (1) the replacement shares will get a step-up in basis at death or be donated — the deferred cost never comes due, so every dollar of current savings is pure gain; and (2) the loss offsets short-term gains or ordinary income at a high marginal rate while the future sale will be taxed at long-term rates — a rate arbitrage. At the top income level in our grid, a short-term offset saved $4,080 versus $2,380 for a long-term offset — 1.71× more, on the same $10,000 loss.

Can harvesting actually lose money?

Yes, two ways. Harvesting gains that would have been taxed at 0% (nothing saved now, higher tax later), and rate arbitrage in reverse: saving at today's 15% rate but selling within five years at 23.8% produced an NPV of −$365 in our grid. A wash-sale violation is a third way — the loss is simply disallowed.

What about the $3,000-per-year path with no gains to offset?

A $10,000 loss with no gains offsets ordinary income at $3,000 per year ($1,500 married filing separately) and carries forward. The savings arrive over four years instead of one, so they are worth slightly less after discounting — but at ordinary-income marginal rates they are often still the strongest per-dollar savings available at middle and high incomes.

Why does the time horizon matter?

The cost of harvesting is a larger taxable gain later (the replacement basis is lower by the harvested amount). The further away that sale is, the less it costs in present value: at a 5% discount rate the same future tax bill costs 22% less at 10 years than at 5, and 77% less at 30 years. Long horizons push most same-rate scenarios to a positive NPV of pure deferral value — for example $579 on $10,000 for a middle-income filer at 10 years.

How were these numbers computed?

Every scenario runs through the same open, unit-tested 2026 federal tax engine as our free calculator: full Schedule D netting, the LTCG stacking method, NIIT on true MAGI, and character-preserving carryforward, per IRS Rev. Proc. 2025-32 figures. Savings are computed as exact with-versus-without engine differences, never marginal-rate shortcuts. The full grid is published as CC0 open data below.

Published 2026-07-02, updated 2026-09-07 with the answer-first summary (data unchanged), by QuantCalc Research. Educational research, not tax advice. Related: tax-loss harvesting calculator · the practical TLH guide · 0% gain harvesting, step by step.