Setting Screenshot File Location

By default your Mac screenshots will appear on the Desktop. However, if you take screenshots often, it could be useful to set up a dedicated folder for them and have them automatically save there. You can do this with a simple Terminal command.
Video Transcript / Captions
Closed captioning for this video is available on YouTube: Setting Screenshot File Location.

It's easy to take a screenshot on your Mac. If you go into System Preferences, Keyboard, Shortcuts, and look under Screenshot you see the shortcuts. Shift Command 3 takes a picture of the screen and saves it as a file. Shift Command 4 will take a picture of a selected area.So I can grab a screenshot, Shift Command 3, and it saves it here on the desktop. In fact it's going to save three of them because I have three screens. You're only seeing one of them.

Now you can clutter your desktop really quickly with these little screenshot images so it could be nice to have a dedicated place for these to go especially if you're taking screen shots pretty often. Well you can set the location in Terminal.

So I'm running the Terminal app. You can get to it by simply hitting Command Space or Spotlight searching for Terminal and running it. Now in here there's a command you can use and it's
defaults write location
and this is how you set the location for your screenshots.

Now I'm going to go into the Finder here, create a New Finder window, and go to my Documents folder which is where I'm at here. I'm going to create a folder here, Command Shift N for new folder, called screenshots, and this is where I want them to appear. Instead of having to type the full path to this which is quite long into Terminal, I'm going to go in here, add a space and this is where I would normally type the path to that folder. But instead I'm going to drag and drop the folder here and it will put the path for me. /Users/macmost/Documents/Screenshots. Now I'm ready to go. Hit Return and this sets the location.

Now the Finder doesn't know that I've changed things so I have to force it to update. I can do that by logging out, logging back in, and restarting. But I can also use this command here: killall (one word) space SystemUIServer. When I do that basically you can see it restarted a bunch of things very quickly and now it knows that this has been updated.

So if I were to take another screenshot, Command Shift 3, you can see those screenshots don't appear here on the desktop. But if I look in the screenshots folder there they are. I can do it again and you can see it adds them there. So now I've set it permanently to that location.

If you want to change it back all you need to do is use the same command here but drag the Desktop to it. So you can go to Desktop, go up one level here, there's your desktop folder right there, drag that in and you can see it's going to set it back to user/macmost/desktop and do it. Then I can do the killall command again and it sets it back. So the next time it takes screenshots there they go appearing on the desktop.

Comments: 21 Responses to “Setting Screenshot File Location”

    2 years ago

    Great video on saving screen shots. Have been searching for any easy way to make the change, bingo, you nailed it! Thanks!

    2 years ago

    Will this work across all MAC platforms?

    2 years ago

    Squafdonoboles: Not sure what you mean. Should work on all Macs, yes.

    Jerry Naples
    2 years ago

    Nice capability. I hesitate to tell most of my associates about Terminal actions. Few of them would be “safe” in Terminal. Aren’t there some alternatives from developers that stay outside Terminal? Would rather tell people about that
    Of course, DropBox offers to grab any screen shots but I’d rather not

    2 years ago

    Jerry: Any alternatives would (like an app that lets you change things like this) would be MORE dangerous since a click interface would make it easier to change something you shouldn’t.

    2 years ago

    Hi I’m following the instructions but this is not working for me. At the moment my screenshots are not saved to the desktop although they used to be and I’ve no idea where they are now

    2 years ago

    Fiona: First, check to make sure you are using the right keyboard shortcut. Look in System Preferences like I show at the start. It is easy to change them, and you may be simply copying the screen to the clipboard and not saving it as a file.

    John Russell
    2 years ago

    Jerry, as an alternative to this method I wrote a little rule in the app Hazel to watch for any files showing up on the Desktop with .png as the extension and to plunk them in a folder called Screenshots. Tomato, Tom-ah-to?

    william braun
    2 years ago

    Great post – I have wanted to do this for a long time – just did not know how. Thanks much,


    2 years ago

    When I do this and put it the instruction it says “-bash: default: command not found.

    2 years ago

    Ric: Do a search for “Mac Terminal bash: default: command not found” and you’ll get some results that may lead you in the right direction. But if you are not familiar with using Terminal then at this point I would seek firsthand expert help instead of trying to mess around with Terminal commands on your own.

    Robert E.
    2 years ago

    Regarding Ric and Fiora’s problem…it is not working because of just one slight error Gary made in the video Transcript. The first word of the Terminal command should be “defaults” with an s and not default, as is shown. I had the same problem until I compared the transcript to the video.
    You can’t really blame Gary. He has so much on his plate, he is allowed a mistake now and then. Thanks for all, Gary!

    2 years ago

    Robert: Thanks for spotting that. I didn’t realize people were using the transcript to copy and paste. I don’t do the transcripts myself and they are really there for closed captioning and search engines. I’ve corrected the “default” to “defaults.” Thanks.

    Christy Hemenway
    2 years ago

    Brilliant. I teach weekend intensive classes and one of the chores I have to sure I perform before each class is that of cleaning up all those screen shots off my desktop! I usually sweep them all up into a folder labeled “Desktop Clutter.”
    But now they can go there first – without stopping off at the desktop, and I can find ’em fast.
    Thanks Gary.

    Kathy George
    2 years ago

    That’s great Gary, I want mine on the Desktop but a few weeks ago they moved to some other file so on trying to move them back to the Desktop, Terminal is saying this, lots more of it but this is what it starts with:

    Command line interface to a user’s defaults.

    ‘defaults’ [-currentHost | -host ] followed by one of the following:

    read shows all defaults

    Is this correct?

    Many thanks,

    2 years ago

    Kathy: I’m not sure what you are asking. If the location of your screenshots changed without you using the command in the Terminal yourself, then something must have changed that location. Perhaps you installed some software that now intercepts these and puts them elsewhere? If so, simply using the Terminal command may not be enough to switch it back. You’ll have to figure out what you installed or set that changed it.

    Kathy George
    2 years ago

    Hi Gary, it was just that Terminal was showing a lot more info than when you showed the example so I wasn’t sure if that was correct or if something weird had happened. It does indeed look as though something weird has happened though! So based on the info I gave you above regarding what Terminal is now saying, is it safe to continue with this session or should I terminate/delete it and try and find another way?

    2 years ago

    Kathy: I’m not sure what you typed in in order to get that response, but it looks like you mistyped the command and it simply gave you some instructions.

    Kathy George
    2 years ago

    Yep you’re dead right Gary, I’d not typed it in properly! Now I have, this is what I typed and what it responded with……

    defaults write /Users/user/Desktop
    2017-03-08 06:54:58.967 defaults[8232:1496217]
    Rep argument is not a dictionary
    Defaults have not been changed.

    What have I done wrong?

    2 years ago

    Kathy: You forgot the “location”
    defaults write location *path*
    Also, I assume you are using an actual path, and not “/Users/user/Desktop” — unless “user” is your home folder name.

    Kathy George
    2 years ago

    Cannot believe I did that! So, I’ve found the problem – I installed Dropbox a few weeks ago (can’t remember why!) and that’s where the screenshots were going. This command in Terminal couldn’t override Dropbox but I’ve now sorted the problem in preferences so I’m happy. So sorry to waste your time Gary and thank you so much for all your fabulous videos.

Comments Closed.