Capture an image of the whole, or part of the screen.

       screencapture [options] [file]

Key -c Force screen capture to go to the clipboard. -C Capture the cursor as well as the screen. Only allowed in non-interactive modes. -d Display errors to the user graphically. -i Capture screen interactively, by selection or window. The control key = copy screen to the clipboard. The space key will toggle between mouse selection and window selection modes. The escape key will cancel the screen shot. -m Only capture the main monitor, undefined if -i is set. -M Open the taken picture in a new Mail message. -o In window capture mode, do not capture the shadow of the window. -P Open the taken picture in a Preview window. -s Only allow mouse selection mode. -S In window capture mode, capture the screen instead of the window. -t format Image format to create, default is png (other options include pdf, jpg, tiff and others). -T seconds Take the picture after a delay of seconds, default=5 Handy for arranging windows/menus before taking the screenshot. -w Only allow window selection mode. -W Start interaction in window selection mode.
-x Do not play sounds. -l windowid Capture a specific windowsid. -R x,y,w,h Capture a screen rectangle, top,left,width,height.
file Where to save the screen capture, 1 file per screen. -help Display brief syntax summary.

Drop Shadow

To turn off the default window drop shadows, this will make your screenshot files smaller.

defaults write disable-shadow -bool true
killall SystemUIServer

Save Screenshots to a given Location

By default screen shots are saved to the desktop, but this can be changed with a default

Set save location to ~/Desktop:
defaults write location ~/Desktop && \ killall SystemUIServer

Set the file format for saved screenshots

By default screneshots are saved as .png files, supported formats are: .bmp, .gif, .jpg, .jpeg, .pdf, .tiff

Set file format to .png:
defaults write type -string "png"

Remote captures:

To capture screen content while logged in via ssh, you must launch screencapture in the same mach bootstrap hierarchy as loginwindow:

PID=pid of loginwindow
sudo launchctl bsexec $PID screencapture [options]


Wait 10 seconds, then take a screen capture of the entire screen including the cursor:

$ screencapture -T 10 -C ~/screencap1.png

To take a screenshot of one window, excluding the surrounding drop shadow, point and click with the mouse to take the screenshot:

$ screencapture -o -W ~/screencap2.png

Take a screen shot of the DVD player (where the normal keyboard shortcuts won't work)

$ screencapture -i ~/Desktop/dvd.png

The mouse will turn into crosshairs, hit the space bar for camera mode, now click the window the DVD is playing in.
A file called "dvd.png" will appear on your desktop.

“The photograph itself doesn't interest me. I want only to capture a minute part of reality” ~ Henri Cartier-Bresson

Related macOS commands:

sips - Scriptable image processing system.
macOS Keyboard shortcuts
VLC will also allow screenshots of DVDs.

Copyright © 1999-2020
Some rights reserved