Return to Facebook   Twitter   Reddit   Instagram   Mastodon   ProtonMail
Support Center / Troubleshooting / Smart Protocol and how to manually select UDP or TCP

Smart Protocol and how to manually select UDP or TCP

The ProtonVPN apps for Android, iOS, and Windows as well as our Linux command line tool allow you to use two different transmission protocols depending on your situation. This article explains when to use each protocol and how to switch between them.


These ProtonVPN apps can use the OpenVPN VPN protocol, which supports both the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). These two protocols determine how the packets of data that make up your online traffic are sent from your device to the VPN server.

There are several technical differences between UDP and TCP, but, broadly speaking, UDP supports faster connections while TCP supports more stable connections and is harder for network administrators to block. The default settings for each of the apps are as follows:

  • The Linux command line tool uses OpenVPN via a UDP port.
  • The Android and Windows apps use Smart Protocol.
  • The iOS app uses OpenVPN via a UDP port.

Unless you have a reason to change protocols, we recommend you leave the default settings alone.

Learn more: What’s the difference between UDP and TCP?

Use UDP if:

  • Your online activity requires a fast connection, like streaming films, playing video games, or sharing files over a P2P network.

Use TCP if:

  • You are in an area with a weak or unreliable WiFi signal. 
  • You are on a network that you suspect blocks VPNs (e.g., a university WiFi network, etc.). 

Smart Protocol

For versions 1.9.2 and later of our Windows app or versions 2.1.5 and later of our Android app, the default protocol option is Smart Protocol. When this feature is enabled, the ProtonVPN app first attempts to connect using UDP. If the app detects that your connection is blocked, it will automatically switch from UDP to TCP and try to connect again. The app also automatically scans the network to discover and use the port that offers the best performance.

Changing protocols manually in the Windows app:

If you would like to change VPN protocols, please follow these steps:

  1. Open the ProtonVPN app.
  2. Go to Settings.
  3. Locate Default protocol.
  4. Select the preferred VPN protocol you would like to use to connect 
  5. That is it! Now you will connect to the VPN using your preferred protocol.

Changing protocols manually in the Android app:

If you would like to change VPN protocols, please follow these steps:

  1. Open the ProtonVPN app.
  2. Tap Settings.
  3. Turn off Smart Protocol.
    Android settings screen
  4. Select which VPN and transmission protocol you would like to use.
  5. That’s it! You will now connect to the VPN using the selected protocol.

Changing protocols manually in the iOS app:

If you would like to change VPN protocols, please follow these steps:

  1. Open the ProtonVPN app.
  2. Tap Settings.
  3. Find Protocol under Security Options. Here you can select which VPN and transmission protocol you would like to use.
    iOS settings page
  4. That’s it! You will now connect to the VPN using the selected protocol.

Related questions

Does ProtonVPN store user information?

Unable to connect

How to change country/server selection?

Post Comment


  1. Kris

    This option for TCP is not available in the most recent version as of today Version 1.3.0 (686) for Mac or Version 1.3.2 on Android. Please advise. TCP should be the default on mobile due to poor network provider connections.

  2. ProtonVPN Team

    Hello Kris. Only windows application supports TCP/UDP switching since all other applications of ours are running IKEv2 which does not have that option.

  3. Niklas

    Where is this option for IOS and MacOS? I can´t find any option to change protocols anywhere.

  4. ProtonVPN Team

    Hello. iOS and MacOS uses IKEv2 which has no option to change the protocol version by its nature.

  5. Alessandro Tagliapietra

    Where is this setting on the OSX app?

  6. ProtonVPN Team

    Hello. Make sure that you have our application open, then left side on the tool bar click on ProtonVPN -> Preferences.

  7. Joeffel

    Then how come the Android client uses IKEv2 instead of OpenVPN?

  8. ProtonVPN Team

    Hello Joeffel. For our standards, IKEv2 seems to be faster than openvpn protocol while holding strong encryption and its easier for us to built a VPN application on it. That is why the IKEv2 was chosen for the Android application. OpenVPN version might come in the future, but for now we do not have plans for it as iOS application is our main priority.

  9. Noc

    Doesn’t work in China. The Great Firewall automatically detects standard OpenVPN protocols, so connections get immediately throttled or reset. Please develop a non-standard protocol to obfuscate the connection. The option to manually change ports would also be helpful.

  10. ProtonVPN

    we’ll be adding additional obfuscation technologies in the future, they’re on the (long) todo list

  11. feafa

    Add SSL tunneling to VPN cout.

  12. David Koch

    1. Initially I had to look up “how to log in” because I either missed it, or the instruction to enter full ProtonMail log-in including was not present.
    2. I still cannot find information about “Profile” and what I can use it for.
    3. Secure Core does slow things down a bit, such as logging into ProtonMail, but speed when SC is off is very good.
    4. So far, your new VPN has operated in a way my current VPN does, so I feel comfortable with it and with the features you’ve included. Good job!

  13. vic

    yes great job

Leave a Reply

Your email address will not be published. Required fields are marked *

Don't find your answer? We're happy to help you!     Contact Our Support Team

Secure your internet

Get ProtonVPN

For customer support inquiries, please submit the following form for the fastest response:
Support Form

For all other inquiries:

Version: OpenPGP.js v4.10.10


You can also Tweet to us: