How to disable window animations on Mac
macOS animates almost everything: windows scaling open, sheets dropping in, apps bouncing in the Dock, Quick Look zooming in with a flourish. Each animation lasts only a fraction of a second, but they add up — and on older hardware they can make the whole system feel like it's thinking. You can turn off each one individually from Terminal.
Which animations actually slow things down
Not all animations are equal. The ones that have the most impact on perceived speed are:
- Window open/close — the scale animation when a window appears or disappears. Fires constantly as you work.
- Sheet drop-in — dialog boxes like Save and Print slide down from the title bar. Affects every save operation.
- Dock app launch bounce — the icon hops while the app loads. Harmless visually, but mentally it associates waiting with bouncing.
- Quick Look zoom — pressing Space to preview a file plays a zoom-in animation. On large files this makes Quick Look feel slower than it is.
There's also the Accessibility setting Reduce Motion, which covers Mission Control, full-screen transitions, and the parallax wallpaper effect. That one lives in System Settings rather than Terminal.
Disable the window open/close animation
This is the single highest-impact change. Run this in Terminal:
# windows open and close without animation
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
No restart or log-out required. Open a new Finder window or app to see the difference. To undo it:
# restore the default window animation
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool true
Speed up sheet (dialog) animations
Save dialogs and Print panels drop down from the window title bar on a timer. Setting the timer to nearly zero makes them feel instantaneous:
# near-instant sheet/dialog drop-in
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
To restore the default (which Apple doesn't document exactly, but is around 0.2 seconds):
# delete the override and restore the default
defaults delete NSGlobalDomain NSWindowResizeTime
Stop the Dock from bouncing on app launch
When you open an app, its Dock icon bounces until the app is ready. Turning this off doesn't make apps load faster — it just stops the visual noise:
# disable Dock launch bounce
defaults write com.apple.dock launchanim -bool false && killall Dock
The killall Dock restarts the Dock so the change takes effect immediately. To re-enable:
# restore Dock bounce
defaults write com.apple.dock launchanim -bool true && killall Dock
Remove the Quick Look zoom animation
Pressing Space to preview a file plays a brief zoom-from-icon animation. Setting its duration to zero makes the preview appear instantly:
# instant Quick Look open
defaults write -g QLPanelAnimationDuration -float 0
To restore it:
# restore Quick Look animation
defaults delete -g QLPanelAnimationDuration
Mainspring turns this exact setting — and 90+ others macOS buries in Terminal — into a single labelled toggle. Flip Disable window animations on, and flip it back just as fast. No commands to memorize, nothing permanent.
Try Mainspring free →Signed & notarized by Apple · 1-day free trial · $29 once
Use Reduce Motion for the rest
The defaults commands above cover Finder and window animations. For full-screen transitions, Mission Control, and the Notification Center slide-in, macOS uses its Accessibility setting instead of a hidden plist key. Go to System Settings > Accessibility > Display and turn on Reduce Motion.
With Reduce Motion on, switching to a full-screen app cross-fades instead of doing the flying-zoom transition. Mission Control still works but skips the perspective fan-out. You can also enable this from Terminal if you prefer:
# enable Reduce Motion
defaults write com.apple.universalaccessReduceMotion -bool true
Log out and back in for this to take full effect system-wide.
Applying all changes at once
If you want to run everything in one go, here's a combined block:
# disable all common animations
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
defaults write com.apple.dock launchanim -bool false
defaults write -g QLPanelAnimationDuration -float 0
defaults write com.apple.universalaccessReduceMotion -bool true
killall Dock
The Dock restart handles the Dock change. The window and Quick Look changes take effect for each new window opened after the command runs. The Reduce Motion change needs a log-out.
To reverse everything, either use the individual delete commands above or use Mainspring to flip the toggles back without touching Terminal at all.