All our VPN apps use secure VPN protocols:
- Windows: OpenVPN, WireGuard®
- macOS: OpenVPN, IKEv2, WireGuard, and Stealth
- Android: OpenVPN, WireGuard, and Stealth
- iOS/iPadOS: OpenVPN, IKEv2, WireGuard, and Stealth
- Linux: OpenVPN
Learn more about VPN protocols
You can use OpenVPN and WireGuard in UDP or TCP modes. UDP is faster, but TCP is more reliable and can be effective at defeating certain kinds of censorship (but not as effective as Stealth).
WireGuard TCP is currently available on Android, macOS, and iOS/iPadOS, with other support on platforms to follow.
Learn more about the difference between UDP and TCP
Smart Protocol
Our Windows, macOS, Android, and iOS/iPadOS apps also support the Smart Protocol anti-censorship feature. This intelligently probes networks to discover the best VPN protocol configuration required for optimal performance or to bypass censorship.
For example, it can automatically switch from WireGuard to OpenVPN, or OpenVPN UDP to OpenVPN TCP, using different ports as required.
Learn more about how Smart Protocol works
Smart Protocol is enabled by default in all apps that support it and must be disabled to manually change VPN protocols. In this guide, we show you how to enable or disable Smart Protocol and how to manually change VPN protocols.
Windows
1. Open the Proton VPN app and go to ≡ → Settings → Connection tab → Protocol.
2. Select Smart, WireGuard, OpenVPN – UDP, or OpenVPN – TCP from the dropdown menu.

A system extension is required to use alternative VPN protocols and/or Smart Protocol on macOS.
macOS 12 (Monterey) or earlier
1. If you are installing the app for the first time, you will be prompted to allow this extension the first time you run the app (jump to step 2).
If you are upgrading from an older version of the app, you will be prompted to do this the first time you select OpenVPN, Wireguard, Stealth, or Smart Protocol in Preferences.
To do this, open the app and go to the menu bar → ProtonVPN → Preferences → Connection tab →Protocol and select Smart Protocol, OpenVPN (TCP), OpenVPN (UDP), WireGuard, WireGuard (TCP), or Stealth from the dropdown menu.

2. A window will open to help guide you through the process. Click Begin configuration to continue.


3. When the System Extension Blocked window opens, click Open Security Preferences.


4. This opens the macOS Security & Privacy settings. Click the lock and enter your password or use Touch ID to unlock your Security & Privacy preferences. Then click Details… next to Some system software requires your attention before it can be used.


5. Select both ProtonVPN checkboxes and click OK.


6. Click OK in the confirmation dialog box.


7. In the Preferences → Connection tab, you can now select your preferred Protocol from the dropdown menu, or choose Smart Protocol.



macOS 13 (Ventura) and later
1. When you first install and run Proton VPN, the System Extension Blocked notification will appear. Click Open System Settings.


If you are upgrading from an older version of the app, a configuration window will open the first time you select OpenVPN, Wireguard, Stealth, or Smart Protocol in Preferences.
To do this, open the app and go to the menu bar → ProtonVPN → Settings → Connection tab →Protocol and select Smart Protocol, OpenVPN (TCP), OpenVPN (UDP), WireGuard, WireGuard (TCP), or Stealth from the dropdown menu.



Select the click here link to open the Privacy & Security tab in System Settings or go to the menu bar →Apple icon → System Settings → Privacy & Security tab.




3. After verifying your identity using Touch ID or your system’s password, toggle both Proton VPN switches on and click OK.


4. In the Preferences → Connection tab, you can now select your preferred Protocol from the dropdown menu, or choose Smart Protocol.



Is root access or special permissions required to change VPN protocols in macOS?
No. When you first change to the OpenVPN or WireGuard protocols (or Smart Connect), macOS creates a new network service and a new System Extension is installed. As a security feature, macOS asks to authenticate these changes with a password or using Touch ID.
This does not require root privileges, and none are asked for.You can verify that a new Proton VPN network service is created by going to Settings → Network.


Android
1. Open the Proton VPN app and go to ≡ → Settings → Advanced →Protocol.


2. Select the VPN protocol you would like to use from the list.


iOS/iPadOS
1. Open the Proton VPN app and go to Settings → Security Options and tap the Protocol currently being used.


2. Select a VPN protocol (or Smart Protocol).


Linux CLI
Run the tool from a terminal window:
protonvpn-cli c
Select a country and server. You will then be prompted to Choose a protocol. (Note: At the moment, the Proton VPN Linux CLI only supports OpenVPN UDP and OpenVPN TCP.)


Linux app
1. Open the Linux app and ensure that you not connected to a VPN server.
2. Open a terminal window and enter one of the following commands.
For OpenVPN TCP:
protonvpn-cli config -p tcp
For OpenVPN UDP:
protonvpn-cli config -p udp


You can now close the terminal window and connect to a VPN server as usual. (Note: At the moment, the Proton VPN Linux app only supports OpenVPN UDP and OpenVPN TCP.)
Related questions
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.
0
Hello Kris. Only windows application supports TCP/UDP switching since all other applications of ours are running IKEv2 which does not have that option.
0
Where is this option for IOS and MacOS? I can´t find any option to change protocols anywhere.
0
Hello. iOS and MacOS uses IKEv2 which has no option to change the protocol version by its nature.
0
Where is this setting on the OSX app?
0
Hello. Make sure that you have our application open, then left side on the tool bar click on ProtonVPN -> Preferences.
0
Then how come the Android client uses IKEv2 instead of OpenVPN?
0
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.
0
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.
0
we’ll be adding additional obfuscation technologies in the future, they’re on the (long) todo list
0
Add SSL tunneling to VPN cout.
0
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!
0
yes great job
0