Because the two numbers are counting different things. Your profile shows accounts that are live right now. Your data export is a historical record, and since October 2025 it has included deleted, deactivated, and otherwise unavailable accounts that the app stopped displaying long ago. If your export lists 1,240 following and your profile says 1,198, nothing is broken, nothing was hacked, and no tool miscounted. You're looking at the 42 accounts that have since gone away.
This trips people up constantly, usually right after they run their first not-following-back check and find handles that lead nowhere. Here's what's actually happening and how to read the numbers.
Why doesn't my export match the number in the app?
The app renders a live view. When an account deactivates, deletes itself, or gets removed, Instagram stops rendering it — it vanishes from your following list, your followers list, and both counters, with no notice.
The export doesn't work that way. It's a record of your connection data, assembled from what Instagram holds about your account, and it does not silently drop rows for accounts that are no longer displayable. So the export is a superset: everyone the app shows you, plus a residue of accounts that used to be there.
This isn't folklore or a one-off glitch. It has been consistent behavior since October 2025, and it's handled explicitly in the parser behind our tools — every Instagram export we process is expected to contain these entries, and the results are built with that assumption. If your export and your app agreed exactly, that would be the surprising outcome.
What exactly is a "ghost account"?
"Ghost account" gets used loosely online, so it's worth pinning down. In this context it means an entry in your export that has no live account behind it. Three flavors:
- Deactivated — the owner temporarily switched the account off. The profile is hidden but recoverable; they may come back next week under the same handle.
- Deleted — permanently gone. The handle may eventually be reusable by someone else.
- Unavailable — the account exists in some form but can't be shown to you: suspended, restricted, region-blocked, or otherwise not reachable from your account.
Note what this is not. It isn't the marketing sense of "ghost followers," meaning inactive real people or bought bot followers who never engage. Those accounts are alive; they just don't like anything. The ghosts in your export are accounts that no longer render at all.
Why do dead accounts stay in the export lists?
Because a follow relationship is a stored record, and deactivating a profile doesn't delete the record — it hides the profile. The edge between you and that account is still there in your connection data; there's just nothing left to display at the other end.
Deactivation makes this obvious. An account that deactivates today and reactivates in March never stopped following you. If the export scrubbed it, then a comparison against next month's export would report a phantom unfollow followed by a phantom new follower, both of which are wrong. Keeping the row is the more accurate behavior, even though it makes the raw count look inflated.
Why does my not-following-back list show usernames that look dead?
Same cause. A not-following-back list is your following list minus your followers list, computed from the export. If a deactivated account is in your following data and not in your followers data, it lands in the results like any other account — the export gives no flag saying "this one is a corpse."
So you tap a handle from your results, Instagram says the page isn't available, and it looks like the tool made something up. It didn't. It faithfully reported a row that Meta put in your file. There's no way to distinguish a deactivated account from an active one using the export alone, because both are just a username and a timestamp. If the list itself is new to you, start with how to check who doesn't follow you back.
Username changes produce a similar-looking symptom for a different reason: exports store handles, so a friend who rebranded shows up as an unfamiliar string that may or may not still resolve. See where followers and following live in the export for what your file actually holds.
How should I read the two numbers?
Treat them as answers to two different questions:
| What it counts | Use it for | |
|---|---|---|
| App count | Accounts live and visible right now | "How many people can actually see my posts?" |
| Export count | Historical superset, including gone accounts | Comparing one point in time against another |
The gap between them is roughly your accumulated ghost residue. A large gap usually just means an older account, or a following list heavy on the kind of accounts that churn — giveaway accounts, fan pages, throwaways. It is not a measure of anything you did wrong, and it is not a number worth optimizing.
One practical consequence: if you're tracking growth, pick one source and stay with it. Comparing an export count against a profile count month over month produces noise that has nothing to do with your actual audience.
Does the same thing affect unfollower tracking?
Mostly in your favor, with one caveat worth knowing.
Comparing two exports works by set difference — the people in your old follower list who aren't in your new one are your unfollowers. Ghosts sitting in both exports cancel out cleanly and never appear as unfollows. That's exactly why keeping them is the right call.
The caveat: if Meta ever does purge a long-dead account from your data between two exports, that account will surface as an unfollower on the next comparison. It's a plausible false positive, and the tell is obvious — the handle won't resolve to a real profile. If a result leads to an "unavailable" page rather than a person who's clearly still active, treat it as a ghost dropping off the record rather than a friend walking away.
The same logic applies to broken mutuals: a mutual follow that degrades because one side deactivated is a bookkeeping artifact, not a relationship ending.
Should I unfollow the ghosts?
There's no urgency, and there's a real argument for leaving them alone.
- Ghosts in a not-following-back list are harmless. A deactivated account isn't consuming your feed, isn't seeing your posts, and isn't affecting your reach. It's an entry in a file.
- Deactivation is reversible. Unfollow someone who's taking a break and you have to remember to re-follow them when they come back. You won't.
- Bulk unfollowing is the actual risk. Rapid unfollow sprees are one of the more reliable ways to draw a temporary action block. Chasing a cosmetic count difference isn't worth it.
If you want to clean up regardless, do it slowly and by hand, and use the ones that plainly don't resolve as your starting point rather than the whole list.
What's actually worth watching?
Not the gap between the counters. The changes. A number that drifts because dead accounts accumulate tells you nothing; a specific person who followed you for two years and stopped last Tuesday tells you something. That difference only shows up when you have two snapshots to compare — a single export, however you count it, can't produce it. How to see who unfollowed you without a password covers how to start keeping them.
Check yours
See what's in your export right now. Drop your ZIP into the free Instagram unfollow checker — it runs in your browser, the file never leaves your device, and there's no login. You'll get your Not Following Back list plus the raw follower and following lists, so you can see exactly which accounts the export is carrying.
Track the changes over time. UnfollowPeek (free, iOS 18+) stores your snapshots on device and diffs them for you — unfollowers, new followers, and broken mutuals — so the ghost residue stays where it belongs, in the background, instead of confusing your numbers.