is an option to Manipulate and related functions that specifies whether current definitions relevant for the evaluation of the expression being manipulated should automatically be saved.



open allclose all

Basic Examples  (3)

By default, definitions are not saved:

Force definitions to be saved with the output:

The saved Manipulate can be copied and directly run in a new notebook:

Scope  (1)

All definitions are saved, including OwnValues:

Properties & Relations  (3)

Definitions are transformed to a literal Initialization setting during typesetting:

SaveDefinitions->True relies on FullDefinition to extract definitions:

Symbols that are Protected or ReadProtected will not be saved:

Possible Issues  (3)

Definitions for any unprotected symbol in the Manipulate body will be saved:

Saved variable definitions are effectively treated as global:

This can have an impact on future kernel sessions:

Multiple Manipulate outputs defining the same global variable may conflict:

Wolfram Research (2007), SaveDefinitions, Wolfram Language function,


Wolfram Research (2007), SaveDefinitions, Wolfram Language function,


@misc{reference.wolfram_2020_savedefinitions, author="Wolfram Research", title="{SaveDefinitions}", year="2007", howpublished="\url{}", note=[Accessed: 15-January-2021 ]}


@online{reference.wolfram_2020_savedefinitions, organization={Wolfram Research}, title={SaveDefinitions}, year={2007}, url={}, note=[Accessed: 15-January-2021 ]}


Wolfram Language. 2007. "SaveDefinitions." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2007). SaveDefinitions. Wolfram Language & System Documentation Center. Retrieved from