How to change VPN protocols or select Smart Protocol
All our VPN apps use secure 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).
- Windows: OpenVPN, WireGuard®, and Stealth
- macOS: IKEv2, WireGuard, and Stealth (macOS 12 and less, macOS 13 and 14, macOS 15)
- Android: OpenVPN, WireGuard, and Stealth
- Android TV: OpenVPN, WireGuard, and Stealth
- iOS/iPadOS: WireGuard and Stealth
- Linux: OpenVPN and WireGuard
Learn more about VPN protocols
WireGuard TCP is currently available on Android, Windows, Android TV, macOS, and iOS/iPadOS (the default version of WireGuard, which uses UDP, is also available on Linux, but the TCP version is not).
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, Stealth, or OpenVPN – TCP from the dropdown menu.
![](https://res.cloudinary.com/dbulfrlrz/images/w_710,h_516,c_scale/f_auto,q_auto/v1722938004/wp-vpn/image_963750864/image_963750864.png?_i=AA)
macOS 12 (Monterey) or earlier
A system extension is required to use alternative VPN protocols and/or Smart Protocol on macOS.
1. When you first install and run Proton VPN, the System Extension Blocked notification will appear. Click Open Security Preferences.
![Open Security Preferences](https://res.cloudinary.com/dbulfrlrz/images/w_656,h_728,c_scale/f_auto,q_auto/v1721665010/wp-vpn/macos-monterey-1/macos-monterey-1.png?_i=AA)
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, WireGuard, WireGuard (TCP), IKEv2, or Stealth from the dropdown menu.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
2. At our onboarding screen, click Open Security Preferences.
![At our onboarding screen, click Open Security Preferences](https://res.cloudinary.com/dbulfrlrz/images/w_1200,h_802,c_scale/f_auto,q_auto/v1721665015/wp-vpn/macos-monterey-2/macos-monterey-2.png?_i=AA)
Alternatively, you can manually go to the menu bar →Apple icon → System Settings → Security & Privacy → General tab.
3. 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.
![Unlock your Security & Privacy preferences](https://res.cloudinary.com/dbulfrlrz/images/w_1200,h_1075,c_scale/f_auto,q_auto/v1721665021/wp-vpn/macos-monterey-3/macos-monterey-3.png?_i=AA)
4. Toggle both Proton VPN switches on and click OK.
![Toggle both Proton VPN switches on](https://res.cloudinary.com/dbulfrlrz/images/w_1200,h_1075,c_scale/f_auto,q_auto/v1721665028/wp-vpn/macos-monterey-4/macos-monterey-4.png?_i=AA)
5. In the Preferences → Connection tab of the Proton VPN app, you can now select your preferred Protocol from the dropdown menu, or choose Smart Protocol.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
The first time you use a new protocol, macOS will ask you to conform that wish to add new VPN configurations.
![Allow VPN configurations](https://res.cloudinary.com/dbulfrlrz/images/w_744,h_724,c_scale/f_auto,q_auto/v1721665035/wp-vpn/macos-monterey-5/macos-monterey-5.png?_i=AA)
macOS 13 (Ventura) and macOS 14 (Sonoma)
A system extension is required to use alternative VPN protocols and/or Smart Protocol on macOS.
1. When you first install and run Proton VPN, the System Extension Blocked notification will appear. Click Open System Settings.
![Open System Settings](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_438,c_scale/f_auto,q_auto/v1721665733/wp-vpn/macos-venturaa-change-protocol-1-1/macos-venturaa-change-protocol-1-1.png?_i=AA)
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, WireGuard, WireGuard (TCP), IKEv2, or Stealth from the dropdown menu.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
At our onboarding screen, click Open System Settings.
![At our onboarding screen, click Open System Settings.](https://res.cloudinary.com/dbulfrlrz/images/w_1024,h_668,c_scale/f_auto,q_auto/v1721665001/wp-vpn/macos-onboarding-screen/macos-onboarding-screen.png?_i=AA)
Alternately, you can manually go to the menu bar → Apple icon → System Settings → Privacy & Security.
2. Scroll down to Security → Some system software requires your attention before it can be used and click the Details… button.
![Click the Details… button](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_290,c_scale/f_auto,q_auto/v1721665729/wp-vpn/macos-venturaa-change-protocol-3/macos-venturaa-change-protocol-3.png?_i=AA)
3. After verifying your identity using Touch ID or your system’s password, toggle both ProtonVPN switches on and click OK.
![Toggle both Proton VPN switches on](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_412,c_scale/f_auto,q_auto/v1721665723/wp-vpn/macos-venturaa-change-protocol-4/macos-venturaa-change-protocol-4.png?_i=AA)
4. In the Preferences → Connection tab of the Proton VPN app, you can now select your preferred Protocol from the dropdown menu, or choose Smart Protocol.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
macOS 15 (Sequoia) and later
A system extension is required to use alternative VPN protocols and/or Smart Protocol on macOS.
1. When you first install and run Proton VPN, the System Extension Blocked notification will appear. Click Open System Settings.
![Open System Settings](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_438,c_scale/f_auto,q_auto/v1721665733/wp-vpn/macos-venturaa-change-protocol-1-1/macos-venturaa-change-protocol-1-1.png?_i=AA)
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, WireGuard, WireGuard (TCP), IKEv2, or Stealth from the dropdown menu.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
2. Currently, our onboarding screen needs to be updated to reflect changes implemented by Apple in macOS 15. So close the onboarding screen and manually go to the menu bar → Apple icon → System Settings → General → Login Items & Extensions.
![macOS 15 (Sequoia) enable extensions 1](https://res.cloudinary.com/dbulfrlrz/images/w_1024,h_537,c_scale/f_auto,q_auto/v1726851072/wp-vpn/macos-15-extensions-1/macos-15-extensions-1.png?_i=AA)
3. Go to Extensions → Network Extensions → 🛈.
![macOS 15 (Sequoia) enable extensions 1](https://res.cloudinary.com/dbulfrlrz/images/w_1024,h_545,c_scale/f_auto,q_auto/v1726851045/wp-vpn/macos-15-extensions-2-1/macos-15-extensions-2-1.png?_i=AA)
4. Toggle the ProtonVPN WireGuard switch on and click Done.
![macOS 15 (Sequoia) enable WireGuard extension](https://res.cloudinary.com/dbulfrlrz/images/w_1024,h_858,c_scale/f_auto,q_auto/v1732613200/wp-vpn/macos-network-extension/macos-network-extension.png?_i=AA)
5. In the Preferences → Connection tab of the Proton VPN app, you can now select your preferred Protocol from the dropdown menu, or choose Smart Protocol.
![Select VPN protocol](https://res.cloudinary.com/dbulfrlrz/images/w_800,h_594,c_scale/f_auto,q_auto/v1721664471/wp-vpn/protocols-macos/protocols-macos.png?_i=AA)
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.
![Allow VPN configurations](https://res.cloudinary.com/dbulfrlrz/images/w_744,h_724,c_scale/f_auto,q_auto/v1721665006/wp-vpn/macos-vpn-new-connection/macos-vpn-new-connection.png?_i=AA)
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 → VPN (Ventura + or Settings → Network (Monterey and earlier).
![Verify that a new Proton VPN network service is created](https://res.cloudinary.com/dbulfrlrz/images/w_1414,h_482,c_scale/f_auto,q_auto/v1721664995/wp-vpn/macos-vpn-connections/macos-vpn-connections.png?_i=AA)
Android
1. Open the Proton VPN app and go to the Settings tab → Connection → Protocol.
![](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_984,c_scale/f_auto,q_auto/v1721662227/wp-vpn/android-protocol-1/android-protocol-1.png?_i=AA)
2. Select the VPN protocol you’d like to use from the list.
![](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_413,c_scale/f_auto,q_auto/v1721665720/wp-vpn/protcol-select-android-jpg/protcol-select-android-jpg.png?_i=AA)
Android TV
1. Open the Proton VPN app and go to Settings → Protocol.
![Select Protocol](https://res.cloudinary.com/dbulfrlrz/images/w_1000,h_562,c_scale/f_auto,q_auto/v1722338158/wp-vpn/android-tv-new-9/android-tv-new-9.png?_i=AA)
2. Select your preferred VPN protocol from the list.
![](https://res.cloudinary.com/dbulfrlrz/images/w_1200,h_675,c_scale/f_auto,q_auto/v1721660879/wp-vpn/android-tv-new-11/android-tv-new-11.png?_i=AA)
iOS/iPadOS
1. Open the Proton VPN app and go to Settings → Security Options and tap the Protocol currently being used.
![Tap Protocol in Settings](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_380,c_scale/f_auto,q_auto/v1721666469/wp-vpn/ios-protocols/ios-protocols.png?_i=AA)
2. Select a VPN protocol (or Smart Protocol).
![](https://res.cloudinary.com/dbulfrlrz/images/w_400,h_692,c_scale/f_auto,q_auto/v1721664344/wp-vpn/ios-protocols-2/ios-protocols-2.png?_i=AA)
Linux
Open the Proton VPN app and go to Settings → Connection → Protocol.
![Linux CLI main menu](https://res.cloudinary.com/dbulfrlrz/images/w_661,h_1024,c_scale/f_auto,q_auto/v1724179425/wp-vpn/linux-homescreen/linux-homescreen.png?_i=AA)
![Linux CLI settings menu showing VPN protocol options](https://res.cloudinary.com/dbulfrlrz/images/w_1216,h_1090,c_scale/f_auto,q_auto/v1724179416/wp-vpn/linux-settings-screen/linux-settings-screen.png?_i=AA)
Related questions