Terminal

How to Check MacBook Specs (Terminal + About This Mac)

Published Nov 13, 2026
Tested on a real Mac. All Terminal commands (system_profiler, ioreg, sysctl, sw_vers, df, diskutil) were run on macOS Tahoe 26.6.2 on a MacBook Air M3; the serial number, hardware UUID, provisioning UDID and model-number region code are replaced with placeholders. The About This Mac and System Settings steps were not checked on screen. Test machine: MacBook Air (M3, 16 GB), macOS Tahoe 26.6.2, zsh 5.9.
On this page
  1. The quick way: About This Mac
  2. Full hardware overview with system_profiler
  3. Find the model year (the line system_profiler skips)
  4. GPU cores, display, and storage
  5. A one-line spec summary to copy
  6. Share specs without leaking your serial number
  7. Common questions

To check your MacBook’s specs from Terminal, run one command:

system_profiler SPHardwareDataType

It prints the model, chip, CPU core split, and memory in under a second. The one thing it does not tell you is the model year. For that, there is a second one-liner below that reads the full marketing name, like “MacBook Air (15-inch, M3, 2024)”, straight from the hardware.

The quick way: About This Mac

If you just want a glance, click the Apple menu () in the top-left corner and choose About This Mac. The window shows the model name with its size and year, the chip, the memory, the serial number, and the macOS version. Click More Info… to open the About page in System Settings, which adds storage.

That is fine for a quick look. Terminal is better when you want to copy the specs into a sale listing or a support ticket, check a Mac over SSH, or see things the window hides, like the GPU core count.

Full hardware overview with system_profiler

Here is the real output from my test Mac, a MacBook Air M3 on macOS Tahoe 26.6.2. I replaced the serial number and IDs with placeholders:

system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Air
      Model Identifier: Mac15,13
      Model Number: MXD23xx/A
      Chip: Apple M3
      Total Number of Cores: 8 (4 Performance and 4 Efficiency)
      Memory: 16 GB
      System Firmware Version: 18000.161.10
      OS Loader Version: 18000.161.10
      Serial Number (system): XXXXXXXXXX
      Hardware UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
      Provisioning UDID: XXXXXXXX-XXXXXXXXXXXXXXXX
      Activation Lock Status: Enabled

What the lines mean:

LineWhat it tells you
Model NameThe product family (MacBook Air, MacBook Pro)
Model IdentifierApple’s internal code, e.g. Mac15,13. Useful for looking up the exact model
Model NumberThe order number. The two letters before /A are the country code
ChipApple Silicon chip (M1, M2, M3…) or the Intel CPU
Total Number of CoresCPU cores, split into Performance and Efficiency on Apple Silicon
MemoryInstalled RAM. On Apple Silicon it cannot be upgraded later

On my Mac the command also printed one odd line before the report:

2026-11-13 10:05:26.335 system_profiler[…] hw.cpufamily: 0xfa33415e

That is debug noise written to standard error, not part of the report. It does not mean anything is wrong. Add 2>/dev/null to hide it:

system_profiler SPHardwareDataType 2>/dev/null

Find the model year (the line system_profiler skips)

system_profiler gives you Model Name: MacBook Air but no size or year. This is the question most people actually have (“is this the 2022 or the 2024 one?”). The full name is stored in the device tree, and ioreg can read it:

ioreg -l -p IODeviceTree | awk -F'"' '/"product-name"/{print $4; exit}'
MacBook Air (15-inch, M3, 2024)

This was the most useful thing I found while testing. It works offline, needs no admin password, and gives the size and year that system_profiler leaves out.

You may see older guides that look up the model in a file called SIMachineAttributes.plist inside /System/Library/PrivateFrameworks/ServerInformation.framework. That file still exists on macOS Tahoe, but on my Mac it had no entry for any Mac15 model at all. The newest models it knows are Intel-era. So that trick fails on Apple Silicon Macs. Use ioreg instead.

GPU cores, display, and storage

The GPU core count is not in the hardware overview. It lives in the displays section:

system_profiler SPDisplaysDataType 2>/dev/null
Graphics/Displays:

    Apple M3:

      Chipset Model: Apple M3
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 10
      Vendor: Apple (0x106b)
      Metal Support: Metal 4
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina Display
          Resolution: 2880 x 1864 Retina
          Main Display: Yes

The second Total Number of Cores: 10 is the GPU. Some chips are sold with different GPU core counts, so this line is how you tell which version you have.

For storage, diskutil gives the size the way Apple advertises it:

diskutil info / | grep -E "Disk Size|Solid State"
   Disk Size:                 494.4 GB (494384795648 Bytes) (exactly 965595304 512-Byte-Units)
   Solid State:               Yes

This is a “512 GB” Mac. You see 494.4 GB because the main container excludes some space Apple reserves for system partitions such as recovery. df -h / showed 460Gi for the same disk, because df counts in binary gibibytes (1 GiB = 1.074 GB). Neither number means the drive is faulty. To see what is filling it, see how to find large files on Mac.

A one-line spec summary to copy

When you only need the headline numbers, filter both sections at once:

system_profiler SPHardwareDataType SPDisplaysDataType 2>/dev/null | grep -E "Model Name|Chip:|Total Number of Cores|Memory:|Resolution"
      Model Name: MacBook Air
      Chip: Apple M3
      Total Number of Cores: 8 (4 Performance and 4 Efficiency)
      Memory: 16 GB
      Total Number of Cores: 10
          Resolution: 2880 x 1864 Retina

The first core line is the CPU, the second is the GPU. Add the macOS version with sw_vers (more in how to check your macOS version in Terminal):

sw_vers
ProductName:		macOS
ProductVersion:		26.6.2
BuildVersion:		25G83

Share specs without leaking your serial number

The default report includes your serial number, hardware UUID, and provisioning UDID. You should not paste those into a public forum. The mini detail level drops them:

system_profiler -detailLevel mini SPHardwareDataType 2>/dev/null

On my Mac this printed the same report but stopped after OS Loader Version. The serial, both IDs, and Activation Lock status were gone. That makes it a safe version to share.

If you want the specs in a script, use sysctl. It is instant and prints raw values:

sysctl -n machdep.cpu.brand_string hw.ncpu hw.perflevel0.logicalcpu hw.perflevel1.logicalcpu hw.model
Apple M3
8
4
4
Mac15,13

Those are the chip name, total CPU cores, Performance cores, Efficiency cores, and model identifier. The perflevel keys are Apple Silicon only. Memory comes back in bytes, so divide it:

sysctl -n hw.memsize | awk '{print $1/1073741824 " GB"}'
16 GB

system_profiler can also print JSON with -json. By default the JSON includes serial_number, platform_UUID, and provisioning_UDID. Combine it with -detailLevel mini and those fields disappear, just like in the text report.

Common questions

Can I check MacBook specs by serial number?

Yes. Apple’s Check Coverage page (checkcoverage.apple.com) shows the model name for a serial number. I did not test that page for this guide. On the Mac itself, the ioreg one-liner above gives the same model name without typing the serial anywhere.

Why does the full system_profiler report take so long?

Running system_profiler with no data type collects about 50 sections, including USB, Bluetooth, and network scans. Even system_profiler -detailLevel mini took 14 seconds on my M3. Asking for one section, like SPHardwareDataType, finished in about 0.3 seconds. Run system_profiler -listDataTypes to see all section names.

How do I see how much RAM is actually in use?

The specs above show installed memory. For live usage, see how to check RAM usage on Mac from Terminal.

Does this work on Intel Macs?

system_profiler, ioreg, sw_vers, and diskutil exist on Intel Macs too. The output differs: Intel Macs show Processor Name and Processor Speed instead of Chip, and there is no Performance/Efficiency split, so the hw.perflevel sysctl keys are missing. I only tested on Apple Silicon.

Is it safe to share the Model Identifier?

Yes. Mac15,13 is the same for every Mac of that model. It is the serial number, hardware UUID, and provisioning UDID that are unique to your machine.