True Cost to Phone: What a "Free" iPhone Actually Costs Over 36 Months
Every carrier says the new iPhone is "on us", and I couldn't work out which deal was actually cheapest. So I built a calculator, inspired by Edmunds' True Cost to Own, that counts the plan, the phone, the fees and the trade-in you hand over.
Every September the same thing happens. A new iPhone comes out, and every carrier says it's free. T-Mobile has "up to $1,000 off". AT&T has "up to $1,200 off". Xfinity has "iPhone on us" with "up to $1,300" in trade-in credits. Verizon has its own "up to" number. Meanwhile Tello and Mint will sell you a plan for $25 or $30 a month and let you buy the phone yourself.
This year I sat down to work out which one was actually the cheapest for me, and I couldn't. Not because the math is hard, but because every offer is shaped differently. One gives you credits only on its most expensive plan. Another wants a port-in. Another wants a trade-in, but pays a different amount depending on which phone it is. The "free" phone shows up as monthly bill credits spread over three years, and stops if you leave. None of the pages tell you the one number I wanted: how much will I have paid, in total, by the time this is over?
So I built True Cost to Phone.
The idea: Edmunds' True Cost to Own, for phones
When you shop for a car, the sticker price isn't the cost. Edmunds figured that out years ago with True Cost to Own: depreciation, insurance, fuel, maintenance and financing over five years, added up into one number. A cheaper car can easily cost more to own, and the only way to see it is to put everything on the same scale.
Phone deals have exactly the same problem. The carrier gives you the phone, but locks you into a plan that costs more every month, for 36 months. Tello charges $25 a month and gives you nothing. Which is cheaper depends on numbers you have to go and find, then multiply and add. That's what the tool does.
How it works
Pick your phone, how many lines, what (if anything) you're trading in, and whether you're switching carriers. The tool prices every combination of carrier, plan and route, and ranks them cheapest first.
The formula is the whole point, so here it is:
total = monthly plan × 36
+ phone price − promo credits (buying from Apple: − trade-in value instead)
+ one-time fees (activation, device connection charge)
+ trade-in given up (what Apple would pay for the phone you hand over)
The last line is the one the marketing hides. When a carrier "gives" you a phone for your old iPhone 16 Pro, you're not getting it for nothing. You're giving them a phone Apple would have paid you $510 for. That's real money, so it's counted, whichever route takes it.
A worked example
One line, an iPhone 18 Pro 256 GB ($1,199), an iPhone 16 Pro to trade in.
AT&T Premium 2.0, "up to $1,200 off":
- Plan: $90 × 36 = $3,240
- Phone: $1,199, fully covered by bill credits = $0
- Activation: $35
- The iPhone 16 Pro you hand over: $510
- Total: $3,785
Tello unlimited, buy the phone from Apple with a trade-in:
- Plan: $25 × 36 = $900
- Phone: $1,199 − $510 from Apple = $689
- Fees: $0
- The iPhone 16 Pro you hand over: $510
- Total: $2,099
Same phone, same trade-in, same three years. The "free" iPhone costs about $1,700 more. It's not that AT&T's deal is a scam; the credits are real. It's that the plan you have to be on to get them costs $65 a month more than the alternative, and $65 × 36 is a lot more than $1,200.
That doesn't mean prepaid always wins. With several lines, a port-in, or a phone the carriers value more than Apple does, the order changes, sometimes a lot. That's exactly why it has to be calculated rather than guessed.
What the data says
Once every deal is priced the same way, a few patterns show up that you'd never see from the carriers' own pages. The charts below use the tool's own calculator on the prices it crawled on September 22.
Every top deal is worth the same $689
"Up to $1,200", "up to $1,300", "on us": with an iPhone 16 Pro to trade and a switch, every one of them comes out at exactly $689. That's not a coincidence. A credit can't be bigger than the phone, so each one tops out at $1,199. And the iPhone 16 Pro you hand over is a phone Apple would have paid you $510 for. $1,199 − $510 = $689, whichever carrier's logo is on it.
The plan is a different story. Over 36 months, AT&T Premium, Verizon Ultimate and T-Mobile Beyond cost $2,140 to $2,700 more than Tello. Xfinity Mobile Plus is the one exception: only $360 more, so its deal comes out ahead, about $300 cheaper than Tello in total. The catch is that it needs Xfinity Internet at home.
Your old phone decides what the deal is worth
Carriers pay a flat credit for any eligible phone, in any condition. Apple pays what the phone is actually worth. So the deal is worth the most when the gap between those two is widest: an iPhone 14 traded to AT&T or Verizon saves $1,004, because Apple would only give you $195 for it. Trade in a 17 Pro and the same deal saves $414, because you're handing over a $785 phone.
The practical rule: if you're going to take a carrier deal, give them the oldest phone they still take at full credit, and sell or trade the newer one to Apple.
T-Mobile's free third line flips the answer
Prepaid is priced per line, so Tello and Mint cost the same per line whether you have one or five. T-Mobile works the other way: Experience More is $140 a month for two lines and $140 for three, and Experience Beyond is $170 for both. The third line is free.
That one rule turns T-Mobile from one of the most expensive choices into the cheapest. At one line it works out to $84 a line per month, the second-worst on the list. At three lines it drops to $55, below Xfinity, Tello and Mint, and it gets there through a port-in deal that doesn't even need a trade-in, so everyone keeps their old phone. At four lines it's $51. AT&T discounts extra lines too, but without a free one it only catches prepaid at four lines.
So "prepaid is always cheaper" is true for one person and wrong for a family of three. If you're pricing more than two lines, check T-Mobile before you assume anything.
What the carriers' pages don't tell you
Pricing every deal properly meant reading the fine print, and the fine print is where "up to" lives:
- T-Mobile's top offer needs a recent Pro. An iPhone 14 lands in a much lower tier, and the tier also depends on which plan you're on.
- AT&T's $1,200 only applies on Premium 2.0 or Elite 2.0. Extra 2.0 gets $930, Value 2.0 gets $500.
- Xfinity's "up to $1,300" is $600 for an iPhone 14 and $700 for an iPhone 15. It reaches $1,300 from iPhone 15 Pro up, needs Xfinity Internet, and only works on Mobile Plus, not the cheaper Mobile Select.
- Verizon pays less if you're upgrading an existing line than if you open a new one, and the amount drops again on cheaper plans.
Xfinity doesn't publish its trade-in table at all, so I went through checkout with each phone to read the credit it offered. Where a carrier doesn't publish a number, the tool says so instead of guessing.
Lines, Costco, and the month-by-month view
A few things turned out to matter more than I expected, so they're in the tool too:
- Multiple lines. Plans are priced as the account total for 1 to 5 lines, and each line picks its own phone and trade-in. Promotions credit each line on its own trade-in.
- Switching carriers. A port-in unlocks deals and intro prices that existing customers don't get.
- Costco. Costco sells T-Mobile and AT&T with extra Shop Cards and prepaid Visas, and waives some fees. If you're a member, it can change the winner.
- Compare. Pick up to five routes and see them side by side, with a chart of how much you've paid by each month. Buying from Apple costs more on day one; a carrier spreads it out. Same total can feel very different.
- Plans. Compare plans across carriers on their own: monthly price, intro pricing, data, and how many phone deals each one qualifies for.
Every input is in the URL, so a link opens on exactly the situation the sender priced.
Where the numbers come from
All the pricing lives in one file, data/pricing.json, captured from each carrier's own pages. The carrier sites block plain HTTP requests, so the crawl is done in a real browser with agent-browser. Trade-in values come from the makers' own programs: Apple Trade In for iPhones, Samsung's trade-in for Galaxy phones, the Google Store for Pixels. Every entry names its source.
The page is plain static HTML and JavaScript with no build step, and the arithmetic is pinned by tests, including the facts that are easy to lose, like T-Mobile's tiers and the Costco rules. Taxes are left out everywhere.
Deals change all the time, so the data gets re-crawled regularly. If you see a price that's moved, or your carrier isn't there, the source is on GitHub and pull requests are welcome.
What I took away
- The phone isn't the cost; the plan is. Over 36 months, the monthly price outweighs almost any phone credit.
- Your old phone is money. Whoever takes it, you're handing over what it's worth. Leaving it out of the comparison is how "free" works.
- The plan decides, not the deal. With the same trade-in, every top deal was worth the same $689. What separated them was the monthly price.
- Household size flips the answer. Prepaid wins for one line. At three, T-Mobile's free third line makes it the cheapest route of all.
- "Up to" is a tier table. The headline number is the top row. You have to find the row your phone is on.
Before you sign up for the next "on us" deal, put your own numbers in. It takes a minute and it might save you a thousand dollars.
If you found this useful, you can buy me a coffee ☕.