How to install and use WireGuard on iOS. Step-by-step tutorial.

How to install and use WireGuard on iOS. Step-by-step tutorial.

Looking to use WireGuard on iOS? You may get started easily by installing the WireGuard iOS client or using VPN software from a service that offers access to the WireGuard protocol.

WireGuard iOS setup [Summary]

Using WireGuard on iOS devices is simple as it consists of installing an app, and, in the case of the WireGuard client app, it needs to set up the VPN connection parameters. Here are the available options:

  • Option 1: Install and use the WireGuard VPN client for iOS.
    • Step 1: Install the WireGuard app.
    • Step 2: Import the configuration or create a new tunnel.
    • Step 3: Connect to (activate) the WireGuard tunnel.
  • Option 2: Get a VPN client from a VPN provider that offers access to WireGuard.
    • Find and subscribe to the VPN service.
    • Download the VPN client.
    • Enable the WireGuard protocol.
    • Connect to VPN.

As your goal is to install WireGuard on iOS devices, I suggest that you also read our bat-iful article on how to use a VPN on iOS. `You will find out what are the available options and what VPN providers we recommend for your iPhone or iPad.

What is WireGuard and what are its advantages?

WireGuard is a new VPN protocol that is regarded as the future of VPN due to its simplicity and speed. It can be installed easily on Linux, Windows, macOS, Android, iOS.

WireGuard has some important benefits:

  • It is free and open-source.
  • The project code is kept to the minimum, and simplicity is one of the main objectives.
  • The protocol uses high-level encryption and works on UDP.
  • WireGuard is (really) fast, faster than the OpenVPN protocol.

You may read more details on WireGuard here.

How to install WireGuard on iOS

Unlike IPSec or IKEv2, WireGuard is not integrated into the iOS operating system. Thus, you may use WireGuard on iPhone or iPad either by installing the WireGuard VPN client or using a native app from a VPN provider.

Install and use the WireGuard VPN client for iOS

Before starting the WireGuard setup, make sure you have access to VPN server data. You may install your own WireGuard server, get access from a VPN provider or a network administrator.

WireGuard server data is necessary for initiating the connection and it can be:

  • a configuration file that contains all necessary info;
  • a QR code generated based on a config file;
  • WireGuard server name or IP address and VPN connection info for initiating the tunnel.

Here are the steps you need to perform:

  1. Open App Store and search for WireGuard.WireGuard on iOS - search the WireGuard app
  2. Download and open the app
  3. Next, tap on the “+” sign on the top-right of the screen. Open WireGuard app and tap the
  4. Select the way you want to get started with the WireGuard setup. Create WireGuard connection options
  5. Create from file or archive – You may import a config file that contains the necessary connection parameters. The config file can get to your Apple device by email, by downloading it from a server, using AirDrop from your Mac. If you receive the WireGuard config file by email:
    • Tap on the attached file.
      WireGuard file by email
    • Next, tap on the More button.
    • Select Copy to Wireguard. The WireGuard iOS app will import the config, and you will be able to activate it.
  6. Create from QR code – Import the configuration info stored in a QR code:
    • Open the WireGuard QR code on your computer. You may get one from several VPN providers (e.g., OVPN or AzireVPN), or you may generate it yourself (as explained below).
    • Point your device to the QR code.Scan the WireGuard config code (OVPN)
    • Enter a name for the new WireGuard connection.
    • The app will read and import the config file.
  7. Create from scratch – Fill in the required info for initiating the connection. To add the server location data, tap the Add peer button. Additionally, you may switch on the on-demand activation (Cellular/Wi-Fi).Create WireGuard connection from scratch
  8. You are now ready to activate the connection. Tap the toggle button to initiate the secure VPN tunnel. You will see the connection status on the top of the screen.
    Switch ON the WireGuard connection

Get a VPN client from a VPN provider that offers access to WireGuard

In this case, no configuration is needed as VPN client apps automatically set up the necessary parameters:

  1. Find and subscribe to the WireGuard VPN provider.
  2. Download the VPN client.
  3. Enable the WireGuard protocol.
  4. Connect to VPN.
Enable WireGuard on iOS (SurfShark)

Various VPN providers have already implemented WireGuard in their iOS apps. Here are several VPN services that I have tested myself and that seem to work smoothly:

How to see the WireGuard VPN configurations set up on iOS

The VPN configurations (manually created or installed by VPN apps) are visible in Settings > VPN. The WireGuard configurations are marked with the WireGuard label. Of course, you may see the available WireGuard tunnels by opening the WireGuard app.

WireGuard VPN configurations on iOS (Settings > VPN)

WireGuard on iOS FAQs

Is the WireGuard iOS app stable?

Yes, it is. The app was released on App Store on Dec 19, 2018. Since then, several releases have been published to increase the app’s overall stability and fix bugs.

What is a WireGuard config file?

The WireGuard configuration file contains all the necessary information for setting up the encrypted tunnel:

  • PrivateKey – the private key of the user;
  • Address – the internal IPs (IPv4 and/or IPv6);
  • DNS – the DNS address(es) or IP(s) (IPv4 and/or IPv6);
  • PublicKey – the public key of the peer/server;
  • AllowedIPs – list of addresses that will get routed to the peer;
  • Endpoint – the name or the IP address of the WireGuard VPN server and the communication port.

Here is an example:

[Interface]
PrivateKey = OBzLVh3H52Nbs7mJjl/HbHdXd33K9WhoIOU5yDP2lG8=
Address = 10.0.9.112/19, 2a0e:1c80:4:2000::971/64
DNS = 91.231.153.2, 2001:67c:15ec:1337::2
ListenPort = 41194

[Peer]
PublicKey = vtoErnbB93khY7KZl4qKfByMvGfiwHIQt/IKgTgZaEM=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 45.15.19.34:51820

How to generate the QR code for a WireGuard config file?

Starting from an existing WireGuard config file, you may generate a QR code that can be imported by the WireGuard app.

To generate the QR code install (if you don’t have it already) the qrencode library and the following command:

$ qrencode -t ansiutf8 -r filename.conf

Further, you may open the WireGuard iOS app, select the Create from QR code option, and point the device camera to the QR code. The app will read the QR code and create the WireGuard connection.

Summary

WireGuard is a fantastic new VPN protocol, and it works smoothly on iOS (as well as on Android, or on Windows). The setup consists of installing the WireGuard iOS app or a VPN app with built-in capabilities of connecting to WireGuard servers.

Did you like our WireGuard guide for iOS? Would you like to learn more about WireGuard and other VPN protocols? Subscribe to our newsletter! You will make a Transylvanian baby-bat 🦇happy.

About the Author

  1. Hi

    Have you found a way to make WireGuard work together with the new encrypted dns feature of IOS 14 ?

    On my setup (WireGuard + NextDNS ), not configuring any DNS servers in the conf file fails, and configuring DNS servers bypasses the encrypted DNS profile,

    Thanks !

  2. This would work but
    1. DNS will be unencrypted
    2. It defeats the blocking functionality of Nextdns unless you thereafter link your ip.

Leave a Reply

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

How to use VPN for Firefox
Up Next:

How to use a VPN on Firefox. The story of a fox fur.

How to use a VPN on Firefox. The story of a fox fur.