Skip to main content

How Capital Gains Work Inside a Roth IRA

You do not pay capital gains tax on profits inside a Roth IRA, ever

When you buy a stock, bond, or mutual fund inside a Roth IRA and it goes up in value, you owe no tax on that gain—not while you hold it, not when you sell it, and not when you withdraw it. This is the core tax advantage of a Roth account. If you bought 100 shares of a fund for $5,000 and sold them for $8,000 five years later, the $3,000 profit is completely tax-free inside the Roth. Outside a Roth, that same $3,000 would be taxed as a capital gain at federal rates ranging from 0% to 20%, depending on your income and how long you held the investment.

The tax shelter applies to all investment gains inside the Roth—stocks, mutual funds, ETFs, bonds, real estate investment trusts (REITs), and any other asset you can hold in the account. You can buy and sell as often as you want without triggering any tax bill. This freedom to trade and rebalance without tax consequences is one reason Roths work well for active investors or people who like to adjust their holdings frequently.

Key Takeaways

  • Investment gains inside a Roth IRA are never taxed, whether you realize them by selling or simply hold the investment until withdrawal.
  • This tax-free growth applies to all types of investments held in the Roth—stocks, funds, bonds, and REITs—with no limit on how much profit you can accumulate.
  • You can buy and sell investments within your Roth as often as you want without triggering any capital gains tax or reporting requirement.
  • Withdrawals of your original contributions come out tax-free at any time, and withdrawals of gains come out tax-free after age 59½ if the account has been open at least five years.
  • The tax-free growth benefit is lost only if you withdraw gains before age 59½ and before the five-year holding period ends, in which case the gain portion is taxed as ordinary income plus a 10% penalty.

Why the Roth shields you from capital gains tax

A Roth IRA is a tax-exempt account. The IRS does not tax the account itself on any income or gains it generates. This is different from a regular brokerage account, where you owe capital gains tax each year on profits you realize, even if you do not withdraw the money. It is also different from a traditional IRA, where you do not pay tax on gains while the money is in the account, but you pay ordinary income tax on all withdrawals later.

The Roth works this way because you already paid income tax on the money before you put it in. You contribute after-tax dollars—money you earned and already paid income tax on. In exchange, the IRS lets the account grow completely tax-free, and you withdraw it tax-free too. The government collects its tax upfront, not on the back end.

This structure means the IRS has no reason to track capital gains inside the Roth the way it does in a taxable account. You will never receive a Form 1099-B (the form that reports sales of securities) for trades inside your Roth, and you will never report Roth gains on your tax return.

What happens when you withdraw gains before age 59½

The tax-free treatment of gains applies only to withdrawals that meet the Roth's rules. If you withdraw gains before you turn 59½ and before your Roth has been open for at least five years, the gain portion is taxed as ordinary income, and you also owe a 10% early withdrawal penalty on that gain.

Your contributions, however, always come out tax-free and penalty-free, no matter your age or how long the account has been open. The IRS distinguishes between contributions (your original deposits) and earnings (the gains). If you put in $10,000 and it grew to $15,000, you can withdraw the $10,000 contribution at any time without tax or penalty. The $5,000 in earnings is what gets restricted.

There are a few exceptions to the early withdrawal penalty on earnings—such as withdrawals for a first-time home purchase (up to $10,000 lifetime) or for certain medical expenses—but these exceptions do not apply to capital gains specifically. They apply to all earnings. If you need to access gains early, check whether your situation fits one of these exceptions, because the penalty is steep.

The five-year rule and when it resets

To withdraw Roth earnings tax-free, your account must have been open for at least five years. This is the five-year holding period, and it is measured from January 1 of the year you opened your first Roth IRA, not from the date you made your first deposit.

If you opened a Roth in March 2024, the five-year clock started on January 1, 2024. You can withdraw earnings tax-free starting January 1, 2029, as long as you are also 59½ or older (or meet an exception). If you opened a Roth in January 2024, the clock also started January 1, 2024—you do not get an extra year just because you opened it early in the year.

The five-year rule applies per person, not per account. If you have multiple Roths, they all share the same five-year clock from your first Roth. If you convert a traditional IRA to a Roth, a separate five-year clock starts for that conversion, but only for the converted amount—your original Roth contributions are still on the original clock.

Roth conversions and capital gains inside them

If you convert money from a traditional IRA or 401(k) to a Roth, any gains that accumulate inside the Roth after the conversion are also tax-free. The conversion itself is a taxable event—you owe income tax on the amount converted—but once the money is in the Roth, it grows tax-free from that point forward.

A converted Roth has its own five-year holding period for the converted amount. If you convert $50,000 in 2024, you can withdraw that $50,000 tax-free and penalty-free after 2029, even if you are under 59½. But any gains on that $50,000 are subject to the age 59½ rule—you cannot withdraw the earnings penalty-free until you turn 59½, even after five years have passed.

This distinction matters if you are converting a large sum and expect it to grow significantly. The original converted amount is accessible after five years; the gains on it are not accessible penalty-free until you are 59½.

Comparing Roth capital gains to other account types

In a taxable brokerage account, you owe federal capital gains tax on profits when you sell. Long-term gains (held over one year) are taxed at 0%, 15%, or 20% depending on your income. Short-term gains (held one year or less) are taxed as ordinary income at your regular tax rate, which can be as high as 37%. You also owe state income tax on gains in most states. And you must report all sales on your tax return, even if you do not withdraw the money.

In a traditional IRA, you do not pay tax on gains while the money is in the account, but you pay ordinary income tax on all withdrawals—both contributions and gains—at your regular tax rate. If you withdraw $100,000 from a traditional IRA and $40,000 of it is gains, you pay ordinary income tax on the full $100,000, not capital gains tax on just the $40,000. This can push you into a higher tax bracket.

In a 401(k), the same rule applies: gains are tax-deferred, and withdrawals are taxed as ordinary income. However, 401(k)s often have limited investment options compared to IRAs, so you may have less ability to generate large capital gains in the first place.

The Roth's advantage is that it eliminates the tax on gains entirely, and it does so at your current tax rate, not at whatever rate you will be in during retirement. If you expect to be in a higher tax bracket later, a Roth is especially valuable.

Reporting and documentation for Roth gains

You do not report Roth IRA gains on your federal tax return. The IRS does not require you to file Form 8606 (which tracks Roth conversions and basis) unless you made a conversion or a backdoor Roth contribution. If you only made regular contributions and held investments inside the Roth, there is nothing to report.

Your Roth custodian (your bank, brokerage, or IRA provider) will send you a Form 5498 each year showing contributions you made, but this is informational only—you do not file it with your return. You also will not receive a 1099-B for trades inside the Roth, because the account is tax-exempt.

Keep your own records of contributions, conversions, and the dates you opened each Roth account. If you ever need to withdraw before age 59½, you will need to show the IRS which portion of your withdrawal is a contribution (tax-free) and which is earnings (potentially taxable). Your custodian can help, but having your own records is faster and clearer.

Frequently Asked Questions

Do I owe capital gains tax if I sell an investment at a loss inside my Roth?

No. You owe no tax on losses either. You cannot deduct the loss on your tax return, and you cannot use it to offset gains elsewhere. The loss simply stays inside the Roth. This is one trade-off of the tax-free growth: you get no tax benefit from losses, but you also do not have to report them.

What if I inherit a Roth IRA—do I owe capital gains tax on the gains inside it?

No. Inherited Roths are still tax-free to the beneficiary, though you must follow specific withdrawal rules depending on your relationship to the original owner and when they opened the account. The gains themselves are never taxed, but you may be required to withdraw the money within a certain timeframe.

Can I avoid the 10% penalty on early Roth withdrawals if I withdraw only the gains?

No. The 10% penalty applies to the earnings portion of an early withdrawal if you do not meet an exception. Withdrawing only earnings does not avoid the penalty; it just means the penalty applies to a smaller amount. The exceptions (first-time home purchase, medical expenses, disability) apply to all earnings, not just a portion of them.

If I buy a stock for $1,000 and it becomes worth $10,000 inside my Roth, do I owe any tax when I sell it?

No tax at all, as long as you are 59½ or older and the account has been open at least five years. The $9,000 gain is completely tax-free. If you are under 59½ or the account is less than five years old, the $9,000 gain portion is taxed as ordinary income plus a 10% penalty, unless you may have access to for an exception.

Do I have to report Roth trades to the IRS?

No. You do not file any forms reporting trades inside a Roth, and your custodian does not send a 1099-B to the IRS. The account is tax-exempt, so the IRS does not track individual transactions inside it. You only report contributions or conversions if required by Form 8606.