News
13 min read

Telegram does not work with VPN enabled: reasons and solutions

Telegram does not work with VPN enabled: reasons and solutions Why Telegram does not work with VPN enabled is one of the most common questions in thematic chats and forums. I turned on the VPN to bypass the blockage, but the messenger froze. Texts sometimes come through, but photos are stuck at 0%.

Telegram does not work with VPN enabled: reasons and solutions

Why Telegram does not work with VPN enabled is one of the most common questions in thematic chats and forums. I turned on the VPN to bypass the blockage, but the messenger froze. Texts sometimes come through, but photos are stuck at 0%. Or nothing loads at all. There are several reasons, and they are different — that's why the advice "just change the server" works in about half of the cases.

Below is an analysis of specific scenarios with specific steps. No fluff.

In short: why Telegram does not work with VPN enabled

If you need a quick answer: most often, five things are to blame. MTU does not match the tunnel, the VPN server is overloaded or blocked, a built-in proxy is enabled within Telegram, DNS is leaking outside the tunnel, or Telegram is bypassing the VPN altogether through split tunneling.

Main reasons in one list

  • Incorrect MTU — text goes through, media hangs at 0%. Typical for WireGuard with MTU 1420.
  • Blocked or overloaded VPN server — everything hangs, changing the location helps.
  • Provider's DPI is throttling the protocol — VPN seems to be connected, but traffic is being cut. Characteristic for OpenVPN and WireGuard without obfuscation.
  • Built-in MTProto/SOCKS5 proxy is enabled simultaneously with VPN — conflict of two tunnels.
  • Split tunneling — Telegram is excluded from the tunnel and goes directly, where it is blocked.
  • DNS leak — Telegram server addresses are resolved through the provider's DNS, which returns an incorrect result.

How to quickly understand what the issue is

Look at the symptom:

  • Text comes through, photos and videos hang → MTU is too large, go to the section about WireGuard.
  • Nothing loads at all, but other sites work through VPN → the server's IP is blocked or DPI is cutting the protocol.
  • Calls do not connect, but messaging works → UDP is being cut on the server or corporate Wi-Fi.
  • Telegram works on mobile internet, but not through home Wi-Fi with the same VPN → the issue lies with the provider and DPI on that specific line.
  • Stopped working after updating the VPN app → the default MTU may have changed.

Analysis of reasons: what exactly breaks Telegram

Each point is a separate mechanism of failure. Symptoms are different, solutions are different.

Blocked or overloaded VPN server

VPN provider servers regularly end up on the blocking lists of Roskomnadzor and telecom operators. This is especially true for popular locations — the Netherlands, Germany, the USA. The IP addresses of such nodes circulate in blocking databases like hot cakes.

Overloading is a separate story. Free VPNs and cheap services with hundreds of users on one server give a ping of 500+ ms and packet loss of 20-30%. Telegram cannot handle this — especially calls and file transfers.

Symptom: everything hangs at once, other applications through VPN also lag. Solution: change the location or server.

Incorrect MTU with WireGuard and media loading interruption

This is something almost no one explains properly. MTU (Maximum Transmission Unit) — the maximum size of a data packet. WireGuard by default sets MTU to 1420. But if your internet provider or router works with an MTU less than 1500 (PPPoE, for example, gives 1492), then WireGuard packets start to fragment.

Text messages are small — they go through normally. Photos and videos are large — they break into pieces, some are lost, Telegram waits, does not receive, and the progress bar gets stuck at 0%.

The solution is simple: reduce the MTU in the WireGuard settings to 1280. This resolves the issue in most cases. On a router with VPN, check the MTU of the WAN interface — it should match the provider's value.

DPI and blocking of the VPN protocol by the provider

DPI (Deep Packet Inspection) — a technology that Russian providers actively use for traffic filtering. The system analyzes the structure of packets and recognizes the signatures of VPN protocols. OpenVPN looks very characteristic on the network. WireGuard is also recognizable — it has a specific structure of UDP packets.

When DPI detects VPN traffic, it throttles or drops it. Formally, the VPN is connected, the icon is lit — but the traffic does not go through. Or it goes, but in bursts.

For such cases, obfuscation is needed: Shadowsocks disguises traffic as random noise, VLESS/XRay can hide under TLS, Amnezia WireGuard adds junk packets and changes headers so that WireGuard becomes unrecognizable. On home Rostelecom or MTS, this really works better than bare WireGuard.

The built-in proxy (MTProto/SOCKS5) inside Telegram conflicts with VPN

Many set up MTProto proxy or SOCKS5 directly in Telegram — this was a popular way to bypass blocks before VPNs became widespread. And then they forget to turn it off when switching to VPN.

The result is a double tunnel. Telegram tries to connect through the proxy, the proxy works through the VPN, resulting in a chain with double latency and conflicting routes. Calls, in this case, usually do not work at all — they are especially sensitive to delays.

The rule is simple: either VPN or built-in proxy. Not both at the same time.

DNS leak and substitution of Telegram data center addresses

When the VPN is connected, DNS requests should go through the tunnel. If there is a leak — requests go to the provider's DNS server. And there may well be NXDOMAIN or a substituted address for Telegram servers.

Symptom: Telegram does not connect at all, although other sites open through VPN. This can be checked in a minute through a browser DNS leak test.

On Android 9+, there is a system private DNS (for example, 1.1.1.1 or dns.google). If it is enabled at the same time as the VPN, they may conflict — the tunnel's DNS is ignored. Check: Settings → Network → Private DNS, set to "Automatic" or disable while the VPN is active.

Split tunneling: Telegram goes past the VPN tunnel

Split tunneling is a feature that allows you to choose which applications go through the VPN and which go directly. It's a useful thing, but there is a nuance: if Telegram is added to the exceptions list (intentionally or by mistake), it goes directly — to where it is blocked.

It's not hard to check: go to the settings of the VPN application, find the split tunneling section, and make sure Telegram is not excluded there.

Step-by-step solution for devices

Android

First — check split tunneling in the VPN application. Find Telegram in the exceptions list and remove it from there.

Second — disable the built-in proxy in Telegram: Settings → Data and Storage → Proxy. Make sure it is empty or the switch is off.

Third — if media does not load, find the MTU settings in the VPN application (usually in the advanced settings of WireGuard) and reduce it to 1280.

Fourth — check the system private DNS: Settings → Network and Internet → Private DNS. Temporarily set to "Off" and check if Telegram has started working.

Fifth — if nothing helps, change the protocol: WireGuard → OpenVPN UDP → OpenVPN TCP → Shadowsocks. The last option is for cases when DPI cuts everything indiscriminately.

iPhone and iPad (iOS)

On iOS, you cannot manually change the MTU — this is a system limitation. Therefore, the solution here is to change the protocol and server.

Disable the proxy in Telegram: Settings → Data and Storage → Proxy. Turn it off if it is on.

In the VPN application, change the server — preferably to another country. If it doesn't help, switch the protocol. IKEv2 and Shadowsocks work well on iOS — the latter is especially resistant to mobile operators' DPI.

Check if "Private Wi-Fi Address" is enabled in the iOS settings with some conflicting DNS resolver. Settings → Wi-Fi → (network) → DNS.

Windows

Open the VPN client settings, find the split tunneling section, and make sure Telegram (telegram.exe) is not in the exceptions list.

For WireGuard: open the tunnel configuration file and find the MTU line. If it is not there — add MTU = 1280 in the [Interface] section. Save, reconnect the tunnel.

Clear the DNS cache: Win+R → cmd → ipconfig /flushdns. After that, reconnect the VPN.

Check if Windows Defender Firewall is blocking Telegram traffic when the VPN adapter is active. Control Panel → Firewall → Allow an app.

macOS

For WireGuard through the official client from the App Store: open the tunnel, click Edit, add the line MTU = 1280 in the [Interface] section.

Check the system DNS: System Preferences → Network → (active connection) → DNS. When the VPN is connected, the DNS servers of the VPN provider should be there, not the internet provider's.

Clear the Telegram cache: ~/Library/Application Support/Telegram Desktop — the folder can be found through Finder (Cmd+Shift+G). It is not worth deleting the contents of the tdata folder, but the logs and temp folders can be cleared.

What to check on the router with VPN

If the VPN is set up on the router, and Telegram does not work only on some devices — it is almost always the MTU on the WAN interface.

Go to the router interface, find the WAN settings. If the connection type is PPPoE — the MTU is usually 1492. The WireGuard tunnel on top of it should have an MTU 80 bytes less: 1412 or lower. Check the WireGuard interface settings on the router, reduce the MTU to 1280, and restart the tunnel.

Double VPN (chain of tunnels) — a separate nightmare for calls. Each layer adds encapsulation and reduces effective MTU. Calls through two tunnels break almost always — packets are fragmented twice.

How to check that the VPN is indeed to blame

Honest diagnostics starts with a simple step.

Test with VPN turned off and back

Turn off VPN. Open Telegram, try to send a message and a photo. If everything works — the problem is definitely in the tunnel, you can follow the steps above. If Telegram doesn't work even without VPN — the issue lies with the provider, network-level blocking, or an account problem.

Reverse test: turn VPN back on and immediately check Telegram. If it broke exactly after turning it on — confirmation that the tunnel is to blame.

Checking speed and packet loss

No "magic numbers" are needed — a methodology is required. Run ping to a known address (for example, 1.1.1.1) with VPN turned on: in Windows it's ping 1.1.1.1 -t in cmd, on Mac and Linux — ping 1.1.1.1. Look at the response time and the lines "Request timed out" — they indicate packet loss.

Losses above 2-3% kill calls and significantly slow down media loading. If ping is 200+ ms and there are losses — the server is overloaded or the route is bad. Change the location.

Checking for DNS leaks

With VPN turned on, open a browser and go to dnsleaktest.com or ipleak.net. Click Extended test. Check whose DNS servers are shown in the results. If there are addresses of your internet provider (MTS, Rostelecom, Beeline) — there is a leak. DNS should belong to the VPN provider or a neutral resolver like Cloudflare (1.1.1.1).

Comparing behavior on two servers

Switch to a server in another country and check Telegram again. If everything works on the other server — the IP of the first server is blocked or overloaded, the problem is not in the settings, but in a specific node. A good VPN service offers a choice of dozens of locations specifically for such cases.

What DOES NOT help and why

Half of the advice on the internet on this topic is garbage. Let's break it down specifically.

Endless reinstallation of Telegram

Reinstallation does not fix MTU. Does not fix DPI. Does not fix an overloaded VPN server. These are network-level problems — they exist regardless of which version of Telegram is installed. The only case where reinstallation really helps is a corrupted cache or a bug in a specific version of the app. This is rare.

Blindly turning on all "bypass" options at once

"I'll turn on both proxy and VPN, and add Tor on top" — a classic approach that only makes things worse. The chain of tunnels increases latency, further cuts MTU, and creates routing conflicts. This hits calls particularly hard — UDP packets with voice start arriving in the wrong order or getting lost.

Free overloaded VPNs

This is a separate topic. Free VPNs — Psiphon, Lantern, Touch VPN — operate on servers packed with users. The IP addresses of such services are the first to end up in blocklists because they concentrate suspicious traffic. If Telegram doesn't work with VPN turned on — this is the first suspect when using a free service.

Paid services with obfuscation perform significantly better. NvoVPN, for example, offers obfuscation protocols for the Russian market — there are Shadowsocks and similar options resistant to DPI.

Simultaneously VPN and built-in Telegram proxy

VPN protocol Visibility to DPI Speed Resistance to blocking
WireGuard High Very high Weak under active DPI
OpenVPN UDP High High Weak
OpenVPN TCP Medium Medium Medium
IKEv2 Medium High Medium
Shadowsocks Low High Good
VLESS/XRay Very low High Very good
Amnezia WG Very low High Very good

WireGuard and OpenVPN are fast but easily detectable by DPI. Shadowsocks, VLESS, and Amnezia are specifically designed for obfuscation — they make traffic look like regular HTTPS. During active blocks, these protocols last longer.

Enabling the built-in Telegram proxy over a working VPN is not "double protection," it's a conflict. The traffic tries to go through two routes simultaneously, and the operating system unpredictably chooses one of them.

Frequently asked questions

Why does Telegram load text but not open photos and videos when the VPN is on?

A classic sign of too large MTU with WireGuard. Text messages are small and go through normally, while large packets with media files are fragmented and lost. Go to WireGuard settings and reduce MTU to 1280. If it can't be changed manually (for example, on iOS) — try another server or switch to Shadowsocks.

Do I need to enable the proxy inside Telegram if the VPN is already working?

No. Proxy and VPN conflict simultaneously and create a double tunnel with unpredictable routing. Choose one: either VPN (preferably — it protects all device traffic) or the built-in MTProto proxy of Telegram. Disable the proxy: Settings → Data and storage → Proxy.

Why do Telegram calls not connect through VPN?

Telegram calls use UDP and partially P2P. Some VPN servers and corporate/school networks completely cut UDP — then WireGuard doesn't even start. Try changing the server, choosing a protocol that supports UDP, or switching to OpenVPN TCP. Also, check split tunneling — Telegram should not be in the exceptions list.

Which VPN protocol is better for Telegram when the provider blocks it?

With active DPI, Shadowsocks, VLESS/XRay, and Amnezia WireGuard are more resilient — they obfuscate traffic and are not recognized by standard signatures. WireGuard and OpenVPN work faster but are more noticeable to DPI of Russian operators. If the provider actively blocks VPN — start with Shadowsocks.

Telegram stopped working only after changing the VPN server — what to do?

The IP of the new server may be blocked by Roskomnadzor or overloaded by other users. Return to the working location or choose another server in the same country. If the problem persists in several locations — check if the MTU has changed after updating the VPN application.

Can Telegram not work due to DNS leakage when using VPN?

Yes. If DNS requests go outside the tunnel, the addresses of Telegram data centers may resolve through the provider's DNS, which returns a substituted or blocked address. Check via dnsleaktest.com while the VPN is on. If provider servers are visible in the results — enable DNS protection in the VPN client settings. On Android, additionally check the system private DNS.

Related articles

You might also like