How to Set Up a VPN on Mac

macOS supports VPNs both through dedicated provider apps and through the built-in VPN client in System Settings. Modern provider apps use Apple's Network Extension framework, while older apps used a now-deprecated kernel extension approach. This guide covers both methods.

Method 1 - Dedicated VPN App (Recommended)

StepActionWhere
1Download the macOS client from your provider's website (e.g., ExpressVPN for Mac or Mullvad for macOS) - Affiliate link - We may earn a commissionProvider website or Mac App Store
2Open the .dmg file and drag the app to ApplicationsFinder / Downloads
3Launch the app from Applications or LaunchpadApplications folder
4Sign in with your account credentialsVPN app
5Allow the VPN configuration in System Settings if promptedmacOS permission dialog
6Select a server and click ConnectVPN app
7Verify the VPN icon in the macOS menu bar, then run a leak testMenu bar & VPN Leak Test

Method 2 - MacOS Built-in VPN (System Settings)

StepActionWhere
1Open System Settings (Apple menu › System Settings)Apple menu
2Click "VPN" in the sidebar (macOS Ventura+) or Network › "+" on older macOSSystem Settings › VPN
3Click "Add VPN Configuration" and choose IKEv2, L2TP over IPSec, or Cisco IPSecVPN screen
4Enter the server address, account name, and authentication settings from your VPN providerConfiguration dialog
5Click Create, then toggle the VPN onVPN screen

Network Extension vs Kernel Extension

  • Network Extension (modern): Used by all major VPN apps on macOS 10.15+ (Catalina and later). Runs in user space, sandboxed, approved by Apple - No System Integrity Protection bypass needed. This is the current standard.
  • Kernel Extension (legacy/kext): Older approach requiring a full macOS restart and reduced security. Apple deprecated kexts for VPN use. Avoid VPN apps that still require installing a kernel extension.
  • If an app asks you to disable System Integrity Protection or install a kernel extension on modern macOS, that is a red flag - Look for a newer version or switch providers.
  • Apps distributed through the Mac App Store can only use Network Extensions (sandboxed), which is generally safer.

Verifying Your Mac VPN Connection

  • The VPN provider's icon in the menu bar should show an active state.
  • Open System Settings › VPN - Your profile should show "Connected".
  • Run our VPN Leak Test in Safari or Firefox to verify IP and DNS.
  • Check for WebRTC leaks - Especially in Chrome and Firefox which expose local IPs via WebRTC.