Save screenshot with custom name

When I save a screenshot I want to be able to specify any name I want (and maybe destination directory). Sharpshooter for mac does this, but it's a ridiculous $15. Cheaper alternatives?


Changing the prefix part of the names

defaults write com.apple.screencapture name "My Screenshot"
killall SystemUIServer

Changing the format of the names

UPDATE: by 2021, the location of ScreenCapture.strings has moved from English.lproj (older macOS) to en.lproj (today's macOS).

f=/System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj/ScreenCapture.strings
f2=~/Desktop/ScreenCapture.strings
sudo cp $f $f2
sudo chown $USER $f2
plutil -convert xml1 $f2
open $f2 -a TextEdit

Change

<key>%@ %@ at %@</key>
<string>%@ %@ at %@</string>

To something like

<key>%@ %@ at %@</key>
<string>My %@ %@ at %@</string>

(The default format is currently something like Screen Shot 2012-06-12 at 8.02.40 AM depending on the locale settings.)

sudo chown root $f2
sudo cp $f2 $f
killall SystemUIServer

Changing the default location

defaults write com.apple.screencapture location ~/Pictures/
killall SystemUIServer

Using custom scripts

I've disabled the default shortcuts and have assigned shortcuts to scripts like screencapture -i ~/Desktop/`date '+%y%m%d%H%M%S'`.png.


Skitch lets you do this, as well as online sharing, annotation, and drawing, and it's free.


A much easier way than Laurie's answer is to use a free application called Deeper. It is really easy to use. Just enter in the name of that you want in the screenshot name field (under the General tab):

Click "Apply" and you are done. A nice feature of Deeper is the ability to restore all the default settings. If you've made a change to the settings that is causing your system to act up, no problem! At the bottom of each tab is a button that says "Restore Defaults". Deeper will fix up all your settings. I highly recommend this app, as it is free and adds a great deal of customization that OS X doesn't provide.