Return to protonvpn.com 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

13 comments

  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 @protonmail.com 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:
contact@protonvpn.com


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: OpenPGP.js v4.10.10
Comment: https://openpgpjs.org

xsBNBFiYeeIBCACpwuYcTsACyjQaqY3tOUonokamGZf3VDuLvcA9nQnu4vlB
n1RFFUJa5Pmf2yZ9EjJFSldTl5lreE3tFf53CcZ9wKa1R6aMnN/0VqURJho0
ZTqevQlCvuJ9kKHkDck3Em0/1WWnhDJgabp+fOa5HAHoAvcNy5gVPuexTT/N
wp6QcfB7w+qFhf73s0bcSn5RC+FAYlQxZVFhFtA7/7LthBVatDJrYLYP9XJd
zOZqz9AX0XZwKal25RcVeGHkNKgloo0bTgro4D88MR7saqXFHTRhy3+Wss7c
uqrh0uIkVmqtadoK/rAbqOyFXQ2DlvSMVrEMLUvwlZbC0taqcKDfNA+FABEB
AAHNLWNvbnRhY3RAcHJvdG9udnBuLmNvbSA8Y29udGFjdEBwcm90b252cG4u
Y29tPsLAfwQQAQgAKQUCWJh54wYLCQcIAwIJEN4dfnhhw11TBBUIAgoDFgIB
AhkBAhsDAh4BAAoJEN4dfnhhw11T6PwIAKgIHTUaEcCFQ5WfmwGpdhRgFe7H
gnHR8UOFPrRKnbCOQgTVPGwCFt8UVFhEgbmtroThU89DpxFSYUOD6nZ2k1X3
X4Q9OsItFUUuhPtLJrkz5ghtZLmsAH/edTRbVU1Ew1E8KbylLFI1J5yId7zR
GdnaTXv/E7P3po5X/b08TFAhXSyYYUbMeQuthbJajtpFygr53lm47cOWa4N8
udqLhmpheaQj04DuqYXOGC08JQn+XbHzhFl5Yvlt9Idk8+7c2UJ0qgWKQ5ZV
mquRAw5HDCQM5OqF1MoImDxOH+tK3PUlvFDsLZ1WPEOHK/EN12sPBx0x1R04
fcPTPdbMwgISGM3OwE0EWJh54gEIALqhrLUpvarPc0nkuHpyJC/MsrIDPLuV
qMc49tgjgDBsyIKJFEP9qCnkSOEixaFi+nTljUSpkHGR+PvEGecmcOdW6djN
QGxon/nwBT9d8HbtxJesaEIzwRAxmqQW9MqNq4UsfNQ0VvUYqV9wEbYfdDT/
jZfz9N0hjFELF1sg3UPcCRijhf162bp+rLQdO9vWVUbOdMQvsM/kyUJ6JMXR
xUtyKC05ddxii2SMr4XUW45ostPbxJybOF5oSZpEb1EIlrTLLPAe/498XlBW
hpRAPe+9ZfNs7drMvUEFnnOXahrXAuaaZpyaS/XBaloqSb1+v2AkUep3dbSF
PaRtbXRMS+kAEQEAAcLAaAQYAQgAEwUCWJh54wkQ3h1+eGHDXVMCGwwACgkQ
3h1+eGHDXVMZ4Qf4hu5N8/uYNDqJMFRIWSCpPGxmyIVXGARG4hgR8gwPZY9K
fReAUndX3uODBNIgZU7I3YntawU1DlP6GpP6yyR/8lfUMNCAXPDmd+zTFYIJ
UDHD8sw2GRrFVzFOKUpAapWFOI4XjSMP2UiK4HgrpUjAhe1wSaa7nEjtAuYT
zFx1QSuQD1iYcOF/FAm7EuhBIfWITjYAobGM6gonPbp3IPHM52rUbulllcdV
vCLs+blcyiVCGZlNcmlg3eibAJJL19TQLqT2DbQvQ/SyVBJGjoT+y4TTRtmZ
cebEjt2KJcc4x2lzPq3z2KJNyJTOTMB+aYD9Ma9IObDds+M/+5XDWi7f
=ueTT
-----END PGP PUBLIC KEY BLOCK-----

You can also Tweet to us:
@ProtonVPN