Both OS X and macOS offer built-in commands allowing you to take screenshots of the active window, the full screen and more. In this article, we will go one step further and see how to take a screenshot in macOS and automatically create a Dropbox link from it that you can share with anybody.
Additionally, we will compare this technique with Annotate, an excellent third-party tool that I have used for many years. So let’s find out how to take a screenshot on macOS!
Basic: How to take a screenshot using keyboard shortcuts
Taking a screenshot on macOS (or OS X) is incredibly simple, and you don’t even need any third-party software for it. The default keyboard shortcuts are:
- SHIFT + COMMAND + 3: To take a screenshot of the full screen
- SHIFT + COMMAND + 4: To take a screenshot of a selected area of the screen
You can use the same keyboard shortcuts but add the CONTROL key, to copy the screenshot to the clipboard, rather than saving it to a file.
Where do my screenshots go?
By default, macOS saves screenshots to your Desktop folder (~/Desktop) in PNG (Portable Network Graphics) format. If you take a lot of screenshots, you will end up with a cluttered desktop. As a result, I recommend changing the default location of where macOS stores screenshots. I decided to save screenshots in Dropbox, which is a requirement if you want to create Dropbox box links that you can share with others.
To change the storage location, just open Terminal via Launchpad or Spotlight and type in the following command:
defaults write com.apple.screencapture location ~/Dropbox/Screenshots
You don’t have to use the same folder name; I just called my folder “Screenshots.” Feel free to use any other name. After changing the location where macOS stores screenshots, we have to restart to so-called SystemUIServer. You can do that by either rebooting macOS or better yet, by issuing the following command on the Terminal:
How do I change the image file type
macOS saves screenshots by default as PNG files, but I prefer JPEG files because I often use screenshots for the web. The advantage of JPEG files is that I can compress them more efficiently, resulting in smaller file sizes. To change the file format to JPEG, we have to go back to the Terminal and issue the following command:
defaults write com.apple.screencapture type -string "jpg"
Other supported file types include BMP, GIF, PDF, and TIFF, besides PNG and JPG.
Basic: Using Dropbox’s import feature
One of my readers pointed out that Dropbox has added an import feature that automatically uploads screenshots to Dropbox and creates a sharing link. To enable that feature, right-click on the Dropbox app and then on the settings wheel.
From there click on “Preferences…” and then on Import. On the Import dialog, you can select “Save screenshots to your personal Dropbox.” The advantage of this approach is that it is quick and easy. The disadvantage is that you have no control over the folder Dropbox stores your screenshots in (~/Dropbox/Screenshots), you cannot change the file name, and it only works when your default screenshots location is your Desktop. But if that is not a problem for you and if you don’t need to annotate your screenshots, it is a great way of working with screesnhots. Thanks to John Johnson for this tip!
Intermediate: How to take a screenshot using the Grab tool
Grab is a utility that comes with macOS. You can find it under Applications –> Utilities via Finder or the Launchpad. In comparison to the built-in keyboard shortcuts, Grab gives you a few more options in addition to capturing the full screen or a selection thereof, including:
- Capture window
- Timed Screen
In other words, Grab enables you to select a particular window on your screen to take a screenshot of, or to take a timed screenshot of the entire screen. The latter is useful if you would like to take a screenshot of an individual menu that requires a click. Usually, clicking triggers the screenshot, so Timed Screen is a good workaround for that. Other than that, Grab doesn’t have many configuration options. You can only enable or disable sounds or choose the cursor type.
After having taken a screenshot with Grab, you can save it to a folder of your choice using either TIFF, PNG or JPEG as the file format. So the Terminal settings we discussed before don’t apply to Grab.
Advanced: How to take a screenshot via command line
In macOS, you also have the option to take screenshots via the command line (Terminal) by using the “screencapture” command. The command line is the most powerful and flexible way to take screenshots in macOS, without the help of third-party tools.
The only required argument is the name of the file “screencapture” should use to store your screenshots. The following command, for example, takes a screenshot of your entire screen and saves it to your Desktop as bla.jpg.
Additional features and configuration options are available as command line switches. Below are the most important ones:
usage: screencapture [-icMPmwsWxSCUtoa] [files]
-c force screen capture to go to the clipboard
-C capture the cursor as well as the screen
-i capture screen interactively, by selection or window
control key - causes screen shot to go to clipboard
space key - toggle between mouse selection and
window selection modes
escape key - cancels interactive screen shot
-M screen capture output will go to a new Mail message
-o in window capture mode, do not capture the shadow of the window
-P screen capture output will open in Preview
-I screen capture output will in a new Messages message
-S in window capture mode, capture the screen not the window
-t<format> image format to create, default is png (other options include pdf, jpg, tiff and other formats)
-T<seconds> Take the picture after a delay of <seconds>, default is 5
-W start interaction in window selection mode
-a do not include windows attached to selected windows
As you can see, there are a lot of choices at your disposal if you choose to go the command line route. I have never used “screencapture,” but it’s good to know it is there, in case I ever need it.
My favorite: How to take a screenshot using the Annotate app
Annotate is my favorite screen capture and snipping tool on the Mac. I have tried a few others, but I have always come back to Annotate, formerly known as GLUI. The reasons I like Annotate so much are:
- Straightforward and convenient to use
- Dropbox integration
- I can quickly annotate screenshots
You can purchase and download Annotate directly from the App Store. At the time of this writing, the app costs $3,99. Once downloaded, you can launch and configure it to meet your needs.
Screen capturing options
Annotate is flexible enough to let you take screenshots via the following options:
- Crosshair snapshot: you can select an area of your screen with crosshairs
- Window Snapshot: you can select an individual window
- Image from Clipboard: This option is very useful if you want to annotate an existing image, such as a photo you downloaded from the Internet. To use it, just open an image file in Preview and press COMMAND + C to copy the image to the clipboard. Then press SHIFT + COMMAND + 7 to open Annotate with the image from the clipboard.
- Record Screen: Allows you to record a video instead of taking a screenshot
- Bring to front: Simply makes Annotate the active window. That’s useful when you show Annotate only in the menu bar but not in the Dock as I do.
Settings and preferences
All my Apple devices have a Retina Display, and I like taking screenshots of the highest resolution possible. So under Annotate –> Preferences –> General I have “Disable autoscaling to 72 PPI” checked. That way, my screenshots are saved as 144 DPI images. That’s useful if you have to upscale screenshots to 300 DPI in Photoshop. I had to do that recently for flyers I wanted to have printed, and I was glad to have higher-resolution images than I would have gotten on a non-Retina screen.
Under Annotate –> Preferences –> Services I linked my Dropbox account and under Annotate –> Preferences –> Actions, I checked Upload (Dropbox) and Copy (Clipboard). After taking a screenshot, the following keyboard shortcuts trigger the copy to clipboard or upload to Dropbox:
- COMMAND + ENTER: Upload to Dropbox
- COMMAND + SHIFT + C: Copy to clipboard
I chose not to enable any other sharing options because I share screenshots either via Dropbox link or by pasting them into another application. That makes the built-in sharing with Messages or Mail options obsolete. Additionally, I barely share screenshots on social media, so I don’t need those options activated. By sharing a screenshot via Dropbox, Annotate conveniently creates a public Dropbox link and copies it to the clipboard. To me, Dropbox sharing is probably the single most useful feature of Annotate.
I have mentioned above that Annotate makes it easy to annotate screenshots before saving or sharing them. The annotation options are not extensive but sufficient for most cases and include the following features:
- Arrows: to point to a particular area in the image
- Text: to add notes and text to the image
- Overlay: useful if you want your viewers to focus on a particular part of the image
- Rectangles or ovals: to mark areas of the image
- Pen: to draw or write on the image freestyle
- Pixelate: I use this a lot to blur parts of the image that contain sensitive information
- Crop: self-explanatory
- Emoji: to quickly add Emojis to your images
How to create a Dropbox link without Annotate
If you would like to share screenshots via Dropbox easily but don’t need any of the bells and whistles of Annotate, there is a free way to do that. Just use the commands I showed you at the beginning of this article to instruct macOS to store your screenshots in Dropbox. After having taken a screenshot, navigate to the file via Finder, right-click on it and say “Copy Dropbox Link.” That immediately creates a Dropbox link that you can share with others.
Automatically process screenshots with Hazel
I am a lazy person and don’t want to bother with those extra steps, so I automated the whole process using Hazel and Automator. Instead of changing the location where macOS stores screenshots, I let Hazel monitor my Desktop folder. If it sees an image that contains the words “Screen Shot” in its filename, it renames it and executes an Automator workflow, before deleting the file from the Desktop.
The Automator workflow copies the screenshot to Dropbox and automatically generates a link for me. If that sounds interesting to you, check out this article on how to prepare Dropbox and Automator before proceeding.
Note that the above-linked article suggests that you launch Automator and to create a “Service.” For Hazel to work, don’t create a Service but a Workflow. In fact, you can create both and use the same concept with and without Hazel, but for the instructions below to work, we need a Workflow.
Creating an Automator Workflow
So let’s create a new Workflow that looks almost identical to my Automator Service. The only difference is, we need an extra action on top called Get Selected Finder Items. So go ahead and create a new Automator document, choose type Workflow and add the following actions:
- Get Selected Finder Items
- Run Shell Script (paste the code from here)
- Copy to Clipboard
- Optional: Display Notification
Then save it and open Hazel:
- Add Desktop to your monitored Hazel folders (if not already there)
- Create a new rule as shown in the screenshot
The rule looks for image files that have the words “Screen Shot” in the filename. If it finds one, it renames the file and runs the Automator workflow. Then, it deletes the original file from the desktop.
How to take a screenshot on macOS and create a Dropbox link
There are multiple ways on how to take a screenshot in macOS. Many of them don’t even require third-party software. But if you take as many screenshots as I do, you probably need something more flexible and convenient. That’s where apps such as Annotate come in handy. Alternatively, you can use automation tools such as Automator and Hazel to achieve similar results. I use Hazel a lot for processing scanned documents and rely on Annotate for my screen capturing needs.