How to Stop Background Apps From Using the Internet on Mac
How to stop background Mac apps from using the internet without disabling them entirely — practical, reversible techniques.
- macOS
- Bandwidth
- Productivity
- Tutorial
You close your laptop, open it ten minutes later, and the menu bar's network indicator is already lit up. You haven't opened anything. Spotlight isn't even active. Yet something is talking to the internet — probably several somethings — and they all think their reason is good enough to spend your bandwidth without asking. You want to stop background apps from using internet on Mac, but you don't want to scorch the earth and break things you actually use.
This is a layered approach. Start at the top. Go further only if you need to.
Layer 1: Stop apps from launching at login
Most "background internet" comes from apps that started at login and never told you. Open System Settings → General → Login Items.
Two lists matter here:
- Open at Login — apps you've explicitly added (or that added themselves).
- Allow in the Background — the more important list. These are background helpers that run even when the parent app isn't open.
Walk through both lists and turn off anything you don't actively want running. Common offenders:
- Adobe Creative Cloud helpers (CCXProcess, AdobeIPCBroker, Adobe Genuine Service)
- Microsoft AutoUpdate (MAU)
- Spotify (yes, it auto-starts)
- Discord, Slack, Telegram, WhatsApp — all reconnect on login
- Logitech G Hub, Razer Synapse, and other peripheral utilities
- Old printer manufacturer "helpers" you forgot about
Layer 2: Configure each app's own bandwidth settings
Many apps have their own "use less network" toggles that are surprisingly effective.
Cloud sync clients
- Dropbox: Preferences → Network → set Download rate and Upload rate to a fixed limit. Or pause sync from the menu bar entirely when you don't need real-time updates.
- Google Drive (Drive for desktop): Preferences → gear → Bandwidth settings. Set explicit caps.
- OneDrive: Preferences → Network → set explicit upload/download caps.
- iCloud Drive: there is no built-in bandwidth limit. Toggle Optimize Mac Storage to reduce the local working set, which reduces sync churn.
Backup tools
- Backblaze: Preferences → Performance → set Manual Throttle to a megabit/sec limit you're comfortable with, or schedule backups to specific hours.
- Arq: Settings → Network → set bandwidth schedule.
- Time Machine: System Settings → General → Time Machine → Options → set Back up frequency to Manually if you want full control.
Communication apps
- Slack: Preferences → Advanced → enable Reduce data usage in calls. Disable Show automatic image previews.
- Discord: Settings → Voice & Video → disable Hardware Acceleration for video; lower Server Region quality.
- Zoom: Settings → Video → uncheck HD.
These per-app settings are not glamorous. They are also the changes that move the most bytes for the least effort, no third-party tools required.
Layer 3: Identify the actual bandwidth users
Before you start killing services or installing firewalls, find out what's actually using bandwidth. Without this step you'll spend an hour tightening settings on apps that weren't the problem.
Activity Monitor
Open Activity Monitor → Network tab → sort by Rcvd Bytes or Sent Bytes. Note the offenders. Reminder: cumulative since process start, and helper processes are listed separately from their parent.
nettop
In Terminal:
nettop -P -dLive, per-process, per-second rates. Press q to quit.
A menu bar monitor
A persistent per-app rate display tells you which app is using bandwidth right now without you having to open anything. ova does this — it sits in the menu bar, samples at about 1 Hz, and folds helper processes back under their parent so you read "Slack" instead of three separate Slack helpers. If you're trying to identify chronic background offenders, you want a tool that's always looking — not one you have to remember to open.
Find the apps you forgot about
A glance-able menu bar monitor with per-app history. About 3 MB, fully local.
Layer 4: Disable launch agents and daemons
This layer is for the apps that re-add themselves to login items, or that install background services you didn't notice.
LaunchAgents and LaunchDaemons are macOS's persistent background services. They live in:
~/Library/LaunchAgents/— user-level/Library/LaunchAgents/— system-wide user agents/Library/LaunchDaemons/— system-wide root daemons
Each is a small .plist file. The filename usually tells you what it is — com.adobe.CCXProcess.plist, com.microsoft.update.agent.plist, com.docker.helper.plist.
To list what's loaded for your user:
launchctl list | grep -v com.appleTo stop a specific agent without deleting it:
launchctl unload ~/Library/LaunchAgents/com.example.helper.plistYou can re-load it with launchctl load. The plist file itself stays on disk.
Layer 5: Use a firewall for hard blocking
If an app refuses to stop talking to the internet — or if you want to block specific destinations rather than whole apps — you need a firewall, not a monitor.
The standard macOS option is Little Snitch. It intercepts every outbound connection and lets you allow, deny, or set a rule per app, per domain, per port. Other choices include LuLu (free) and Radio Silence (simpler).
A firewall is the right tool when:
- An app keeps reaching out even after you've disabled its login item and unloaded its launch agent.
- You want to allow an app online for one task but block its telemetry endpoints.
- You want a one-time prompt the next time something new tries to call home.
A firewall is not a substitute for a monitor. They answer different questions:
- A monitor tells you what's using bandwidth right now.
- A firewall tells you what's allowed to use bandwidth at all.
Most people benefit from running both: a monitor for awareness, a firewall for enforcement. The monitor sits in the menu bar and shows you what is happening. The firewall sits in the network path and decides what is allowed to happen. They look at related but different signals — process accounting versus connection filtering — and they don't conflict.
One footgun worth knowing: a firewall configured to block an app silently (no prompt) will sometimes make that app behave strangely. A photo backup tool denied network access may show a spinning sync indicator forever. A messaging app denied network may keep retrying connections, which itself burns CPU. If you choose to block, you usually want the prompt mode for the first week so you can see what each app actually wants — then switch to silent mode once you trust the rule set.
A safe order to stop background apps using internet on Mac
When you sit down to clean this up, work in this order:
- Look first. Open a per-app monitor and let it run for an hour. Note what shows up.
- Login Items. Disable everything in Allow in the Background that isn't essential.
- Per-app settings. For the heaviest apps from step 1, configure their internal bandwidth limits.
- Launch agents. Unload (don't delete) anything you don't recognize.
- Firewall. Install one only if a specific app is still misbehaving.
The reason for this order: every layer is reversible by progressively more technical steps. Login items are a single click. Launch agent unloads survive a reboot only if you delete the plist. Firewall rules persist until you remove them. Start with the easy reversible changes; escalate only if needed.
A frequent extra source of background traffic is menu bar utilities you installed and forgot about — weather apps polling every five minutes, stock tickers, cryptocurrency price widgets, old app launchers checking for updates, ancient clipboard managers with cloud sync. Audit your menu bar. Right-click each icon. If you can't remember why you installed it, quit it and see if you miss it. If you don't, uninstall it.
Wrapping up
The win condition isn't "no background traffic." Some background traffic is healthy — push notifications, security update checks, calendar sync. The win condition is you know what's using your network and you've consented to it.
To get there, the workflow to stop background apps using internet on Mac comes down to five steps:
- Install a per-app monitor and leave it running for a day.
- Walk through Login Items and turn off anything you don't actively use.
- Configure bandwidth limits inside the apps that need them.
- Unload launch agents you don't recognize.
- Add a firewall only if a specific offender survives all of the above.
If you want a small, local, no-account monitor for step 1, ova is about 3 MB, runs on macOS 14 and up, and stores all data on your Mac. One-time payment, lifetime updates, 14-day refund. Nothing leaves your machine, including the data about which apps are using your network.