Mayak Blog

Instagram not working — even with a VPN: why, and what to do

The feed will not refresh, stories keep spinning, photos do not load — yet other sites open fine. You switch on a VPN, and Instagram still does not work: either endless loading, or a request to log in again or to confirm it is you. Below — why Instagram’s “not working” comes in three different kinds, how to tell yours apart in a couple of minutes, what a tunnel changes here and what it does not — and our measurement from five machines, over IPv4 and IPv6 separately, together with what it does not say.

In short. If Instagram does not work even with a VPN switched on, the cause is most often not a “weak” tunnel but one of three things: some requests go around the tunnel, the app holds on to an old connection, or Instagram itself saw a login from a new place and asks you to confirm it is you. We measured this from our own machines: from the one in Russia, not a single IPv4 connection to Instagram opened out of nine attempts, while over IPv6 it answered — but demanded a login instead of showing a public profile; from the three abroad everything opened, and the profile showed without logging in. Six reasons, and how to check each one yourself, are below.

We make Mayak — a private network with an app for Android. Everything said about us below is said with measurements or from the source code: how our servers see the network, what the tunnel changes, and what those measurements do not say. You can check it on your own network for free. 3 days free after you confirm your email, no card needed.

Why Instagram does not work when the internet does

Instagram’s “not working” comes in three different kinds. From the outside they look almost the same — a spinner, a feed that will not refresh — but they are built differently, and different things help with each.

First the phone looks up the address, then it knocks on it. Looking up the address is quick, and it usually works: in our measurement the machine in Russia got the correct Instagram address — exactly the same one as a machine reaching the internet through Kazakhstan, where it opened within fractions of a second. What breaks is the next step, the connection itself. And it breaks in different ways.

The first kind: the connection never starts. The phone knocks, and nobody answers. The app waits until it runs out of patience: endless loading, an empty feed, and in a browser, after a long wait, an error with the code ERR_CONNECTION_TIMED_OUT.

The second kind: the connection starts and breaks at once. The answer comes instantly, but it is a cut-off: in a browser — ERR_CONNECTION_RESET. That is how Facebook behaved in our measurement — it shares an owner and neighbouring addresses with Instagram.

The third kind: the road is fine, but Instagram itself will not let you in. The page opens, but instead of the feed or a profile there is a request to log in, enter a code, confirm it is you. This is no longer the network but the service’s own rules: what to show you, it decides partly by the address you came from.

And there are two roads to Instagram: over IPv4 and over IPv6. These are two kinds of addresses, and a modern phone on mobile internet often has both. For the network they are two different routes, and they can behave differently: from one and the same machine of ours, an IPv4 connection never started, while over IPv6 Instagram answered. Which road a particular request took cannot be seen from the phone — hence some of the oddities of the “it loads, then it does not” kind.

The conclusion this section is written for: reinstalling Instagram is almost always useless. In the first two cases it is the road that breaks, and the road does not live in the phone; in the third you need not to reinstall but to answer Instagram’s own check.

How to tell your case apart in a couple of minutes

The point of the check is one: to find out which of the three kinds you have. You do not need a terminal, just the phone. Go in order and remember the answers.

  1. Open something else on the same network. Any site, any other feed. If it opens, you have internet, and “the internet is gone” is not the problem.
  2. Open instagram.com in the phone’s browser. A browser is more honest than the app: it names the error. It thinks for a long time and shows ERR_CONNECTION_TIMED_OUT — the connection never starts. It shows ERR_CONNECTION_RESET instantly — it starts and breaks. A login page or a request to confirm it is you opened — the road is fine, and the question is for Instagram’s rules.
  3. Switch networks. From Wi-Fi to mobile internet and back, in the same minute. A different answer on the two networks means the phone and the app have nothing to do with it — it is that particular network.
  4. Turn the tunnel on and close Instagram completely. Do not just go back to it: swipe it away from recent apps (or tap “Force stop” for Instagram in Android settings) and open it again. If it works after that, the bottleneck was on the road; if not — six reasons are below.
  5. Check your notifications and email. If Instagram sent a login request or asks you to confirm it is you, answer it: until you do, it may not let you further, no matter how well the network works.
What you sawWhat it means
Long loading, ERR_CONNECTION_TIMED_OUT in a browser The connection never starts. The bottleneck is on the road, not in the phone
An instant ERR_CONNECTION_RESET The connection starts and breaks. Also the road, but a different mechanism
Instead of the feed — a login, a code or “confirm it is you” The network is fine. This is Instagram’s own check — answer it
Works on Wi-Fi, not on mobile (or the other way round) That particular network is to blame, not the device and not the service
Captions load, but photos and videos do not Looks like packet size — a separate problem with its own cure
With the tunnel, nothing at all goes through This is no longer about Instagram — “connected but nothing loads” is covered separately
The tunnel does not come up at all Start with that: why it does not connect, and if all of them are silent at once — none of them comes up

Our measurement: where Instagram answers from, and where it does not

We do not retell the news — we measure what we can reach ourselves. On 24 September 2026, from 8:00 to 8:18 Moscow time, we knocked on Instagram from each of our machines — over IPv4 and over IPv6 separately — and in the same minute, from the same machine, on a control site that has nothing to do with Instagram. Separately, we requested a public profile — a page that is normally visible without an account.

Measured fromOver IPv4Over IPv6Public profile
Our machine in Russia The connection never opened Answers A login demand instead of the profile
Netherlands The connection opened Answers Opened
Poland Answers The machine has no IPv6 Opened
Germany The connection opened Answers Opened
Work machine in Moscow reaching the internet through Kazakhstan Answers Not measured Opened

We re-checked the Russian row for seventeen minutes. Over IPv4 — 9 attempts out of 9, the connection never opened once, each attempt given 6–8 seconds. Over IPv6, in the same minutes — 5 out of 5: Instagram answered within hundredths of a second. The control site opened from the same machine all six times out of six — the machine’s network was alive.

The address was correct. The machine in Russia got the same Instagram address as the work machine in Moscow that reaches the internet through Kazakhstan — and from there a connection to it opened within fractions of a second. So the address is alive and Instagram answers on it; only the road to it differs. The machine in Russia has no rules of our own about these addresses — we checked that too, so as not to mistake our own setting for someone else’s.

Facebook next door — a different mechanism. In the same minutes we also knocked on Facebook. Over IPv4, in 9 attempts out of 10 the connection opened within hundredths of a second and broke at once during the handshake, and once out of ten it did not open at all. Over IPv6 it answered 4 times out of 4. Two different kinds of “not working” on one machine within the same quarter of an hour — exactly the first two kinds from the start of the article. And the second is not constant: in those minutes it once behaved like the first.

The login wall is Instagram’s own decision. Our machines in the Netherlands, Poland and Germany and the machine reaching the internet through Kazakhstan got the public profile straight away. To the machine in Russia, Instagram answered the same request with a redirect to the login page. The road has nothing to do with it — an answer came, just a different one. What to show, Instagram decides itself, partly by the address you came from; why exactly this way, we do not know.

Not just our machine. So as not to judge by one address, we looked at OONI’s open database of network tests: volunteers send them in from their own home and mobile connections, and the results are open to everyone in OONI Explorer. From 1 to 23 September 2026 it holds 40,141 tests of www.instagram.com from Russia; in 27,618 of them the answer differed from the control one, in 9,571 everything was as usual. This is not a census of the country: not everyone runs tests, and “differed” does not yet say how. But these numbers are not about one datacentre either.

⚠️ What this measurement does NOT say. Our machine in Russia sits in a datacentre at one hosting company, and that is exactly one address from one network. It does not follow that it is “the same for everyone in Russia”: mobile carriers and home providers have their own picture, and it changes by the hour — Facebook managed to change within a quarter of an hour. We derive no shares and no percentages “for the country” — neither from our measurement nor from the open database.

What a tunnel changes here. Within the same hour we brought up a real tunnel to our Netherlands line — with an instrument, not by description: the handshake took a couple of seconds, the packet size was 1397 bytes, and the exit address matched the address of the Netherlands server. So the request goes out into the network from there — and from there, per the row above, Instagram answers and shows the profile without a login.

This has to be read strictly. We did not measure the full end-to-end path “phone → tunnel → Instagram app”. We measured two links separately: the traffic leaves from the server’s address, and from the server’s address Instagram answers. A chain of two measured links and a measured chain are not the same thing, and we will not pass one off as the other.

Check it on your own network. Our measurement is about our machines in datacentres — it knows nothing about your network, and there is one way to find out: try it with your own carrier, on your own Wi-Fi, on your own evening. The account is created right in the app, and we do not ask for payment details for the trial. A confirmed email opens the access — 3 free days.

The tunnel is on, and Instagram still does not work

The most frustrating case. There are six explanations for it; they are different and are checked one after another, and almost all of them you can check yourself without leaving the phone.

1. The tunnel did not actually come up. The icon is there, but there is no connection — that happens too, and then everything else is beside the point. It takes a minute to check: four checks step by step — did the address change, is traffic flowing. A separate common case on mobile internet: a small set of services opens, and the connection to us does not come up at all — that is mobile internet whitelists, with mechanics of their own. If the tunnel does not come up — why it does not connect; if all of them are silent at once — none of them comes up.

2. Instagram is routed around the tunnel. Apps of this kind have split tunneling: the apps you mark go not through the tunnel but the old way. If Instagram ended up on that list, the tunnel is on and nothing changed for it. In our app this is called “Split tunneling”, and the main screen has a strip of presets with a ready-made “RU Apps” set — Russian services that the tunnel only gets in the way of (how it is turned on). If the app sees that you go online from Russia, it turns this set on by itself once and says so plainly. Instagram is not in it — we checked on 24 September 2026 both the list on our server, where the app takes it from, and the spare copy inside version 0.7.33 — so in our app Instagram goes through the tunnel by default. It is worth looking through the whole list: the set is ours, but the ticks in it are yours.

3. IPv6 goes around the tunnel. If your carrier gives the phone both kinds of addresses and the tunnel wraps only IPv4, requests over IPv6 go around the tunnel — with your real address. For Instagram that is a login from your real address, with everything our measurement showed: a different road and a different answer, up to a demand to log in. And if some requests go through the tunnel and others around it, it sees you in two places at once. What this trap looks like in tunnel settings — in our look at IPv4 and IPv6.

How it is in our app — from the code, not from memory. In our app IPv6 either goes into the tunnel or is not let out at all. It goes into the tunnel where the line’s exit server itself supports IPv6 and the connection takes the direct path, and “Use IPv6” is on in the settings (it is on from the start). In all other cases — on a line without IPv6, on the fallback connection paths, with the setting off — the tunnel does not carry IPv6, and then Android itself does not let it out while the tunnel is up; apps go over IPv4, through the tunnel. There is one exception, and it is yours: apps marked in split tunneling go around the tunnel entirely (point 2). We checked this on 24 September 2026 in the source code of version 0.7.33 — the one now on Google Play and on the site — not on a live phone. If something stopped opening on an IPv6 connection, the hint under “Use IPv6” advises turning it off — that is the app’s own lever.

4. Instagram holds on to an old connection. You turned the tunnel on while Instagram was already open — it may keep waiting for an answer on the old road for a while, the one that did not work. Going back to the app is not enough: close it completely — swipe it away from recent apps or tap “Force stop” for Instagram in Android settings — and open it again. The same after changing the tunnel’s country. This is how network apps work in general; we did not measure it on Instagram specifically.

5. Instagram asks you to confirm it is you. This is not a fault but its rule for protecting the account. Instagram’s help says plainly: a login from a device or browser it does not recognise triggers a request that names the device and its location, and the login has to be approved; and in “Login activity” every login shows its location, with “This Was Me” and “This Wasn’t Me” buttons. A tunnel changes the address you come from — and to Instagram this may look like a login from a new country. That is our inference from its own rule, not its words, and we did not trigger the check ourselves. What to do: answer the check — in the app, in notifications or in email — and do not jump between tunnel countries without need: each new country is a new place to it (advice from the same inference). And remember the login wall from the measurement: what you are shown depends on the address you came from. How to tell a service’s refusal from a network’s refusal in general, we covered using ChatGPT as the example, and “confirm you are not a robot” — separately.

6. The feed loads, but photos and videos do not. A recognisable sign: captions and comments arrive, while pictures, stories and videos stall halfway. Small packets get through, large ones do not. This is not about Instagram at all, and it is not cured inside it: how it works and what to adjust is in a separate article. In our measurement the tunnel set a packet size of 1397 bytes — a chosen value, not a random one. We did not measure photos and videos through the tunnel this time.

Why we have anything to say about this case at all: the app does not travel by a single road. If the first one fails, it tries the next by itself, and nobody has to choose anything by hand — how the connection steps work is covered separately.

What we do not promise

In plain words, so that nothing extra can be read into the sections above.

  • That Instagram will work for you. We make no such promises about any service or any app. What you get depends on your network, your hour and your route — and those we did not measure and cannot measure.
  • That Instagram will not ask you to confirm a login. That is its rule, and it is not about us: a tunnel changes the address, and what to do with that address is up to Instagram.
  • That our numbers are a picture of the country. One machine in one datacentre is one address and one route. We draw no shares, no percentages and no “where it is how” maps.
  • That tomorrow will be like today. The measurement was taken on one day within eighteen minutes, and even in that time Facebook managed to behave in two ways.
  • That we answer for carriers and home providers. The first half of the road — from your device to us — stays entirely yours, and no tunnel remakes it.

What we really can do is answer for our own stretch of the way, measure it and show it as it is, together with what the measurement does not say. And let you check it for free, because on your network the answer will be your own anyway.

What we tested

  • Where Instagram answers from — over IPv4 and IPv6 separately. 24 September 2026, 8:00–8:18 Moscow time, from four of our machines (Russia, the Netherlands, Poland, Germany) and from a work machine in Moscow that reaches the internet through Kazakhstan. The home page, the app’s address and a public profile, plus a control site from the same machine in the same minute — without it a “did not open” row would read as “the machine was down”.
  • The Russian row — nine times over seventeen minutes. Rounds with a pause; not a single open IPv4 connection, an IPv6 answer every time. One failure can be chance, nine in a row cannot.
  • That the address is correct. The machine in Russia and the machine reaching the internet through Kazakhstan got one and the same Instagram address; from the second it opened.
  • Facebook for comparison — the same minutes, the same machine: ten attempts over IPv4 and four over IPv6.
  • That it is not our own setting. On the machine in Russia we checked the filtering rules: not a single mention of Instagram’s or Facebook’s networks, outgoing traffic allowed by default.
  • A live tunnel — with an instrument, not by description. A real connection to the Netherlands line was brought up: the handshake went through, the packet size was 1397 bytes, the exit address matched the server’s address.
  • How IPv6 works in our tunnel — from the source code of version 0.7.33 and of the server that hands out connection settings, not from memory.
  • Our own “RU Apps” set — both the list on our server and the spare copy in version 0.7.33: neither Instagram nor Facebook is in either.
  • Instagram’s help on login requests — read on 24 September 2026 in English and in Russian, so as to retell it rather than our memory of it.
  • We did NOT measure the “feed loads, photos do not” sign here — it is how networks work in general, and we call it exactly that; our own packet size measurements live in a separate article.

What we do not know

It is more honest to list this than to keep quiet: the measurement is a one-off, and you can draw exactly as many conclusions from it as there are in it.

  • We did not measure the end-to-end path “phone → tunnel → Instagram app”. Neither from a phone nor through a mobile carrier. We have two measured links, not a measured chain.
  • How Instagram checks a login when the country changes. We know its rule from its help, not from experience: we did not trigger the check, and when exactly it runs one is not visible to us.
  • Why the address in Russia was shown a login wall. That is Instagram’s own decision; we cannot see its logic and we do not invent explanations.
  • How photos, videos, stories and live streams load through the tunnel. Not measured.
  • How things are with carriers and home providers. Our machines sit in datacentres. We do not answer for other people’s networks and do not draw a portrait of a country from one address.
  • What tomorrow brings. Roads change without warning, sometimes within minutes. Our measurement is eighteen minutes on 24 September 2026, and nothing more.
  • How long it lasts for you. Our connection log does not store which sites and services you visit — so we have nothing to answer that question with.

Short answers

Why does Instagram not work even with a VPN? Most often for one of six reasons: the tunnel did not actually come up, Instagram is routed around the tunnel by split tunneling, IPv6 requests go around the tunnel, the app holds on to an old connection, Instagram itself asks to confirm a login from a new place, or large packets do not get through. All six are covered above.

Why does Instagram ask me to confirm my login when I use a VPN? Because it keeps track of which device and from where people log in to an account, and asks to confirm unfamiliar logins — its help says so. A tunnel changes the address you come from, and to Instagram this may look like a new place. Answer the check — it is its rule, not a fault.

The feed loads, but photos and videos do not — why? It looks like packet size: small ones get through, large ones do not. Covered separately, and cured separately too.

Can part of Instagram go around the tunnel? It can, in two ways: split tunneling and IPv6 that the tunnel does not carry. In our app, by the code, IPv6 either goes into the tunnel or is not let out at all; only the apps you marked in split tunneling go around it.

Will reinstalling Instagram help? Almost certainly not. If the problem is the road, reinstalling does not touch it; if Instagram asks to confirm a login, you need to answer the check, not reinstall.

Will a VPN help if Instagram is not working? We will not promise that about any service. The mechanics are these: a tunnel changes the address the request leaves from — and if the problem was the road, another road may turn out better. If the problem is in your stretch — in the Wi-Fi, in the carrier’s network, in the device itself — or in Instagram’s own rules, a tunnel does not change that.

Does your measurement mean it is like this for everyone in Russia? No, and we will repeat it on purpose: we measured one address in a datacentre at one hosting company. There is not a single share or percentage “for the country” in this article, because we have nothing to measure them with.

Try Mayak

A secure connection for Android and measurements we publish as they are — together with what they do not say. 3 days free once you confirm your email, no card needed.

The account is created right in the app. A confirmed email opens the access — 3 free days.