The problem with "Screen Shot 2026-04-14 at 3.42.17 PM"

Every screenshot you take on a Mac gets the same naming pattern: Screen Shot [date] at [time].png. After a week of active development, your Desktop or Screenshots folder looks like a wall of identically-named files that tell you nothing about their content. You can't search for them. You can't sort them by project. And if you commit them to a repository, the spaces and special characters in the filename cause quoting headaches in scripts and CLI commands.

macOS lets you change the prefix from "Screen Shot" to anything you want. You can also remove the date and time portion, strip the spaces entirely, or set up automatic renaming rules. Here's every option, from the simplest Terminal command to full automation.

Change the screenshot prefix with Terminal

The fastest fix: change the prefix from "Screen Shot" to something shorter and more useful. Open Terminal and run:

defaults write com.apple.screencapture name "screenshot"
killall SystemUIServer

Now every screenshot will be named screenshot [date] at [time].png instead of Screen Shot [date] at [time].png. The killall SystemUIServer command restarts the system process that handles screenshots so the change takes effect immediately.

Some useful prefixes developers use:

  • "ss" — Short and terminal-friendly, no spaces
  • "cap" — Short for "capture"
  • "debug" — If most of your screenshots are bug-related
  • "lazyscreenshot" — Brand or project prefix for organization

To reset back to the macOS default:

defaults delete com.apple.screencapture name
killall SystemUIServer

Remove the date and time from filenames

If you want just the prefix with no timestamp at all, there's a separate defaults setting for that:

defaults write com.apple.screencapture include-date -bool false
killall SystemUIServer

Now screenshots will be named screenshot.png, screenshot 1.png, screenshot 2.png, and so on. macOS appends an incrementing number to avoid overwrites. This produces the cleanest filenames but loses the timestamp information, which can be useful for sorting.

To bring the date back:

defaults write com.apple.screencapture include-date -bool true
killall SystemUIServer

Limitation: You cannot change the date format itself. macOS always uses the pattern YYYY-MM-DD at H.MM.SS AM/PM based on your locale. If you want ISO 8601 timestamps, underscores instead of spaces, or Unix epoch timestamps, you'll need the Automator approach described below.

Auto-rename screenshots with a Folder Action

For full control over screenshot filenames, you can set up a macOS Folder Action that automatically renames files as they're saved to your screenshot directory. This approach lets you use any naming pattern you want.

Step 1: Open Automator and create a new Folder Action.

Step 2: At the top, set "Folder Action receives files and folders added to" to your screenshot save location (usually Desktop or a custom Screenshots folder).

Step 3: Add a Run Shell Script action with the following content. Set "Pass input" to as arguments:

for f in "$@"; do
  filename=$(basename "$f")
  extension="${filename##*.}"

  # Only rename screenshot files
  if [[ "$filename" == Screen\ Shot* ]] || [[ "$filename" == screenshot* ]]; then
    timestamp=$(date +"%Y%m%d_%H%M%S")
    newname="ss_${timestamp}.${extension}"
    mv "$f" "$(dirname "$f")/${newname}"
  fi
done

This renames every new screenshot to a clean format like ss_20260414_154217.png — no spaces, no special characters, sortable by date, and easy to use in Terminal commands and scripts. Adjust the date format string and prefix to match your preference.

Step 4: Save the Folder Action. It will automatically run whenever a new file is added to the folder.

Batch rename existing screenshots in Finder

If you have hundreds of "Screen Shot" files cluttering a folder, Finder has a built-in batch rename feature that most people overlook.

How to use it: Select all the screenshots you want to rename (use Cmd+A to select all or Cmd-click to pick specific files). Right-click and choose Rename... from the context menu.

In the rename dialog, you have three modes:

  • Replace Text — Find "Screen Shot" and replace with "ss" to quickly shorten all names
  • Add Text — Prepend or append a project name like "onboarding-" to all selected files
  • Format — Replace all names with a pattern like "bug-report" plus an incrementing counter: bug-report 1.png, bug-report 2.png, etc.

For bulk cleanup, Replace Text is usually the fastest. Replace "Screen Shot " (with the trailing space) with an empty string to strip the prefix entirely, leaving just the date and time. Or replace it with a project-specific prefix.

For more advanced batch renaming, the free app NameChanger or the command-line tool rename (installable via Homebrew with brew install rename) gives you regex-powered renaming across thousands of files.

Why filenames matter for developer workflows

For most people, screenshot filenames are an inconvenience. For developers, they're a workflow bottleneck. Here's where bad filenames cause real friction:

Git and version control. Spaces and parentheses in filenames require quoting in every git command, shell script, and CI config. A filename like Screen Shot 2026-04-14 at 3.42.17 PM.png breaks git add without quotes, causes issues in Makefiles, and creates noisy diffs when the only change is a renamed file.

Documentation and READMEs. If you include screenshots in a README or documentation site, the Markdown reference includes the full filename. ![Bug](Screen%20Shot%202026-04-14%20at%203.42.17%20PM.png) is unreadable. ![Bug](ss_20260414_154217.png) is manageable. ![Bug](login-error-dark-mode.png) is self-documenting.

Searching and sorting. When every file starts with "Screen Shot," Spotlight search becomes useless for finding a specific capture. Descriptive filenames let you type a keyword and find what you need in seconds.

Sharing with teams. Dropping a file called "Screen Shot 2026-04-14 at 3.42.17 PM.png" into a Slack channel or GitHub issue tells your teammate nothing. A file called "checkout-button-missing.png" communicates the issue before they even open it.

A smarter approach to screenshot naming

The Terminal defaults trick and the Automator approach both solve the prefix problem. But they still leave you with timestamp-based names that don't describe the content. The ideal workflow gives each screenshot a meaningful name at capture time, not after.

LazyScreenshots captures screenshots and lets you annotate, organize, and share them in one step. Instead of managing filenames in Finder, your screenshots flow directly into the app you're working in — Claude, Cursor, Slack, or GitHub — without touching the filesystem. No "Screen Shot" clutter on your Desktop, no renaming gymnastics.

LazyScreenshots captures, annotates, and auto-pastes screenshots into Claude, Cursor, and ChatGPT. Skip the filename mess entirely. $29 one-time.

Try LazyScreenshots — $29 one-time