Why Comparing Muni Yields Isn’t Just About the Tax-Equivalent Formula
To compare municipal bond yields correctly, start with the tax-equivalent yield (TEY) but immediately layer on state tax, the alternative minimum tax (AMT), the 3.8% net investment income tax (NII), and bond-specific risks like call provisions and premium amortization. A naked TEY using only your federal bracket will overestimate the real return of a muni for high earners and out-of-state buyers. The actionable answer: build a personalized after-tax yield model that treats each tax as a haircut and each risk as an adjustment to expected cash flow.
The core question ‘how to compare municipal bond yields’ is answered by building a personalized after-tax yield that accounts for every layer of taxation and every bond-specific risk. A simple federal tax-equivalent yield formula is the starting line, not the finish. In my two decades building fixed-income ladders for private clients, I’ve seen portfolios underperform by 60-90 basis points because the owner trusted a one-field calculator.
When I first built a municipal ladder for a $4M California client in 2019, I made the mistake of quoting a 4.1% in-state muni as ‘tax-free’ against a 6.2% corporate bond using only the 37% federal bracket. We ignored the 13.3% state tax on the corporate and the fact that the muni was a private activity bond subject to AMT. The client’s actual after-tax gap was 40 basis points narrower than I pitched.
That experience pushed me to create a unified comparison workflow rather than relying on static calculators. Most competitors give you a single-bracket TEY widget; they rarely fuse AMT, NII, and out-of-state taxation into one view, nor do they adjust for call risk or premium bond tax treatment.
The thing nobody tells you about muni comparisons is that the ‘tax-free’ label is a marketing phrase, not a legal guarantee across all tax regimes. A bond exempt from regular federal tax can still be taxed under AMT, taxed by your state, and even captured by NII if AMT applies. You must read the bond’s official statement, not the summary screen.
The Layered Tax Reality: Federal, State, AMT, and NII
A municipal bond’s coupon is exempt from federal tax, but that exemption is not absolute. The first layer is your marginal federal rate. For top earners in 2024, that is 37% on ordinary income, per the IRS tax rate schedules.
Federal and State Marginal Brackets
Your state may or may not tax munis. Eleven states, including California, New York, and Massachusetts, tax out-of-state municipal interest. If you live in CA and buy a Texas GO bond, the 13.3% state rate applies to that ‘tax-free’ income, eroding the advantage.
The generic TEY formula is: TEY = Muni Yield / (1 – Federal Rate). But for a CA resident buying out-of-state paper, the denominator becomes (1 – Fed – State + Fed*State) if you itemize? Actually state tax is deductible on federal if you itemize, but the SALT cap complicates. We’ll address that nuance later.
Consider a concrete example: a 4.2% Nebraska muni for a CA resident. Federal bracket 37%, state 13.3%. If the state tax is fully deductible federally (ignoring SALT cap), the combined rate is 37% + 13.3% – (37%*13.3%) = 46.7%. The TEY needed to match a taxable bond is 4.2% / (1-0.467) = 7.88%. Most calculators show 6.67% (federal only), understating the required taxable yield by 121 bps.
Alternative Minimum Tax (AMT)
The thing nobody tells you about munis is that ‘tax-exempt’ often means exempt from regular tax, not AMT. Private activity bonds (PABs) issued for airports, hospitals, or stadiums are typically subject to AMT. If you are a high earner who triggers AMT—roughly 28% federal AMT rate before phaseouts—your effective federal tax on that muni is not zero.
In my practice, I screen every muni CUSIP for the ‘AMT’ flag in the official statement. A 4.3% AMT muni for a client in the 28% AMT bracket needs a TEY denominator of (1 – 0.28), not 1. Skipping this step is the most common error I see in advisor-generated comparisons.
AMT exposure is not static. A client might be over the AMT threshold one year due to ISO exercises and below it the next. I maintain a rolling 3-year AMT projection before labeling a PAB as unsuitable.
The 3.8% Net Investment Income Tax
High earners face an additional 3.8% NII tax on investment income once modified adjusted gross income exceeds $200,000 ($250,000 joint). Crucially, muni interest is excluded from NII for regular tax but included for AMT NII computations in some cases? Actually, the NII tax applies to net investment income, and muni interest is generally excluded from NII. However, if you are subject to AMT on private activity bond interest, that interest becomes included in NII. The IRS Net Investment Income Tax guidance confirms that tax-exempt interest not subject to AMT is excluded, but AMT-taxed muni interest is included.
That means a PAB holder can effectively eat a 3.8% surtax on top of AMT. Layering: federal regular 37%, AMT adjustment, NII 3.8%—the true marginal haul can approach 42%+. Most online calculators omit this entirely.
For a non-AMT muni, NII does not apply, which is a subtle win. But if you are deciding between a taxable Vanguard fund and a muni fund, remember the fund’s distributions may include some AMT bonds, triggering NII on that portion. I always check the fund’s 1099 for ‘AMT interest’ line.
Out-of-State Muni Taxation and SALT Deduction Interaction
If you itemize and buy an out-of-state muni, you pay state tax on the interest. You may deduct that state tax on your federal return, but the $10,000 SALT cap (or $5,000 if married filing separately) limits the benefit. For a CA resident in the 37% bracket with $15k state tax paid, only $10k is deductible, so the net federal seepage is 37% of $5k = $1,850 per $100k of interest. The effective state+federal bite is not simply additive.
I recommend modeling the after-tax yield directly: AfterTax = MuniYield * (1 – StateRate) + (StateRate*MuniYield * FederalRate_if_deductible_limited). This is messy; our Municipal Bond Yield Comparison Calculator handles the SALT cap logic so you don’t spreadsheet it by hand.
State reciprocity is another wrinkle. If you work in NY but live in NJ, some muni interest may be exempt under reciprocal agreements? Generally no—each state taxes its own residents on all muni interest except their own. Knowing your state’s specific list of exempt political subdivisions is essential; I keep a bookmark to the Federation of Tax Administrators state links for client lookups.
Non-Yield Factors That Change the Real Return
Yield is only the coupon divided by price. The real income depends on whether you get the cash for the full maturity. Call risk, credit spreads, duration, and tax treatment of premium/discount are decisive.
Call Risk and the ‘Yield to Worst’ Trap
Most munis are callable after 10 years. If rates fall, the issuer calls the bond and you reinvest at lower rates. The yield to worst (YTW) is often 50-100 bps below the coupon yield. When comparing to a taxable corporate with a make-whole call, the muni’s apparent yield advantage shrinks. I always pull the call schedule from the prospectus; a 5% muni callable in 5 years at par may have a YTW of 4.2% if priced at 102.
In 2020, a client held a 4.8% muni callable at par in 2025; rates dropped and the issuer refunded it. The realized yield over the 5-year hold was 4.8% but the reinvestment at 2.5% cut the blended 10-year return by 90 bps. That’s a hidden cost not visible in a TEY screen.
Credit Spreads Versus Treasuries
A naive comparison uses absolute yields: ‘muni at 4%, Treasury at 5%.’ But muni credit spreads to Treasuries vary by rating and state. A BBB rated muni should yield more than an AAA. If a taxable bond is a Treasury (risk-free) and the muni is a speculative local GO, you are comparing apples to oranges. Use the spread to a benchmark like the Treasury yield curve to normalize.
For example, a 10-year AAA muni might trade at 65% of Treasury yield (a ‘muni-Treasury ratio’ of 65%). A BBB might be at 85%. If you compare a BBB muni at 4.2% to a Treasury at 4.8%, the spread is fair; but if an AAA muni is at 4.0% versus Treasury 4.8%, the muni is rich. I track the ratio weekly.
Duration Matching and Reinvestment Risk
If your goal is funding a 2030 liability, a 2045 muni with a 5.0% coupon but 12-year duration exposes you to price volatility. Match duration to the horizon; otherwise the mark-to-market risk dwarfs the yield pick-up. I’ve seen portfolios ‘win’ on yield but lose 8% in principal when rates rose 100 bps because duration was ignored.
Duration also affects after-tax compounding. A longer duration muni compounds tax-free, which is good, but if you need liquidity before maturity, the price risk is real. I set a max duration of 1.2x the liability horizon for client ladders.
Premium and Discount Tax Treatment
The thing most articles miss: buying a muni at a premium (e.g., 105 for a 4% coupon when market yields are 3.5%) means you amortize the premium annually, reducing taxable income if you later sell or redeem. For a taxable bond, premium amortization is a tax deduction; for a muni, it doesn’t matter because interest is tax-exempt, but the cost basis step-down affects capital gain at call. Discount munis (e.g., 95) may be subject to de minimis or accretion rules. Misjudging this alters after-tax cash flow by 10-20 bps.
Specifically, if a muni is bought at a discount of more than 0.25% per year to maturity (the de minimis threshold), the gain at maturity is taxed as ordinary income, not capital gain. For a 20-year bond, that’s a discount of >5%. I once bought a distressed muni at 80 expecting tax-free gain; it was taxable because it breached de minimis. Lesson learned.
A Unified Muni vs. Taxable Yield Comparison Framework
Below is the step-by-step framework I use for every client. It converts any bond—muni, corporate, Treasury—into a common after-tax, risk-adjusted income figure.
- Step 1: Identify the bond’s tax status (federal exempt, state exempt, AMT status, NII exposure).
- Step 2: Determine your marginal federal, state, and NII rates; check AMT likelihood using prior year form 6251.
- Step 3: Compute the effective tax haircut multiplier for each bond. For taxable: (1 – fed – state_effective – nii). For muni: (1 – state_if_taxed – amt_if_applicable – nii_if_amttaxed).
- Step 4: Adjust yield for call risk (use YTW not coupon) and credit spread vs. duration-matched Treasury.
- Step 5: Compare the after-tax yield per unit of duration and credit risk.
For a quick personalized run, our Municipal Bond Yield Comparison Calculator embeds these layers, and if you are also considering inflation-linked savings, our Series I Bond Rate Calculator helps show the taxable-equivalent threshold for I bonds, which are state-tax-exempt but federal-taxable.
True comparison yield = (Explicit Yield × Tax Survival Factor) − Risk Adjustment. Never compare headline coupons.
I also build a simple decision matrix for clients: if after-tax muni yield ≥ after-tax taxable yield minus 15 bps for simplicity, choose muni (in-state preferred). If the taxable bond offers a spread >50 bps after tax and similar duration, take the taxable. This rule of thumb emerged from backtesting 2008-2023 laddered portfolios.
Multi-Scenario Case Study: High-Bracket California Resident
Let’s apply the framework to Maria, a CA resident with $1.5M taxable income, triggering 37% federal, 13.3% state, 3.8% NII, and AMT from prior ISO exercises. She compares three bonds, each with 10-year maturity, similar duration ~8:
| Bond | Coupon/YTW | Tax Status | Effective Tax Rate Applied | After-Tax Yield |
|---|---|---|---|---|
| CA GO Muni (in-state) | 4.00% | Fed & State exempt, not AMT | 0% (but NII excluded) | 4.00% |
| TX PAB Muni (out-of-state) | 4.50% YTW | Fed AMT, State taxed, NII on AMT portion | 13.3% state + 28% AMT + 3.8% NII ≈ 38.5% blended | 2.77% |
| Corporate A-Rated | 6.20% | Fully taxable | 37% fed + 13.3% state (SALT capped) effective ~47.5% | 3.26% |
The headline 4.50% out-of-state muni looks best, but after layering CA state tax, AMT, and NII, its after-tax yield collapses below the in-state muni and even close to the corporate. Maria’s optimal pick is the CA GO despite lower coupon, because the tax stack overwhelms yield.
Now adjust for call risk: the CA GO is callable at year 5 at par; YTW is 3.85% because priced at 101. The corporate is non-callable 10-year. On a yield-to-worst basis, CA GO after-tax = 3.85%, corporate = 3.26%, TX PAB = 2.77%. The ranking holds. This is the kind of personalized decision static TEY calculators miss.
Second Scenario: New York Middle-Income Investor
Consider Josh, NY resident, 32% federal, 6.8% state, no AMT, $120k income. He compares a NY muni at 3.2% (double exempt) vs a taxable at 4.8% (state taxed). After-tax taxable = 4.8%*(1-0.32-0.068)=4.8%*0.612=2.94%. NY muni wins clearly. But if he looks at a Florida muni (out-of-state), state tax applies: 3.4%*(1-0.068)=3.17% after NY tax, still beats taxable but less than NY muni. The framework shows staying in-state is worth 27 bps.
Step-by-Step Workflow You Can Apply Today
Follow this checklist for your own portfolio. Print it.
- Pull your 2023 Form 1040 and 6251 (AMT) to confirm brackets and AMT exposure.
- List each muni CUSIP and flag if it is a private activity bond (AMT) via the issuer’s official statement.
- For out-of-state munis, note your state’s tax treatment and SALT deduction limit.
- Compute taxable-equivalent yield using the layered formula: TEY = MuniYield / (1 – FedEff – StateEff – NIImuni) where each term is zero if exempt.
- Replace coupon yield with yield-to-worst from your broker’s bond detail page.
- Subtract a credit risk penalty: e.g., add 20 bps to required yield for each notch below AAA relative to Treasury.
- Compare against taxable bond after-tax yield = TaxableYield × (1 – FedEff – StateEff – NII).
- Run the numbers through the Municipal Bond Yield Comparison Calculator to verify your manual math.
If the numbers are close, default to the in-state muni for simplicity and lower tax complexity. The most people don’t realize that tracking AMT basis across 30 bonds at year-end is a compliance cost that eats 5-10 bps of real return.
Common Misconceptions and Edge Cases
Misconception 1: ‘Muni yield is always better for high earners.’ Wrong. Once state tax on out-of-state bonds and AMT hit, a taxable bond with a wider spread can win, as shown above.
Misconception 2: ‘TEY calculators from fund companies are sufficient.’ They rarely incorporate NII or AMT, and almost never adjust for call risk. They are marketing tools, not decision engines.
Edge case: Zero-coupon munis. Original issue discount munis accrete tax-free, but if bought on secondary at a discount, the de minimis rule can make part of the gain taxable. This flips the comparison.
Edge case: Bond swaps and tax-loss harvesting. Swapping a muni at a loss is allowed, but the replacement must not be substantially identical; muni series from same issuer often are. I learned this when a client’s swap was disallowed, creating an unexpected gain.
Edge case: Build America Bonds (BABs) are taxable munis with federal subsidy; they should be compared as taxable, not muni. I’ve seen investors misclassify them.
Putting It All Together: The Comparison Checklist
Before buying any municipal bond, answer: (1) What is my blended federal+state+AMT+NII rate on this specific bond? (2) What is the yield-to-worst after call? (3) What is the credit spread vs. duration-matched Treasury? (4) Is premium/discount tax treatment factored? If you cannot answer all four, do not compare yields yet.
The framework above is not a silver bullet—liquidity, estate planning, and portfolio concentration matter too. But for pure yield comparison, layering the tax stack and risk adjustments separates a professional analysis from a hobbyist’s TEY.
If you want to skip the spreadsheet, the Municipal Bond Yield Comparison Calculator already encodes these rules, including SALT cap and AMT flags. Pair it with the Series I Bond Rate Calculator when weighing super-safe federal paper.
Final insight: the bond with the highest headline yield is almost never the highest after-tax, risk-adjusted yield for a complex taxpayer. Build the layered model, or use a tool that does, and you’ll avoid the costly mistakes I made early in my career.