Streaming · Route Selection Guide
Android VPN Split Tunneling: Set App Rules With Ease
Choose which Android apps use your VPN and which connect directly. Follow this practical split tunneling guide to set app rules, confirm they work, and troubleshoot missing options or connection issues.
Android split tunneling lets you choose which apps send traffic through a VPN and which connect directly to the internet. It is useful when one app needs a VPN route but another works better with your normal connection—for example, when you want a browser to use a chosen exit region while a local banking app or a device-discovery tool stays on the regular network. The important detail is that the rule applies to app traffic, not to individual websites inside an app. A browser assigned to the VPN generally sends all of its network requests through that tunnel.
The exact controls depend on the VPN client, Android version, and connection profile. Some clients offer an app list with “include” and “exclude” modes; others do not support per-app routing at all. Before changing settings, confirm that the client’s own interface offers an app-based routing option. Android’s system VPN permission allows a VPN app to manage a connection, but it does not guarantee that every client exposes split tunneling as a user setting.
What Split Tunneling Changes on Android
When a VPN is connected without app rules, the client typically tries to route eligible device traffic through its virtual network interface. With split tunneling, the client applies an app selection: traffic from selected apps uses the VPN, while traffic from other apps follows the device’s ordinary network route—or the reverse, if the client supports an exclusion list. This is a routing choice, not a separate VPN connection for each app.
Include
Only selected apps use the VPN
Exclude
Selected apps connect directly
Full
All eligible apps use the VPN
The wording in a client matters. “Only selected apps” is an allowlist: apps on the list go through the VPN, and other apps do not. “Bypass selected apps” is a denylist: apps on the list avoid the VPN, and other apps use it. Check the mode label before selecting packages; the same app selection can produce the opposite result when the mode changes.
App Rules Are Not Website Rules
An app-based rule normally covers the network traffic attributed to that Android app. It does not usually let you send one website opened in a browser through the VPN and another website through the direct connection. A browser is one app, so its requests generally follow the browser’s selected route. If your goal is to split traffic by domain, you need a client that explicitly supports domain-based routing rules; an app list alone is not enough.
Android apps can also rely on other components. A game may open a web page in a browser for sign-in, a streaming app may use a separate download component, or a messaging app may receive notifications through Google Play services. Those components can be separate Android packages with their own network behavior. A rule for the main app may not control every related request, so test the full task you care about rather than assuming that one selection covers an entire service.
Choose the Right Rule Mode Before Selecting Apps
Start by deciding what should happen to the majority of apps, then choose the rule mode that makes the list easiest to maintain. An include list can be a good fit when only a few apps need the VPN. An exclude list can be more convenient when most apps should use the VPN and just a few need a direct connection. If the client provides neither mode, do not assume that repeatedly reconnecting will create per-app routing; look for another supported profile or use full-device routing.
- Use an include list when you want a small, clear set of apps—such as a particular browser or work app—to use the VPN, while the rest stay direct.
- Use an exclude list when most apps should use the VPN and you have a short list of apps that must use the ordinary route.
- Use full-device routing when you need consistent VPN routing for general device traffic or when app rules are unavailable or too difficult to verify.
Think about what you are trying to solve before adding exceptions. A local printer, casting device, or service discovery feature may need access to devices on the same Wi-Fi network; bypassing one app might help, but it can also expose that app’s external requests to the direct connection. If the issue is that local devices cannot be found, first check whether the client has a separate local-network or LAN-access option. That setting may solve the problem without bypassing all traffic from the app.
Keep the list short and use recognizable app names. A long collection of exceptions becomes difficult to audit after app updates, reinstallations, or device changes. For apps with sensitive accounts, consider whether direct routing is appropriate before excluding them. Split tunneling can improve compatibility, but it also creates more than one network path on the same device.
Set Up App Rules Step by Step
Client menus vary, so treat the following as a practical sequence rather than a promise that every button has the same name. If you use a VPNDN-compatible client, follow the steps in that client’s interface and verify that the imported profile has connected successfully before testing app behavior. You can also view the setup guide for general client setup instructions.
- Connect to a network first. Confirm that Wi-Fi or mobile data works before enabling the VPN. This gives you a clear baseline and makes it easier to identify whether a later failure comes from the network or the app rule.
- Open the VPN client’s settings. Look for a section named split tunneling, app routing, per-app proxy, bypass apps, or a similar term. The feature may be under the active profile rather than in the client’s general settings.
- Choose the mode. Decide whether you are selecting apps to include in the VPN or apps to exclude from it. Read the explanatory text in the client before proceeding; do not infer the mode from the checkbox list alone.
- Select the packages. Find the target apps in the list and check only the ones required for your intended behavior. Some clients group system apps separately or hide them by default. Avoid changing system entries unless you understand what they do.
- Save the rule and reconnect. Apply the changes, then disconnect and reconnect if the client asks you to. Some clients build the VPN route when the connection starts, so an existing session may not pick up edits immediately.
- Approve Android’s VPN request if prompted. Android may show a system confirmation when a VPN connection is established. Confirm only if you intended to connect the client you opened. If the system reports that another VPN is already active, close or disconnect the other VPN app before testing.
- Test one selected app and one unselected app. Use the same network connection for both tests. Check the selected app’s behavior first, then open an app that should use the other route. This helps reveal a reversed include/exclude mode.
- Record the working configuration. Note the selected mode and the apps you changed. If a client update resets preferences, a short record makes it easier to restore a known-good setup without guessing.
For a clean test, fully close and reopen the target app after reconnecting. An app may keep an existing socket or cached session alive, so its first screen after a routing change does not always reflect the new path. If the app has a sign-out or reconnect control, use it only when necessary; avoid clearing data or reinstalling before simpler checks.
- ✅ Confirm whether the list means “use VPN” or “bypass VPN” before selecting apps
- ✅ Reconnect the VPN after changing rules if the client requests it
- ✅ Test an app on each side of the rule, not only the app you selected
- ✅ Reopen apps that may keep an existing network session alive
- ❌ Do not run two VPN clients at the same time while diagnosing routing behavior
- ❌ Do not assume that a browser rule applies separately to each website
Verify Which Route Each App Uses
Start with observable behavior, not a single speed test. Open the selected app and check whether it can reach the service or content you expect. Then test an unselected app that should use the other route. Where appropriate, compare the public IP or region shown by a reputable IP-check service in a browser assigned to the VPN and in a browser assigned to the direct route. The results should match the intended rule, but remember that a browser’s private DNS, a proxy setting, or an app’s own network configuration can affect what a test displays.
Use the same Wi-Fi or mobile-data connection during the comparison. Switching from Wi-Fi to cellular while testing changes the underlying route and can make the result misleading. Also avoid comparing an app that uses a cached page with one that is making a new request. A successful page load proves that the app has connectivity; it does not by itself prove which path carried the traffic.
For a more reliable check, disconnect the VPN and note the baseline behavior, reconnect with the app rules enabled, then repeat the same actions. If the client has connection logs or a per-app traffic view, use those as supporting evidence. Treat these indicators as client-specific: a log may show that the VPN tunnel is active without showing which Android package used it.
Android may display a VPN key icon or a system VPN status, but that icon usually indicates an active VPN connection, not that every app is using it. Similarly, a client status reading “connected” confirms the tunnel state, not the outcome of every per-app rule. Verify each route separately when the distinction matters.
Bottom line: a connected VPN is not proof that the selected app is routed as intended. Test one app meant to use the tunnel and one meant to bypass it, on the same network, after reconnecting.
Fix Missing Options and Connection Problems
The Split-Tunneling Option Is Missing
First check whether the feature exists in the specific Android client and profile you are using. A desktop version may have app rules that the Android version does not, and some clients expose routing controls only for particular protocols or profile types. Update through the client’s official distribution channel if an update is available, then check its settings and documentation. Do not import an unrelated configuration or edit unknown fields just to make a menu appear.
Confirm that you are editing the active profile. A client can store more than one subscription, server, or connection profile, and a rule saved to an inactive profile will not change the route currently in use. If the option remains unavailable, use the client’s supported full-tunnel behavior or choose an Android client that explicitly documents per-app routing.
An App Cannot Connect After a Rule Change
Check the mode first. An app that needs the VPN may have been placed on a bypass list, or an app expected to connect directly may have been included in the tunnel. Remove the app from the list temporarily, reconnect, and test again. If it works without the exception, add the rule back in the correct mode and repeat the test.
Next, check for competing network controls. Another VPN app, a work-profile VPN, a firewall, a device-level proxy, or an always-on VPN setting can affect the result. Disconnect other VPN clients while troubleshooting. If Android has an always-on or block-without-VPN setting configured, review it carefully: system-level restrictions may prevent traffic from taking a direct route even when the client’s app list appears to exclude it. Change those controls only if you understand the security consequences and are allowed to do so on the device.
Also consider app identity. Android can show separate entries for a work-profile copy, a cloned app, or an app installed in a secure container. Selecting the personal-profile package may not affect the work-profile copy. Select the package that actually launches when you test, and keep managed-device policies in mind; an administrator may control VPN behavior for work apps.
Local Devices or Notifications Stop Working
If a printer or casting target disappears, determine whether the problem is local-network access or the app’s external route. Check the VPN client for a LAN-access option and test with that setting before creating a broad app bypass. Some apps need local discovery traffic that behaves differently from ordinary internet traffic, and the best fix depends on the client’s implementation.
If notifications stop arriving, avoid immediately excluding the entire app. Check whether the issue affects the app while it is open as well as in the background, and review Android battery optimization and background-data settings. Notification delivery may depend on a separate system component, so an app-only rule may not control the complete notification path. Restore the original route if the change does not solve the problem.
When the cause is still unclear, return to a simple baseline: remove custom app rules, connect using the client’s default mode, and verify ordinary connectivity. Then add one rule at a time, reconnecting and testing after each change. This isolates the setting responsible and avoids accumulating exceptions that are difficult to explain later.
Practical rule: change one variable at a time. Confirm the client supports per-app routing, identify the correct include or exclude mode, and only then troubleshoot Android system settings or app-specific behavior.
Keep Your Rules Clear and Maintainable
Split tunneling is most useful when each exception has a clear reason. Review the list when you change VPN clients, reinstall an app, add a work profile, or notice that a previously reliable service behaves differently. Remove entries you no longer need. An old exception can silently send an app over the direct route long after you have forgotten why it was added.
Keep privacy and convenience in balance. Routing fewer apps through a VPN can help with compatibility or local-network access, but it also means those apps use the ordinary connection. Routing more apps through the VPN can make behavior more consistent, though some local services may need separate LAN controls. Neither mode is universally best; the right configuration is the one that matches the app’s purpose and that you have actually tested.
If app-based rules are unavailable, do not treat manual toggling as an equivalent feature. Switching the whole VPN on and off changes the route for other apps too and can interrupt active connections. Use a client that clearly supports Android per-app routing when that control is essential, and keep the configuration simple enough that you can verify it whenever the network or app setup changes.