Sweepfor Mac

Apps & uninstalling

How to Properly Uninstall Mullvad VPN From Your Mac

Mullvad VPN installs system extensions and a privileged daemon. Here's how to remove every Mullvad file and revert all network changes cleanly.

7 min read

VPN apps are some of the trickiest things to uninstall on macOS because they install system-level components: a privileged daemon, a network extension, sometimes a kernel extension. Drag-to-trash leaves all of that running. The daemon will keep launching at boot. The system extension will keep showing up in Settings. Network changes the VPN made (DNS, routes, packet filters) may persist.

Mullvad VPN is open source and unusually transparent about what it installs — but properly removing it still requires more than just trashing the app. Here’s the procedure.

What Mullvad installs

Bundle ID: net.mullvad.vpn. Files installed:

  • App at /Applications/Mullvad VPN.app/
  • Privileged daemon at /Library/PrivilegedHelperTools/net.mullvad.vpn.daemon (older versions)
  • LaunchDaemon at /Library/LaunchDaemons/net.mullvad.daemon.plist
  • System Extension installed via macOS’s system extension framework
  • Network extension at /Library/SystemExtensions/<UUID>/net.mullvad.MullvadVPN.PacketTunnel.systemextension/
  • Application support at ~/Library/Application Support/Mullvad VPN/
  • Settings at /etc/mullvad-vpn/ (system-level)
  • Logs at /var/log/mullvad-vpn/
  • Caches at ~/Library/Caches/net.mullvad.vpn/

The system extension is the trickiest — it’s loaded by macOS at boot and registered with the kernel’s networking stack. You can’t just delete the file.

Step 1: Disconnect the VPN

Before doing anything, disconnect from the VPN if connected. Open Mullvad VPN → click Disconnect.

Going further while connected leaves your network in a half-broken state.

Step 2: Use Mullvad’s official uninstaller

Mullvad ships an uninstaller. It’s in the app’s Help menu (recent versions) or as a separate utility:

  • Settings → Reports → Uninstall (newer versions)
  • Or run /Applications/Mullvad VPN.app/Contents/Resources/uninstall.sh from Terminal

The official uninstaller:

  1. Disconnects the VPN
  2. Uninstalls the system extension
  3. Removes the LaunchDaemon
  4. Removes config files in /etc/mullvad-vpn/
  5. Removes the app bundle
  6. Reverts network changes (DNS settings, routes, firewall rules)

This handles 90% of the cleanup. The remaining 10% is user-level files in ~/Library/.

Let Sweep uninstall properlyDrag-to-trash leaves traces. Sweep wipes the app + support files + prefs + caches + helpers at once. Get Sweep free →

Step 3: Approve the system extension uninstall

When the uninstaller removes the system extension, macOS will prompt you:

  1. A dialog appears asking to allow the system extension removal
  2. You may need to enter your admin password
  3. Approve the removal

If you skip this, the system extension persists. Open System Settings → General → Login Items & Extensions → Network Extensions to verify Mullvad is gone. If it’s still listed, click the (i) icon next to it and remove it manually.

Step 4: Remove user-level Mullvad files

After the official uninstaller, check these paths in Finder (Cmd+Shift+G):

  • ~/Library/Application Support/Mullvad VPN/ — settings, account cache, history
  • ~/Library/Caches/net.mullvad.vpn/
  • ~/Library/Preferences/net.mullvad.vpn.plist
  • ~/Library/Saved Application State/net.mullvad.vpn.savedState/
  • ~/Library/Logs/Mullvad VPN/ — connection logs (privacy-relevant)

The Logs folder contains records of when you connected, to which servers, and from what local network. If privacy matters to you (it usually does for VPN users), this folder deserves attention.

Step 5: Verify system-level cleanup

Confirm these are gone:

  • /Applications/Mullvad VPN.app/
  • /Library/LaunchDaemons/net.mullvad.daemon.plist
  • /Library/PrivilegedHelperTools/net.mullvad.vpn.daemon (older versions)
  • /etc/mullvad-vpn/
  • /var/log/mullvad-vpn/

If any are still present, the official uninstaller didn’t run cleanly. Delete them manually (admin password required for /Library/, /etc/, and /var/).

For LaunchDaemons, unload before deletion:

sudo launchctl unload /Library/LaunchDaemons/net.mullvad.daemon.plist
Tip: Mullvad creates rules in macOS's Packet Filter (pf) firewall to block traffic outside the tunnel. After uninstall, run sudo pfctl -F all -f /etc/pf.conf in Terminal to flush any stale firewall rules and reload the system default. This isn't strictly required — macOS handles it on reboot — but it's clean.

Step 6: Revert DNS settings

Mullvad sets custom DNS while connected. The official uninstaller usually reverts this, but verify:

  1. Open System Settings → Network
  2. Click your active connection (Wi-Fi or Ethernet)
  3. Click Details → DNS
  4. Ensure DNS servers are either empty (use DHCP) or your preferred values
  5. Repeat for any other network services you use

If you see Mullvad DNS servers (10.x.x.x or Mullvad’s specific addresses) still configured, remove them.

Step 7: Remove split tunneling configuration

Mullvad supports split tunneling via a kernel extension on older systems and via the system extension on newer ones. If split tunneling was enabled:

  • Excluded apps configuration is part of the app’s settings (removed in step 4)
  • The kernel/system extension is removed in step 3

No additional cleanup needed.

Step 8: Empty Trash and reboot

A reboot ensures:

  1. The system extension is fully unloaded
  2. Network configuration changes are committed
  3. No Mullvad processes are still running

After reboot, verify in Activity Monitor that nothing Mullvad-related is running.

Don’t dig through ~/Library yourselfSweep hunts every leftover an uninstaller misses. Free download for Mac →

What about Mullvad Browser?

Mullvad ships a separate Mullvad Browser (a hardened Firefox fork). It’s independent of the VPN app:

  • App at /Applications/Mullvad Browser.app/
  • Profile data at ~/Library/Application Support/Mullvad Browser/

The browser doesn’t require the VPN to function. If you only want to remove the VPN and keep the browser, leave Mullvad Browser alone. To remove both, treat the browser like a separate Firefox install.

Common questions

Does this remove my Mullvad account? No. Your Mullvad account is server-side, identified by an account number you generated. Uninstalling locally doesn’t affect the account or any time remaining on it. Sign in on a new install with the same account number to continue.

Will my network still work after uninstalling? Yes, assuming the official uninstaller ran cleanly. It reverts DNS, removes the firewall rules, and unloads the system extension. If you see network problems after uninstall, reboot — that fixes most stale state.

What if the system extension won’t uninstall? This happens occasionally. In that case:

systemextensionsctl list

This shows all installed system extensions. Find the Mullvad entry and note its team identifier. Then:

systemextensionsctl uninstall <team-id> net.mullvad.MullvadVPN

Replace <team-id> with the team identifier from the list. macOS will prompt you to approve the removal.

Can I reinstall Mullvad later? Anytime. Download from mullvad.net. Sign in with your account number — your subscription continues.

Manual versus automated

VPN apps benefit from automated uninstallers more than most categories. The combination of system extensions, privileged daemons, firewall rules, and DNS configuration is exactly what manual cleanup tends to miss.

Mullvad’s own uninstaller is one of the better in the VPN space — open source means people watch what it does. For most users, the official uninstaller plus the user-level cleanup in step 4 is sufficient. Sweep can catch the leftover user-level files in one scan if you forget step 4.

For users who’ve installed and removed multiple VPN apps over time (NordVPN, ExpressVPN, ProtonVPN, Mullvad), Sweep finds residual files from all of them — VPN apps tend to leave more behind than most categories.

Resetting Mullvad without uninstalling

If Mullvad is misbehaving (won’t connect, account login fails) and you want to keep it installed:

  1. Disconnect from VPN
  2. Quit Mullvad VPN
  3. Delete ~/Library/Application Support/Mullvad VPN/
  4. Relaunch — sign in fresh with your account number

This resets the local app state without touching the daemon or system extension. Fixes most “Mullvad won’t connect” issues.

For deeper resets that include the system-level config:

sudo /Applications/Mullvad\ VPN.app/Contents/Resources/mullvad-cli reset

This factory-resets the daemon’s settings without uninstalling.

Why VPN uninstalls deserve more care

A leftover VPN daemon is more than a disk space issue. It’s:

  • A background service consuming resources
  • An ongoing kernel/system extension hook
  • Potential network configuration drift
  • A surface for macOS update issues (system extensions often need re-approval after major updates)

Removing properly clears all of it. Trash-and-forget leaves these issues in place.

← Back to all guides