How to Run Diagnostics on a Mac: Apple Diagnostics and Beyond
Learn how to run Apple Diagnostics on any Mac to test hardware, read error codes, and know when to escalate. Plus what to do when hardware passes but connectivity fails.
Your Mac is behaving strangely and you’re not sure whether it’s a hardware problem, a software problem, or a network problem. Running diagnostics is the right first step, and Apple gives you a built-in tool that tests your hardware without booting into macOS. Here’s how to use it, what it tells you, and what to do next.
What Apple Diagnostics tests
Apple Diagnostics is a hardware testing tool built into every Mac. It runs independently of macOS and checks the components that software can’t fix: memory, storage, sensors, wireless hardware, and the logic board. If any of these are failing, Apple Diagnostics will catch it.
Before Apple Silicon, this tool was called Apple Hardware Test. The name changed, and the startup method changed slightly, but the purpose is the same.
Apple Diagnostics tests these components:
- Memory (RAM): Checks for memory errors that can cause crashes, freezes, and data corruption
- Storage: Scans your drive for hardware-level issues (not software corruption)
- Wireless: Tests the Wi-Fi and Bluetooth hardware
- Sensors: Temperature sensors, fans, and battery management hardware
- Logic board: Core system components
If your Mac is random-crashing, running hot, producing kernel panics, or behaving inconsistently, Apple Diagnostics is the right first stop.
How to run Apple Diagnostics
The startup procedure differs between Apple Silicon and Intel Macs.
Apple Silicon Macs (M1, M2, M3, M4 and later)
- Shut down your Mac completely
- Press and hold the power button until you see “Loading startup options”
- At the startup options screen, press Command + D
- Apple Diagnostics launches automatically
Intel Macs
- Shut down your Mac completely
- Press the power button, then immediately hold the D key
- Keep holding D until you see a progress bar or the language selection screen
- Apple Diagnostics launches automatically
If D doesn’t work on an Intel Mac, try Option + D instead. This boots Apple Diagnostics over the internet, which is useful if the local version seems corrupted.
During the test
Apple Diagnostics will run through its checks automatically. The full test takes 2-5 minutes. You’ll see a progress bar, and when it finishes, you’ll either get an “No issues found” message or a list of reference codes.
Connect your Mac to power before running diagnostics. Unplug any accessories that aren’t necessary (external drives, USB hubs, external displays).
Reading Apple Diagnostics reference codes
If Apple Diagnostics finds a problem, it returns one or more reference codes. These codes tell you exactly what failed.
Format: codes look like ADP000 or NDC001. The letters at the start indicate which component failed.
Common prefixes:
| Prefix | Component |
|---|---|
| PPM, PPT | Memory (RAM) |
| HDD, SSD | Storage |
| NFL, NDC, NDD | Wi-Fi / wireless hardware |
| VFD | Video |
| PFM | Power / logic board |
| ADP | No issues found (this is a pass) |
Apple maintains a full reference code lookup at support.apple.com/102562. Enter your code there to get the specific meaning and recommended next steps.
If you get a code in the N series (NFL, NDC, NDD), your Wi-Fi hardware has an issue. This is distinct from a software connectivity problem. Hardware-level wireless failures require service, not a macOS reinstall.
What to do after running Apple Diagnostics
No issues found: Your hardware is healthy. Whatever is causing problems is happening at the software or network layer, not the hardware layer. Keep reading for what to check next.
Issues found: Note the reference codes. If the codes point to a hardware failure, book a Genius Bar appointment or contact an Apple Authorized Service Provider. Bring your reference codes to the appointment. If your Mac is under warranty or AppleCare, hardware repairs may be covered.
Test was inconclusive: Run it again. Intermittent hardware problems sometimes don’t show up on the first pass. If you consistently get clean results but your Mac keeps crashing, the issue may be thermal (the hardware is fine cold but fails under load).
The diagnostic layers on a Mac
Hardware failures are one category of Mac problems. But most of the issues people troubleshoot daily aren’t hardware failures at all. Understanding where problems actually live helps you diagnose faster.
When Apple Diagnostics gives your Mac a clean bill of health, the problem is in one of the upper layers. Most connectivity issues live in the Network layer.
When hardware checks out: network diagnostics
Once you know your hardware is fine, connectivity problems point to the network layer. This is a fundamentally different kind of troubleshooting.
Network issues have their own symptoms:
- Pages that load slowly or time out on one network but not another
- Specific sites or services failing while others work
- High latency on video calls but fast download speeds
- DNS resolution failures (sites show “server not found” even though the internet is working)
These are not hardware problems. Your Wi-Fi chip passed diagnostics. The issue is in how packets are traveling from your Mac to a server and back.
The core network tests
Ping measures round-trip latency to a host. It tells you whether you can reach something at all, and how fast the connection responds:
ping -c 10 8.8.8.8
Traceroute maps every router hop between your Mac and a destination, showing where delays or failures occur:
traceroute google.com
DNS lookup checks whether your DNS resolver is working and returning correct addresses:
nslookup apple.com
These are the three tests that will tell you where in the network a problem lives. High ping times point to latency. Traceroute shows which hop is slow. DNS lookup failures point to resolver problems.
Without Terminal
If you’d rather not work in Terminal, NetUtil runs all of these tests through a simple interface. Enter a hostname, choose your test, and see the results laid out clearly. It’s particularly useful when you’re working through multiple tests in sequence, since you don’t need to remember the syntax for each command or juggle Terminal windows.
NetUtil also includes port scanning, Whois lookups, and other utilities that come up in network troubleshooting. Everything is in one place.
The right order for Mac diagnostics
When something goes wrong on your Mac and you’re not sure where to start:
-
Run Apple Diagnostics first. It takes five minutes and rules out hardware entirely. If it finds something, you have a clear next step. If it finds nothing, you can move on knowing hardware isn’t the cause.
-
Check system software next. If diagnostics passed, look at recent macOS updates, app installations, or permission changes that might explain the behavior.
-
Run network tests if connectivity is involved. Ping, traceroute, and DNS lookup narrow down where in the network path the problem lives.
-
Test specific applications last. If everything below the app layer checks out, the issue is in the app itself.
This order saves time because hardware and network problems have concrete, testable answers. You either have RAM errors or you don’t. Packets either reach Google’s DNS or they don’t. Software problems are messier, but you eliminate the easy answers first.
Mac startup diagnostics: other modes
While you’re learning about startup diagnostics, two other startup modes are worth knowing:
Safe Mode: Hold Shift during startup on Intel, or hold Shift after the startup options screen on Apple Silicon. Safe Mode loads a minimal version of macOS with third-party extensions disabled. If your Mac works normally in Safe Mode but misbehaves otherwise, a third-party kernel extension or startup item is the cause.
Recovery Mode: Hold Command + R on Intel, or hold the power button until startup options on Apple Silicon, then choose Options. Recovery gives you access to Disk Utility, Time Machine restore, and a macOS reinstall option. Use this if your system software is corrupted.
Apple Diagnostics is different from both of these. It tests hardware independently, before macOS loads at all.
Summary
Apple Diagnostics is the right starting point when you suspect hardware is causing problems on your Mac. The process is simple: hold D during startup (or Command + D from the Apple Silicon startup options screen), wait a few minutes, and read the results. If there are issues, the reference codes point you to the right repair.
When hardware passes, move up the stack. Network issues are the next most concrete category, and they’re testable with ping, traceroute, and DNS lookups. NetUtil makes those tests accessible without Terminal if that’s useful.
The goal is to know which layer the problem lives in before you start fixing anything.