Should I repair or replace my iPhone?
A practical framework for deciding whether to fix your iPhone or upgrade. Real numbers, no upselling.
The honest answer: it depends on the cost ratio, the device's age, and one question most people forget to ask.
The 30 percent rule
A useful rule of thumb: if a single repair costs more than 30 percent of the device's current resale value, replacement starts to make sense. Below 20 percent, repair is almost always the right call.
For a four-year-old iPhone 12 Pro worth around £325 in the UK second-hand market, an £130 logic board repair sits at 40 percent. That's borderline. An £50 battery replacement, at 16 percent, is a clear yes.
What changes the maths
Three things tilt the calculation toward repair even at higher ratios:
- Single-fault devices. If everything else works, you're paying to extend an already healthy device's life by years.
- Data continuity. Migrating photos, app state and saved logins to a new device is genuinely costly in time, even with iCloud.
- Resale value preservation. A working iPhone holds value much better than a broken one. The repair often partially pays for itself.
And tilt it toward replacement:
- Multiple things failing at once. Battery plus charging port plus camera glass adds up fast.
- Devices over 5 years old. Parts get harder to source and costs can creep.
- Software end-of-life. If your model has stopped getting iOS updates, that's a ticking clock regardless of hardware health.
The question most people skip
Before you decide, ask: would I be happy with this device for another two years if it worked perfectly today?
If the answer is yes, repair. If you've been mentally upgrading for a while, the broken screen is just an excuse, and replacement is what you actually want. Both are valid, but the second one isn't really a repair-versus-replace decision.
What FixIt Quick tells you
Every diagnosis on FixIt Quick includes a worth-repairing score, calibrated to UK second-hand prices and your device's age. It's an estimate, but it's grounded in real numbers rather than a generic table.