Why Mac window screenshots have a drop shadow

When you capture a specific window on Mac using Cmd+Shift+4 then Space, macOS adds a large drop shadow around the window. This shadow is baked into the image file itself — it's not just a visual effect in the preview. The resulting PNG has transparent padding on all sides with a soft shadow that adds roughly 100–150 extra pixels to each dimension.

For casual use this looks fine. For documentation, bug reports, blog posts, or any context where you're placing screenshots on a non-white background, the shadow creates problems. It adds unnecessary file size, makes alignment harder, leaves awkward transparent edges in Slack or GitHub, and looks inconsistent when you place multiple screenshots side by side.

Method 1: Hold Option while clicking (per-screenshot)

The fastest way to remove the shadow from a single window screenshot:

  1. Press Cmd+Shift+4
  2. Press Space to switch to window capture mode (cursor becomes a camera)
  3. Hold Option while clicking the window

That's it. The screenshot is captured without the drop shadow. The image is just the window itself, pixel-perfect, with no extra padding.

This works in every version of macOS from Mojave through Tahoe. It's the method Apple intended for shadow-free captures, but it's almost completely undocumented. Most Mac users don't know the Option modifier exists in this context.

Method 2: Disable shadows permanently via Terminal

If you never want shadows on window screenshots, you can disable them system-wide with a Terminal command:

defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer

The killall SystemUIServer restarts the process that handles screenshots so the change takes effect immediately. Every window screenshot from this point forward will be shadow-free — no need to hold Option.

To re-enable shadows later:

defaults write com.apple.screencapture disable-shadow -bool false
killall SystemUIServer

Or delete the preference entirely:

defaults delete com.apple.screencapture disable-shadow
killall SystemUIServer

Compatibility notes: macOS Ventura, Sonoma, Sequoia, Tahoe

The Terminal method has worked reliably for years, but Apple has changed screenshot internals in recent releases. Here's the current state:

macOS version Option+click Terminal disable-shadow Notes
Monterey (12) Works Works Both methods fully reliable
Ventura (13) Works Works No changes
Sonoma (14) Works Works Some users report needing a restart instead of killall
Sequoia (15) Works Inconsistent Terminal command may not persist across restarts for some users
Tahoe (16) Works Inconsistent Apple may be deprecating this preference key

The Option+click method remains the most reliable approach across all macOS versions. If you're on Sequoia or later and the Terminal command doesn't stick, use Option+click or a third-party screenshot tool that gives you shadow control natively.

Method 3: Use the Screenshot toolbar (Cmd+Shift+5)

The Screenshot toolbar (Cmd+Shift+5) provides another path. Click "Options" in the toolbar and look for "Show Shadow" — but note that this option is only available on some macOS versions. On Ventura and later, Apple removed it from the toolbar options menu. You'll need to use Method 1 or 2 instead.

Method 4: Remove the shadow after capture with Preview

If you already have a screenshot with a shadow and need to remove it, you can crop it out in Preview:

  1. Open the screenshot in Preview
  2. Use the rectangular selection tool to select just the window (inside the shadow)
  3. Go to Tools → Crop (or press Cmd+K)
  4. Save the file

This works but it's tedious for multiple screenshots. You lose the transparent background and end up with whatever color was behind the window. For batch operations, the sips command-line tool can crop images, but calculating the exact shadow dimensions for each screenshot is impractical.

Method 5: Use screencapture from Terminal

The screencapture command-line tool has a flag to suppress shadows:

# Capture a window without shadow (interactive mode)
screencapture -o -W ~/Desktop/no-shadow.png

The -o flag removes the shadow from window captures. The -W flag starts an interactive window selection. You can combine this with other flags:

# Capture to clipboard without shadow
screencapture -o -W -c

# Capture a specific window by ID without shadow
screencapture -o -l$(osascript -e 'tell app "Safari" to id of window 1') ~/Desktop/safari.png

This is useful for scripts and automation workflows where you need consistent, shadow-free screenshots.

When to keep the shadow

Shadows aren't always bad. They serve a purpose in certain contexts:

Context Shadow? Why
Documentation / README Remove Clean edges, consistent alignment, smaller file size
Bug reports Remove Focus on the content, not the chrome
Marketing / landing pages Keep or customize Shadows add depth and make windows look elevated
Blog posts on white backgrounds Keep Helps the screenshot stand out from the page
Slack / GitHub comments Remove Transparent edges render as checkerboard or white gaps
AI coding assistants Remove The shadow wastes image tokens and adds no information

Adding custom shadows or borders instead

The macOS default shadow is quite heavy — a thick, blurred black edge that adds significant padding. Many developers prefer a subtler treatment: a thin border, a lighter shadow, or a colored background that frames the window.

Third-party screenshot tools let you customize this. You can apply a tight 2px shadow instead of the macOS 40px blur, add a solid border, or place the window on a gradient background. This gives you the visual separation of a shadow without the drawbacks of the default one.

For a quick CSS-style shadow on existing screenshots, ImageMagick can add one:

# Add a subtle shadow with ImageMagick
convert screenshot.png \
  \( +clone -background black -shadow 60x8+0+4 \) \
  +swap -background none -layers merge \
  +repage shadowed.png

This creates a 60% opacity shadow with 8px blur and a 4px vertical offset — much subtler than the macOS default.

Quick reference: all shadow removal methods

Method Scope Reliability Best for
Option+click Per screenshot All macOS versions Quick one-off captures
Terminal disable-shadow System-wide Pre-Sequoia Developers who never want shadows
screencapture -o Per command All macOS versions Scripts and automation
Third-party apps Configurable App-dependent Custom shadow control

LazyScreenshots gives you full control over window shadows, backgrounds, and borders. Capture, annotate, and paste into AI tools in one keystroke. $29 one-time.

Try LazyScreenshots — $29 one-time