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:
- Press Cmd+Shift+4
- Press Space to switch to window capture mode (cursor becomes a camera)
- 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:
- Open the screenshot in Preview
- Use the rectangular selection tool to select just the window (inside the shadow)
- Go to Tools → Crop (or press Cmd+K)
- 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