The appeal
There are two different goals hidden inside lists like this.
- Make macOS feel faster. Removing animations reduces visible waiting. Windows snap open, the Dock appears instantly, Launchpad pages stop gliding around, and Finder feels more abrupt.
- Improve real performance. That means lower CPU or GPU work, less memory pressure, shorter waits for actual tasks, or better responsiveness under load.
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 defaults 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:
NSGlobalDomainfor system-wide AppKit/Cocoa defaultscom.apple.Accessibilityfor accessibility settingscom.apple.dockfor Dock and Launchpad behaviorcom.apple.finderfor Finder-specific behavior
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.
The settings
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. |
Loading 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.
Responsiveness versus 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
- Reduce Motion: This is the strongest candidate for a real improvement, especially on older hardware or under GPU pressure, because it reduces motion-heavy transitions in a documented accessibility pathway.
- Finder DisableAllAnimations: Useful if you spend a lot of time navigating Finder windows, opening folders, and moving through column or list views. The gain is still mostly interaction latency rather than throughput.
What is mostly cosmetic
- Dock autohide timing
- Launchpad timing
- Dock launch bounce
- Quick Look panel animation
- Window and toolbar transition timing
- Switching the minimize effect from Genie to Scale
What tends to matter more than animation tweaks
- Reducing login items and background agents
- Keeping memory pressure under control
- Leaving enough free disk space for swap and caches
- Cutting back on browser tabs and Electron utilities that constantly repaint or poll
- Using accessibility display settings like Reduce Transparency when visual effects are the problem, especially on older machines
A quieter setup
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.
Rollback
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
- Apple Developer Documentation, "Improving app responsiveness." https://developer.apple.com/documentation/xcode/improving-app-responsiveness
defaults(1)man page, "access the Mac OS X user defaults system." https://www.manpagez.com/man/1/defaults/- WIRED, "How to (Mostly) Get Rid of Liquid Glass." https://www.wired.com/story/how-to-mostly-get-rid-of-liquid-glass/
- macOS defaults reference, "Dock autohide time modifier." https://macos-defaults.com/dock/autohide-time-modifier.html
- macOS defaults reference, "Dock autohide delay." https://macos-defaults.com/dock/autohide-delay.html
- macOS defaults reference, "Finder DisableAllAnimations." https://macos-defaults.com/finder/disableallanimations.html