Is it possible to turn off all animations on OS X?
-
To which animations are you referring? I can say pretty confidently that it's not possible to disable all animations in OS X, but there are settings for some of them (the Dock, for example). – Austin May 12 '11 at 3:01
-
3@Austin // Um..I want to turn off as many animations as possible like windows. I can turn off basically all the animation on windows.. – Moon May 12 '11 at 3:03
-
There is no global option to disable all animation, and there is animation in nearly everything, so any reasonably comprehensive answer would be unreasonably long. Are there a handful of elements you could mention that are particularly offensive to you? – Austin May 12 '11 at 3:31
-
6close the lid :) – CousinCocaine Aug 21 '14 at 14:10
-
3Animation is very annoying (slow) when using RDP or VNC. Apple should provide a single checkbox to disable all animation - system wide. – NickG Aug 28 '15 at 9:30
I have only enabled the first four of these, but here are all hidden preferences for disabling animations I have found.
# opening and closing windows and popovers
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
# smooth scrolling
defaults write -g NSScrollAnimationEnabled -bool false
# showing and hiding sheets, resizing preference windows, zooming windows
# float 0 doesn't work
defaults write -g NSWindowResizeTime -float 0.001
# opening and closing Quick Look windows
defaults write -g QLPanelAnimationDuration -float 0
# rubberband scrolling (doesn't affect web views)
defaults write -g NSScrollViewRubberbanding -bool false
# resizing windows before and after showing the version browser
# also disabled by NSWindowResizeTime -float 0.001
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
# showing a toolbar or menu bar in full screen
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
# scrolling column views
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
# showing the Dock
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
# showing and hiding Mission Control, command+numbers
defaults write com.apple.dock expose-animation-duration -float 0
# showing and hiding Launchpad
defaults write com.apple.dock springboard-show-duration -float 0
defaults write com.apple.dock springboard-hide-duration -float 0
# changing pages in Launchpad
defaults write com.apple.dock springboard-page-duration -float 0
# at least AnimateInfoPanes
defaults write com.apple.finder DisableAllAnimations -bool true
# sending messages and opening windows for replies
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
-
1Could you please let me know if I should put this script in some particular file or in a new file/script which runs at start up to disable above animations – GoodSp33d Mar 18 '13 at 5:26
-
4You can just paste the commands to Terminal and they change the settings permanently. You also have to reopen applications or log out and back in to apply the changes. – user495470 Mar 18 '13 at 6:08
-
2any chance any of these would get rid of or speed up the "swipe across" effect when tabbing between two different full-screen windows on a second monitor? – Michael Feb 26 '16 at 21:54
-
1
-
1
If you don't want to copy-paste each of the commands shown in the top answer, just select this text, copy-paste it to the terminal and press enter (it will execute all commands at once without having to scroll)
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g QLPanelAnimationDuration -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock expose-animation-duration -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.finder DisableAllAnimations -bool true
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
To undo the changes, paste this into the terminal:
defaults delete -g NSAutomaticWindowAnimationsEnabled
defaults delete -g NSScrollAnimationEnabled
defaults delete -g NSWindowResizeTime
defaults delete -g QLPanelAnimationDuration
defaults delete -g NSScrollViewRubberbanding
defaults delete -g NSDocumentRevisionsWindowTransformAnimation
defaults delete -g NSToolbarFullScreenAnimationDuration
defaults delete -g NSBrowserColumnAnimationSpeedMultiplier
defaults delete com.apple.dock autohide-time-modifier
defaults delete com.apple.dock autohide-delay
defaults delete com.apple.dock expose-animation-duration
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.finder DisableAllAnimations
defaults delete com.apple.Mail DisableSendAnimations
defaults delete com.apple.Mail DisableReplyAnimations
Mac OS X also has dialog boxes, such as the 'Save As'-box (CMD+SHIFT+S) or the 'Print'-box (CMD+P). You can tweak the speed at which all of these boxes appear by using these commands:
Instant:
defaults write NSGlobalDomain NSWindowResizeTime .001
Fast:
defaults write NSGlobalDomain NSWindowResizeTime .1
Default (0.2 seconds):
defaults delete NSGlobalDomain NSWindowResizeTime
1 = 1 second. To see the difference you have to re-launch an app such as Terminal and summon a dialog box by pressing CMD+S ('Save') for example. You can find more command-line tweaks in defaults-write.com
-
5Lines beginning with a # are ignored in bash, so copying the entire code block from the first answer will do exactly the same as this anyway. – grg♦ Sep 1 '14 at 20:21
-
2True, but this text is easier to copy because there is no scrolling to do. – David Lopez Sep 1 '14 at 23:27
-
so if we want to revert the changes we just need to negate every boolean and rerun this? – vach Jun 8 '15 at 20:50
-
To reverse the booleans (true/false), yes. To reverse the floats you need to know what the default values were. You can have the defaults printed to you by doing "defaults read <domain> <key>" ie:
defaults read -g NSWindowResizeTimeprints0.001(in my case). To get help rundefaultsin the terminal. I'll be updating my answer with a copy-paste list that will return everything to defaults. The world is small, isn't it Vachagan? :) – David Lopez Jun 30 '15 at 5:38
Animation is everywhere in OS X, and it is not possible to disable all animation with one global setting, which makes this a very complicated question to answer completely.
I would advise you to try disabling things one at a time as you find animations that annoy you. Check System Preferences to start. For example, the Dock magnification animation can be turned off in System Preferences -> Dock.
Also, check out TinkerTool, which allows you to do the following:
- Disable the animation effect when opening files in the Finder
- Disable the animation effect in Mail
- Disable the animation effect in Mission Control
- Disable animation when hiding or showing Dock
- Disable fade-in and fade-out effect,and animation when switching between pages, in Launchpad
- Disable animation in opening windows
- Disable the animation effect when opening information panels or Desktop icons
- Disable the animation effect when selecting information categories
- Accelerate the animation of opening and closing sheets
If there's an animation that really bugs you and you can't figure out how to disable it, try posting a separate question here at Ask Different for that specific issue -- you will get a fast and accurate response. (And as a nice side effect, both you and the people helping you will earn more rep that way.)
In addition to the answers above, you can also use Secrets. Secrets is an open source PrefPane that lets you set all sorts of hidden options for all sorts of programs on your Mac.

Update: The main site is down and the project looks to be dead. Here is the Google Code Archive if you still want to use the vanilla version.
-
-
1Secrets is dead. The backend is offline, so there are no more updates. – CyberSkull Mar 9 '16 at 11:37
If you're wary of Terminal, Mountain Tweaks is another helpful GUI to turn off, turn on and otherwise tweak the behavior of Lion and Mountain Lion.
This answer, wrapped up as a shell script that allows you to toggle between states.
examples
$ animations_osx.sh
animations disabled - reboot may be required
$ animations_osx.sh
animations enabled - reboot may be required
$ animations_osx.sh OFF
animations disabled - reboot may be required
$ animations_osx.sh ON
animations enabled - reboot may be required
animations_osx.sh
FILE=/tmp/__ez_file_$(date +%s)
function show_help()
{
IT=$(CAT <<EOF
usage: {ON|OFF}
enables or disables animations in osx.
if you don't pass any arguments, it'll toggle between enabled and disabled.
e.g.
ON => All animations are enabled
OFF => All animations are disabled
)
echo "$IT"
exit
}
if [ "$1" == "help" ]
then
show_help
fi
# returns the opposite of the current state for easy toggling
function getNewState()
{
defaults read com.apple.dock expose-animation-duration &> $FILE
VAL=$(cat $FILE)
rm $FILE
if [ "$VAL" == "0" ]
then
echo "ON"
else
echo "OFF"
fi
}
if [ -z "$1" ]
then
OP=$(getNewState)
else
OP=$1
fi
if [ "$OP" == "OFF" ]
then
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g QLPanelAnimationDuration -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock expose-animation-duration -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.finder DisableAllAnimations -bool true
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
echo "animations disabled - reboot may be required"
exit;
fi
if [ "$OP" == "ON" ]
then
defaults delete -g NSAutomaticWindowAnimationsEnabled &> $FILE
defaults delete -g NSScrollAnimationEnabled &> $FILE
defaults delete -g NSWindowResizeTime &> $FILE
defaults delete -g QLPanelAnimationDuration &> $FILE
defaults delete -g NSScrollViewRubberbanding &> $FILE
defaults delete -g NSDocumentRevisionsWindowTransformAnimation &> $FILE
defaults delete -g NSToolbarFullScreenAnimationDuration &> $FILE
defaults delete -g NSBrowserColumnAnimationSpeedMultiplier &> $FILE
defaults delete com.apple.dock autohide-time-modifier &> $FILE
defaults delete com.apple.dock autohide-delay &> $FILE
defaults delete com.apple.dock expose-animation-duration &> $FILE
defaults delete com.apple.dock springboard-show-duration &> $FILE
defaults delete com.apple.dock springboard-hide-duration &> $FILE
defaults delete com.apple.dock springboard-page-duration &> $FILE
defaults delete com.apple.finder DisableAllAnimations &> $FILE
defaults delete com.apple.Mail DisableSendAnimations &> $FILE
defaults delete com.apple.Mail DisableReplyAnimations &> $FILE
rm $FILE
echo "animations enabled - reboot may be required"
exit;
fi
show_help