In today’s tutorial I am going to show you how to connect to ExpressVPN using manual OpenVPN configuration files with third party OpenVPN clients for Windows, Mac, Android, and iOS.
This can be very useful if you are using ExpressVPN in China because the manual OpenVPN server IP addresses are different from the ones used in the apps. If the server IPs used in the apps get blocked by the Great Firewall, the manual OpenVPN server in the same location will often still work.
Even if you are not in China, some people still prefer to use manual OpenVPN connections because the client software is open source.
How to setup manual OpenVPN on Windows
Step 1 – Download the client
Download the latest version of the OpenVPN GUI client and install it. The OpenVPN website is blocked in China, but you can access it by using Simple DNSCrypt. Alternatively, you can download the client using the links below if you are in China.
Download OpenVPN GUI v2.5.0 for 64bit Version
Download OpenVPN GUI v2.5.0 32bit Version
Step 2 – Download the ExpressVPN .ovpn config files
Go to the ExpressVPN website and log into your account.
If you are in China without another VPN installed and the above link does not work for you, try the alternative links on the China-accessible VPN links page.
After you log into your account, go to the setup page and choose Manual Config as shown below.
Download the configuration files for the servers that you want to connect to. I am just doing Taiwan 3 for this tutorial but you may want to set up a few different locations. Leave this page open because you will need to come back here later to copy your username and password.
Note – The servers I am using for this guide may not be working at the time you are reading this. You may have to try several different servers to find a working one. Or check the 2020 China VPN blog page for the latest servers that I’m using.
Step 3 – Edit the config to block DNS leaks (for Windows 10)
If you are using Windows 7 or Windows 8 then you can skip this step.
Windows 10 is notorious for DNS leaks and the VPN will not work properly unless we add the block-outside-dns directive to the configuration file.
Open the .ovpn file in a text editor and add a new line with the text block-outside-dns as shown below.
Now save the file. If you rename the file, make sure that the file extensions stays as .ovpn and not .txt.
Step 4 – Import the configuration file
Open the OpenVPN GUI app and then right-click on the icon in the system tray and choose Import file…
Step 5 – Connect
After importing the file, you should see a new server on the right-click menu. If I recall correctly, it won’t show you the file name when you only have 1 configuration imported. It will just say “connect” or something. In my case, I already have many configurations imported so I can see the name of the file I imported on the bottom of the list.
Choose the Connect option as shown below.
How to setup manual OpenVPN on Mac
The instructions are almost exactly the same as Windows except there is no need to edit the configuration file to block DNS leaks before importing the config files.
There is no official OpenVPN client for Mac, but you can use the open source Tunnelblick app.
Step 1 – Download the client
Download the latest version of Tunnelblick
The Tunnelblick website is blocked in China. If you are in China without another VPN, you can download Tunnelblick using the link below.
Step 2 – Download the ExpressVPN .ovpn config files
This step is the same as the Windows instructions above. Check the Windows section above for further details.
Step 3 – Install Tunnelblick and import the configuration files
After installing the Tunnelblick client, you can drag the OpenVPN configuration files that you downloaded in step 2 into the Tunnelblick app.
After adding the files, you will be asked whether to install the configurations for all users or only me. Choose all users if you want to be able to connect to the VPN from other user accounts on your computer. Otherwise, choose only me if you only want to connect to the VPN from your current user account.
Step 4 – Choose server and connect
Choose a server location that you imported the config file for in step 3 and click Connect.
Now you will be asked to enter your OpenVPN username and password shown on the ExpressVPN website in step 2.
It is recommended to save both the username and password in Keychain so you don’t have to enter these every time you connect.
How to setup manual OpenVPN on Android
The official OpenVPN Connect app for Android and iOS does not work with the ExpressVPN OpenVPN configuration files. The reason for this is because ExpressVPN uses the fragment directive in their configuration, which is not supported by the OpenVPN Connect apps.
However, there is another app for Android that does support the fragment directive.
Step 1 – Install the OpenVPN for Android by Arne Schwabe app
Download the OpenVPN for Android by Arne Schwabe app.
If you are in China without another VPN and cannot access the Play Store, download the OpenVPN for Android by Arne Schwabe app below.
Download OpenVPN for Android by Arne Schwabe v0.7.21
Step 2 – Download the config files
Open the ExpressVPN website on your Android device and log into your account.
If you are in China without another VPN installed and the above link does not work for you, try the alternative links on the China-accessible VPN links page.
After logging into your account, choose Set Up ExpressVPN.
Then open the link that says “show other devices”.
Choose Manual Config
Take note of your OpenVPN username and password. You will need to come back here later to copy these.
Download a config file from the list, which is separated by regions. I recommend Los Angeles 5 and San Jose from the Americas region, and Tokyo 3 from the Asia Pacific region. As of December 2019, these are the best working locations. Try other locations if these are not working for you.
Step 3 – Import the config file
After the download is complete, most web browsers will give you an option to open the file you just downloaded. Open the file and then choose Import OpenVPN configuration with the logo of the OpenVPN for Android by Arne Schwabe app. I recommend choosing “just once” in case you want to download other config files with another client in the future.
Note – If you didn’t see an option to open the file you just downloaded in your browser, you can also import the file directly from the OpenVPN for Android by Arne Schwabe app. Open the app and then choose the + symbol on the top right, tap on the text that says “import”, and then choose the file saved on your phone.
Now tap on the check-mark to confirm the import.
Now repeat this step for any additional config file locations that you want to add.
Step 4 – Connect
Choose the location you want to connect to and then enter your OpenVPN username and password (see step 2).
I recommend enabling the Save Password option so you don’t have to enter it every time you connect.
Tip for Android – The OpenVPN for Android by Arne Schwabe app has an option for split tunneling (choose which apps use the VPN and which apps bypass the VPN). The setting is done individually for each server. To set this up, tap on the pencil icon beside the server you want to set up. Then choose the Allowed Apps tab within the settings.
How to setup manual OpenVPN on iOS (iPhone and iPad)
After ExpressVPN ended support for manual OpenVPN TCP connections on June 30, 2019, there is currently no known solution to use manual OpenVPN connections on iOS with ExpressVPN (due to the fact that their UDP configurations use the fragment directive)
If anyone can find an iOS OpenVPN client that supports the fragment directive, please leave a comment and let me know.
Alternatively, you can set up manual L2TP connections with ExpressVPN on iOS. To do this, go to the set up page for iOS using Safari (not Chrome or other browsers), and then open the link that says “complete the ExpressVPN manual setup for iOS” in the blue box in step 1.
After you have agreed to install the configuration profile, go to the iOS Settings app, choose General, Profile (underneath VPN), and then open the ExpressVPN profile. This will automatically install 42 L2TP profiles for you.
To connect, go to Settings, General, VPN. Choose one of the profiles and then enable the toggle switch at the top where it says Status.
If you prefer to use manual OpenVPN on iOS, I suggest the following providers, which do not use the fragment directive in their OpenVPN configs and therefore will work on iOS using the OpenVPN Connect app.
Surfshark
Surfshark fully supports manual OpenVPN (TCP and UDP without fragment).
Surfshark 2 Year Deal
Get 2 Years of Surfshark for only $59.76 + 2 Additional Months FREE
Check this guide on how to set up manual OpenVPN connections with Surfshark (confirmed working in China)
NordVPN
NordVPN is also supporting manual OpenVPN without the fragment directive.