Both accounts are built to save you money on taxes — they just do it at opposite ends of the timeline. A traditional 401(k) lowers your taxable income now and taxes withdrawals in retirement; a Roth IRA is funded with money you've already paid tax on, and withdrawals in retirement are tax-free. Neither is universally "better" — the right order depends on your employer match and your income now versus your expected income later.
Step one: capture the full employer match
If your employer matches 401(k) contributions, that match is an immediate, guaranteed return that no other account can offer. Before funding anything else, contribute enough to your 401(k) to get the full match — leaving it unclaimed is turning down free money before any tax discussion even applies.
1) 401(k) up to the full employer match. 2) Roth IRA up to its annual limit, for the tax-free growth and withdrawal flexibility. 3) Back to the 401(k) beyond the match, if you still have more to save.
Why the Roth often comes second, not last
A Roth IRA has an income limit for direct contributions, and its annual contribution cap is well below a 401(k)'s. But it offers something a 401(k) doesn't: you can withdraw your original contributions (not earnings) at any time without penalty, and there's no required minimum distribution in retirement. That flexibility is why many advisors suggest filling it after the employer match, before maxing out the 401(k) further.
The tax-bracket question
| If you expect... | Lean toward |
|---|---|
| A higher tax bracket in retirement than now | Roth — pay tax now at a lower rate |
| A lower tax bracket in retirement than now | Traditional 401(k) — defer tax to a lower future rate |
| Genuine uncertainty either way | Split contributions between both for tax diversification |
The bottom line
Nobody can predict their exact future tax bracket, which is why splitting contributions between a traditional 401(k) and a Roth IRA is a reasonable default when you're unsure. What matters most in the near term is simple: capture the full match first, everything else is a secondary optimization.