56

How can I find out the current resolution the screen is running at, in OS X 10.10?

Under settings -> display (which is where I think it used to be), it shows the refresh frequency, but not the resolution. Using the monitor's controls, I can see it's running at 3840x2160, but how would one find this out from OS X?

3
  • from OS X? do you mean from Terminal, and not using about this mac, or opening syst preferences?
    – Ruskes
    Dec 20, 2014 at 23:42
  • Using about this Mac is fine, I hadn't found that before.
    – projix
    Dec 22, 2014 at 8:48
  • 1
    It does not tell you the current resolution
    – markhunte
    Mar 22, 2015 at 10:05

6 Answers 6

63

You go to apple menu -> about this mac, and there is a Displays tab with the information.

enter image description here

3
  • 22
    That does not show the current resolution. Just the max resolution that the connected monitor can handle.
    – user119086
    Mar 22, 2015 at 0:42
  • 2
    BETTER RESOLUTIONS available when you hold down "alt" key for "scaled" menu of resolutions of system preferences.
    – null
    May 23, 2021 at 5:29
  • That doesn't exist anymore.
    – mjaggard
    May 19 at 10:27
42

You can get the resolution in Terminal using system_profiler by issuing the following command:

system_profiler SPDisplaysDataType | awk '/Resolution/{print $2, $3, $4}'
6
  • 2
    Very helpful for scripting!
    – SilverWolf
    May 16, 2018 at 0:00
  • This is EXACTLY what I was looking for! I needed the resolutions of my Apple displays for a trouble ticket with a software publisher, and this was the fastest and easiest way to get what I needed. I just used grep, though, instead of awk, since I wanted to see more information. system_profiler SPDisplaysDataType | egrep '(Display Type|Resolution)'
    – m0j0
    Nov 19, 2018 at 14:38
  • 3
    This tells us what the capabilities of the display are - not what the current resolution is Jun 9, 2019 at 21:40
  • This is not correct if you're using retina graphics at a non-standard logical resolution! On my 3840x2160 display, with the logical resolution set to 3008x1682, this returns 6016 x 3384. This command only works correctly when the logical resolution dimensions are half of the physical dimensions.
    – Chris
    Mar 27, 2020 at 8:18
  • BETTER RESOLUTIONS available when you hold down "alt" key for "scaled" menu of resolutions of system preferences.
    – null
    May 23, 2021 at 5:27
30

You can see the current resolution in the Display system preferences.

On a Macbook .. Retina, If you have scaled selected for resolution

Hover your mouse over the current scaled selection and the resolution will be shown.

If you have default selected for resolution then the resolution is not shown.

enter image description here

( I cannot check my non retina desktop at the moment)

But either way you could run this Applescript/Objective - C script from your Applescript Menu or from Script Editor.

    use framework "CoreGraphics"
    use scripting additions

    set sizes to item 1 of (current application's NSScreen's mainScreen's frame as list)

    set theRez to ("width:" & width of |size| of sizes & " x height:" & height of |size| of sizes) as string


display dialog theRez with title "Main Screen Rez" buttons "OK"

enter image description here

0
10

system_profiler SPDisplaysDataType will give you the physical resolution of a Retina display, but it won't give you the effective (scaled) resolution. If you need that, you can sort of get it with osascript:

$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280

Note that if you're running a multi-monitor setup, this may require some interpretation. For instance, I have a Retina iMac 21" with physical resolution 4096x2304 and scaled resolution 2560x1440; I also have an external portrait monitor running at 1440x2560:

┌─────────┐┌─────────────┐
│  1440x  ││  2560x1440  │
│  2560   ││             │
│         ││             │
│         │└─────────────┘
│         │
└─────────┘

When I run the command above, it reports:

-1440, 0, 2560, 2560

These are the bounds of the desktop relative to the upper left corner of the main monitor:

x = -1440       0          2560
     ┌─────────┐┌─────────────┐ y = 0
     │         ││             │ 
     │ Monitor ││  Monitor 0  │
     │    1    ││             │
     │         │└─────────────┘ 1440
     │         │
     └─────────┘                2560

As you can see, this by itself doesn't actually give you the scaled vertical resolution of the main monitor (although you can figure it out from the physical aspect ratio).

Another option is the GPL'ed utility screenresolution (which is available through Homebrew if you don't want to build it yourself). The command line isn't much like anything else on this earth, but it works:

$ screenresolution get
2018-04-20 10:00:14.935 screenresolution[12084:518367] starting screenresolution argv=screenresolution get 
2018-04-20 10:00:14.938 screenresolution[12084:518367] Display 0: 2560x1440x32@0
2018-04-20 10:00:14.939 screenresolution[12084:518367] Display 1: 1440x2560x32@60

As a bonus, it also gives you the color depth in bits and, if available, the refresh rate in Hz.

1
  • 1
    This is nice. I really kinda want reliable screen physical size as well as resolution. Or resolution and DPI. Not sure why DPI isn't a thing that everyone always lists for all monitors.
    – nroose
    Jan 11, 2021 at 18:39
2

You could parse the output of displayplacer if needed for scripting. Execute displayplacer list and it will show the current resolution (and more info) for all screens.

displayplacer list

Screen ID: 1124216236
Type: 40 inch external screen
Resolution: 3840x2160
Origin: (0,0) - main display
Rotation: 0
Resolutions for rotation 0:
  mode 0: res=3840x2160x60 <-- current mode
  mode 1: res=3840x2160x60
  mode 2: res=3840x2160x30
...
Screen ID: 1808016461
Type: 27 inch external screen
Resolution: 1440x2560
Origin: (3840,-348)
Rotation: 270
Resolutions for rotation 270:
  mode 0: res=1440x2560 <-- current mode
  mode 1: res=1440x2560
  mode 2: res=720x1280

Also available via Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

2
  • Seems as though it doesn't know the size for laptop main screen. And it would be nice if it showed DPI.
    – nroose
    Jan 11, 2021 at 18:40
  • command not found
    – ninja star
    Nov 23, 2021 at 18:10
2

Easy way to do it: do a screen grab of the whole screen! Ctrl ⌃+Shift ⇧+Command ⌘+4, and it tells you the size of the frame that you grab.

This tells the same thing as when you hover your mouse over the scaled size, it says the resolution used (e.g. looks like 2560x1440)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .