Close this search box.

Using Apple Diagnostics to Troubleshoot Your Mac

Table of Contents

Computers tend to fail in predictable ways. Especially when it comes to hardware, certain types of failure can cause programmatically-detectable signals that reveal the cause of the problem. Diagnostic programs that can accomplish this process are typically only available to authorized shops. Except that’s not really true: you can use Apple Diagnostics to access Apple’s diagnostics package from any Mac.

What Is Apple Diagnostics?

apple diagnostics testing screen

Apple Diagnostics is a diagnostic tool built into every Mac. It can run diagnosis algorithms on your Mac’s hardware without visiting the Apple Store. You can use it to search for problems in all of the Mac’s major systems, from input devices like the keyboard and trackpad to display devices like the graphics processor to the core of the computer, the CPU, storage, and memory. While it can only detect the problems that it was programmed to detect, and its analysis isn’t particularly nuanced, Apple Diagnostics can give you an idea of the severity and type of problem you’re facing.

Running Apple Diagnostics

Apple Diagnostics must be run from boot, requiring you to restart your Mac. It helps if you disconnect all your unnecessary peripherals first, leaving the keyboard and mouse connected. This reduces the number of confounding factors that could complicate a diagnosis.

1. Disconnect all external devices from your Mac, except for your mouse and keyboard.

2. Shut down your Mac.

3. Restart your Mac while holding down the D key on your keyboard.

4. Wait a few minutes for Apple Diagnostics to finish running. Once it’s finished, you’ll see the relevant diagnostic reference codes appear on the screen.

apple diagnostics results

5. Once the test is finished, you can repeat the test, find more information about the error codes, or shut down or restart your Mac normally.

Next Steps

If you do see a problem, it’s always a good idea to repeat the test. If you don’t see the problem on the repeated test run, it might be either intermittent or a false positive. If you get multiple tests with the same result, your confidence in the source of the problem is that much greater.

If you receive a battery-service related code (PPT004), Apple specifically recommends re-running Apple Diagnostics over the Internet. To do so, shut down your Mac normally. Then, turn on your Mac while holding Option + D instead of just D.

If you click “Get Started” or press Command + G, your Mac will boot into Recovery mode and launch an Apple Support web interface, provided you have an Internet connection. If you have telemetry turned off, this will also ask for your permission before sending any information about your computer to Apple. That’s the only time Apple Diagnostics sends information to Apple.
Apple Diagnostics Reference Code Classes

Apart from the ADP000 code, which means no problems are found, the reference codes produced by Apple Diagnostics tell you something about the type of problem you’ve encountered. In general, most error codes are treated the same way. Reconnect the device if it wasn’t tested or detected or get support from Apple. The brief textual explanations that accompany the reference codes are the full extent of the reference code details that Apple makes available to the consumer.

Reference codes are formatted as a three letter code followed by a three number code with no spaces. Ranges are indicated below with dashes to reduce repetition.

  • CNW001-006: problem detected with the Wi-Fi hardware
  • CNW007-008: no Wi-Fi networks detected
  • NDC001-006: problem detected with the camera
  • NDD001: problem detected with the USB controller
  • NDK001-004: problem detected with the keyboard
  • NDL001: problem detected with Bluetooth hardware
  • NDR001-004: problem detected with the trackpad
  • NDT001-006: problem detected with the Thunderbolt controller
  • NNN001: serial number not detected
  • PFM001-007: problem detected with the system management controller (SMC). This chip handles low-level hardware control on modern Macs.
  • PFR001: problem detected in the computer’s firmware
  • PPF001-004: problem detected with the fans
  • PPM001-015: problem detected with onboard memory
  • PPP001-003: problem detected with the power adapter
  • PPP007: power adapter was not tested
  • PPR001: problem detected with the CPU
  • PPT001: battery not detected
  • PPT002-003: battery health is critically low
  • PPT004: battery requires service
  • PPT005: battery installed improperly
  • PPT006: battery requires service
  • PPT007: battery requires replacement
  • VDC001-007: problem detected with SD card reader
  • VDH002-004: problem detected in the onboard storage device
  • VDH005: could not start from the recovery partition
  • VFD001-005: problem detected with the display
  • VFD006: problem detected in the graphics processor
  • VFD007: problem detected with the display
  • VFF001: problem detected with the audio hardware


In essentially all the cases except for ADP000, your Mac requires service of some kind. The specifics of that service aren’t indicated by the diagnostic program, but the reference code is a valuable first step for the techs trying to solve your Mac’s problem.

You might also like the following posts:

Boot Option Shortcut Keys Cheatsheet for macOS

What is macOS Sandboxing and Why Does It Exist?

How to Fix Messages When It Breaks on macOS

Kokou Adzo

Kokou Adzo

Kokou Adzo is a stalwart in the tech journalism community, has been chronicling the ever-evolving world of Apple products and innovations for over a decade. As a Senior Author at Apple Gazette, Kokou combines a deep passion for technology with an innate ability to translate complex tech jargon into relatable insights for everyday users.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts