What mDNSResponder actually is
mDNSResponder is a system daemon built into macOS and code-signed by Apple. It is not malware, not an add-on, and not something you installed — it ships with the operating system and starts automatically.
It does two distinct jobs, and confusing them is the source of most of the confusion around it. The first is multicast DNS and service discovery — this is Apple's Bonjour, the technology that lets your Mac find printers, AirPlay receivers, Chromecasts, shared drives, HomeKit accessories and other Macs on your local network without any manual configuration. This traffic is sent to a multicast address on UDP port 5353, which is the standard mDNS port.
The second job is the one most explanations skip: on macOS, mDNSResponder is also the system-wide DNS resolver. When any application on your Mac needs to turn a hostname into an IP address, the request is typically handled by mDNSResponder on that app's behalf rather than by the app itself.
Both jobs run inside the same process. So when you see mDNSResponder busy, you are looking at the combined result of local network discovery and every name lookup your Mac performs.
Why it seems to contact so many hosts
This is the part that alarms people, and it has a mundane explanation. Because mDNSResponder resolves names on behalf of other processes, essentially all of your Mac's DNS lookups appear to originate from mDNSResponder rather than from the app that actually wanted the address.
Your browser loading a page with a dozen third-party resources, your mail client checking accounts, a background updater, a chat app reconnecting — none of those show up as themselves in a DNS view. They show up as mDNSResponder talking to your configured DNS servers. From the outside, one process appears to be interested in an enormous and constantly changing list of domains.
That single fact answers most of the suspicion. Seeing mDNSResponder contact many hosts does not mean mDNSResponder is doing anything suspicious. It is a proxy. The activity belongs to whatever software asked for the lookup; mDNSResponder is just the component that performs it.
It also explains why the process rarely goes quiet. A modern Mac has a steady background hum of software checking in — sync services, push notifications, update checks, telemetry from apps you have installed. Every one of those needs name resolution first, and all of it funnels through the same daemon.
Is mDNSResponder safe, and how to verify it yourself
mDNSResponder is a legitimate part of macOS. There is no meaningful history of it being a disguise for something malicious, and on a normally functioning Mac you should expect to see exactly one instance of it running.
You do not have to take that on faith. In Activity Monitor, select the process and open the inspector to see its details, including the path to the executable it was launched from. Apple's system daemons live inside protected system directories, not in your home folder, Downloads, or Applications. A process using the name mDNSResponder but running from an unusual location would be the thing worth investigating — the name itself is not proof of anything.
The stronger check is the code signature. macOS ships with the codesign tool, and running a verification against the running binary's path will show you the signing authority. Apple's own system components are signed by Apple. On recent macOS versions, system files also sit on a sealed, read-only system volume, which makes tampering with the real binary considerably harder than it used to be.
One more sanity check: high activity from mDNSResponder is normal, but sustained high CPU usage over hours is not. That is usually a symptom of something else on your network or on your Mac, which is what the next section covers.
Fixing high CPU or constant network activity
When mDNSResponder genuinely misbehaves, the cause is almost always external to it. The usual suspects: a busy local network with heavy Bonjour chatter, a printer or NAS advertising itself aggressively, VPN or third-party DNS software conflicting with the system resolver, captive-portal probing on a hotel or café network, or a single app on your Mac issuing lookups in a tight loop.
Work through it in order of effort. First, toggle Wi-Fi off and on, or disconnect from the network briefly — this clears a surprising number of transient states. If that does not help, reboot; a restart resets the daemon along with everything feeding it. If the problem only occurs on one network, the network is the variable, not your Mac: try a different one to confirm, then look at what is advertising itself there. If you recently installed a VPN client, a DNS filtering tool, or anything else that installs a network extension, temporarily disabling it will tell you quickly whether it is the trigger. If the problem follows you across networks and survives a reboot, suspect a specific application and start by quitting recently installed or recently updated apps one at a time.
What you should not do is block it. Never block mDNSResponder in a firewall. Because it is the system-wide resolver, blocking it stops name resolution for the entire Mac — browsers, Mail, the App Store, software updates, and effectively anything else that touches the network will fail, usually with confusing errors that do not point back at the firewall rule you added. It is one of the few processes where blocking causes far more damage than the traffic it was meant to stop.
If your actual goal is less local-network chatter, target the features rather than the resolver. Turning off AirPlay receiver, printer sharing, file sharing, and other Bonjour-dependent services you do not use reduces what your Mac advertises and listens for, without breaking DNS. That is the correct lever.
Finding out which app actually triggered a lookup
The consequence of centralised resolution is an attribution problem. If you are watching connections at the system level, a large share of the interesting DNS activity is labelled mDNSResponder, and you cannot tell from that label alone whether the domain was requested by your browser, a background updater, or an app quietly phoning home.
Answering that requires a tool that watches connections per process and maps activity back to the originating app rather than to whichever daemon performed the lookup. That is the gap NetMute is built to close: it shows real-time traffic per app and per process, and keeps domain-level logs per app — which domains an application contacted, when, and how much data moved. Instead of a single busy daemon, you get a per-app picture of what your Mac is actually talking to.
From there the response is targeted. NetMute's per-app firewall lets you block a specific application with one click, or apply a self-expiring temporary rule when you only want to silence something for a while. Network profiles let rules differ between home, office, and untrusted networks, and Tracker Shield covers a list of over 1,100 known tracker domains. None of that involves interfering with mDNSResponder itself — you leave the resolver alone and act on the app that was generating the requests, which is the only fix that does not break the rest of your Mac.