macOS tuning · defaults · Reduce Motion

macOS animation tweaks: what defaults do and which ones matter

A practical look at animation-related defaults keys: what they change, how to apply them safely, how to roll them back, and which ones are likely to affect perceived responsiveness rather than real throughput.

Why people use these tweaks

There are two different goals hidden inside lists like this.

Those are not the same thing. Most animation tweaks affect the first category far more than the second. Apple's performance guidance is primarily about keeping apps responsive and avoiding work on the main thread, not about globally disabling UI polish. In practice, these tweaks mostly remove transition time rather than making heavy workloads complete sooner.

What the defaults command changes

The defaults command reads and writes macOS preference domains. Each app or system component usually has its own domain such as com.apple.dock or com.apple.finder. There is also a shared fallback domain named NSGlobalDomain. If a key is not present in an app's own domain, Cocoa apps may consult NSGlobalDomain.

That is why a settings file might group preferences by domain:

Important: the defaults tool writes preferences, but it does not force already-running apps to re-read them. The official man page warns against modifying defaults for a running app because the app may not notice the change or may overwrite it. That is why these tweaks are usually followed by killall Dock or killall Finder.

What each setting does

Some of these keys are broadly known but undocumented. That matters because undocumented keys can stop working, change behavior, or be ignored on newer macOS releases.

Domain / key Likely effect Notes
NSGlobalDomain.NSAutomaticWindowAnimationsEnabled Reduces or disables some window open/close animations in Cocoa apps. Mainly a feel change. Little evidence of meaningful throughput gain.
NSGlobalDomain.NSScrollAnimationEnabled Turns off smooth scrolling animation where the app still respects the key. Can make scrolling feel more immediate, but not materially faster.
NSGlobalDomain.QLPanelAnimationDuration Shortens Quick Look animation time. Common hidden tweak. Not a public Apple setting.
NSGlobalDomain.NSScrollViewRubberbanding Disables elastic overscroll in apps that honor it. Behavior varies by app and macOS version.
NSGlobalDomain.NSDocumentRevisionsWindowTransformAnimation Reduces animation in document version browser transitions. Very niche. Mostly cosmetic.
NSGlobalDomain.NSToolbarFullScreenAnimationDuration Shortens full-screen toolbar transition timing. Mostly removes visible transition time.
NSGlobalDomain.NSBrowserColumnAnimationSpeedMultiplier Reduces animation in column-style browsers, including Finder-like column views. Narrow scope. More about interface feel than speed.
com.apple.Accessibility.ReduceMotionEnabled Enables Reduce Motion system-wide. Most plausible real win in this list. It is a documented accessibility concept and can reduce some compositing-heavy transitions.
com.apple.dock.autohide-time-modifier Changes the Dock show/hide animation duration. Classic latency tweak. Mostly just removes waiting.
com.apple.dock.autohide-delay Removes the pause before the hidden Dock reappears. Improves perceived responsiveness, not throughput.
com.apple.dock.springboard-show-duration Shortens Launchpad opening animation. Undocumented and version-dependent.
com.apple.dock.springboard-hide-duration Shortens Launchpad closing animation. Undocumented and version-dependent.
com.apple.dock.springboard-page-duration Shortens Launchpad page-switch animation. Pure feel tweak.
com.apple.dock.launchanim Disables the bouncing Dock icon animation during app launch. Visual only. The app is not launching faster.
com.apple.dock.mineffect = "scale" Uses the Scale minimize effect instead of Genie. Can look snappier than Genie but is not a measurable performance lever.
com.apple.finder.DisableAllAnimations Disables many Finder animations. Reasonable for Finder latency. Still mainly a feel improvement, but Finder can become more direct under repetitive use.

How to load the settings

A YAML block is useful for organization, but macOS will not apply it directly. The practical way to load it is to translate each entry into a defaults write command, then restart the affected process.

# Global AppKit / Cocoa defaults
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
defaults write NSGlobalDomain NSScrollAnimationEnabled -bool false
defaults write NSGlobalDomain QLPanelAnimationDuration -float 0
defaults write NSGlobalDomain NSScrollViewRubberbanding -int 0
defaults write NSGlobalDomain NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write NSGlobalDomain NSToolbarFullScreenAnimationDuration -float 0
defaults write NSGlobalDomain NSBrowserColumnAnimationSpeedMultiplier -float 0

# Accessibility
defaults write com.apple.Accessibility ReduceMotionEnabled -bool true

# Dock / Launchpad
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock springboard-show-duration -float 0
defaults write com.apple.dock springboard-hide-duration -float 0
defaults write com.apple.dock springboard-page-duration -float 0
defaults write com.apple.dock launchanim -bool false
defaults write com.apple.dock mineffect -string "scale"

# Finder
defaults write com.apple.finder DisableAllAnimations -bool true

# Reload affected components
killall Dock
killall Finder

How to inspect current values

defaults read NSGlobalDomain NSAutomaticWindowAnimationsEnabled
defaults read com.apple.Accessibility ReduceMotionEnabled
defaults read com.apple.dock autohide-delay
defaults read com.apple.finder DisableAllAnimations

How to package it as a shell script

If you want something idempotent, place those commands in a script and run it after major macOS upgrades. That is often necessary because undocumented tweaks are exactly the kind of thing Apple may change silently.

Which ones may actually help performance?

The strict answer is: very few.

Most of these tweaks do not materially improve compile times, disk throughput, app launch CPU work, or sustained GPU performance. They mostly reduce animation time and visual latency. That can make the system feel faster, but it is not the same as doing less work overall.

What is most defensible

What is mostly cosmetic

What tends to matter more than animation tweaks

If the goal is a Mac that feels less sluggish without relying too heavily on brittle hidden keys, the conservative setup is short:

defaults write com.apple.Accessibility ReduceMotionEnabled -bool true
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0

killall Dock
killall Finder

That gives you a more abrupt system without going all the way into obscure AppKit keys that may or may not still be honored. If you want to push harder, add the rest, but treat them as taste preferences, not hard performance tuning.

How to revert everything

The cleanest rollback is usually to remove the custom keys and let macOS fall back to its defaults.

defaults delete NSGlobalDomain NSAutomaticWindowAnimationsEnabled
defaults delete NSGlobalDomain NSScrollAnimationEnabled
defaults delete NSGlobalDomain QLPanelAnimationDuration
defaults delete NSGlobalDomain NSScrollViewRubberbanding
defaults delete NSGlobalDomain NSDocumentRevisionsWindowTransformAnimation
defaults delete NSGlobalDomain NSToolbarFullScreenAnimationDuration
defaults delete NSGlobalDomain NSBrowserColumnAnimationSpeedMultiplier

defaults delete com.apple.Accessibility ReduceMotionEnabled

defaults delete com.apple.dock autohide-time-modifier
defaults delete com.apple.dock autohide-delay
defaults delete com.apple.dock springboard-show-duration
defaults delete com.apple.dock springboard-hide-duration
defaults delete com.apple.dock springboard-page-duration
defaults delete com.apple.dock launchanim
defaults delete com.apple.dock mineffect

defaults delete com.apple.finder DisableAllAnimations

killall Dock
killall Finder

Sources

  1. Apple Developer Documentation, "Improving app responsiveness." https://developer.apple.com/documentation/xcode/improving-app-responsiveness
  2. defaults(1) man page, "access the Mac OS X user defaults system." https://www.manpagez.com/man/1/defaults/
  3. WIRED, "How to (Mostly) Get Rid of Liquid Glass." https://www.wired.com/story/how-to-mostly-get-rid-of-liquid-glass/
  4. macOS defaults reference, "Dock autohide time modifier." https://macos-defaults.com/dock/autohide-time-modifier.html
  5. macOS defaults reference, "Dock autohide delay." https://macos-defaults.com/dock/autohide-delay.html
  6. macOS defaults reference, "Finder DisableAllAnimations." https://macos-defaults.com/finder/disableallanimations.html