FullForm[expr]
prints as the full form of expr, with no special syntax.
FullForm
FullForm[expr]
prints as the full form of expr, with no special syntax.
Details and Options
- FullForm always effectively uses "PrintableASCII" as the setting for $CharacterEncoding.
- The option NumberMarks can be used to specify whether ` marks should be used to indicate type, precision, or accuracy of approximate numbers. »
- The typeset form of FullForm[expr] is interpreted the same as expr when used in input. »
- When an input evaluates to FullForm[expr], FullForm does not appear in the output. »
Examples
open all close allBasic Examples (2)
Scope (8)
Basic Objects (2)
Integer, Rational, Real, and Complex numbers:
Map[FullForm, {123, 1 / 23, 1.23, 1 + 23I}]Arbitrary-precision Real and Complex numbers:
FullForm /@ N[{10 / 3, 10 / 3I}, 20]FullForm /@ {I, π, E}Characters and strings of characters:
FullForm /@ {"a", "α", "⊕"}Control characters for strings:
FullForm["A first line
A second line"]Special Input Forms (4)
Different inputs interpreted as Power expressions:
FullForm /@ {a ^ x, a^x, Sqrt[a], Sqrt[a], a^(1/(3)), Exp[x], 1 / x, (1/x)}FullForm /@ {y'[x], ∫y[x]ⅆx, Subsuperscript[∑, k = 1, n]y[k], Subsuperscript[∏, k = 1, n]y[k], x∈Reals, x∧y∨z}FullForm[{1, 2, 3}]FullForm /@ {(| | | |
| - | - | - |
| a | b | c |
| d | e | f |), {{a, b, c}, {d, e, f}}}Input without special interpretation:
FullForm /@ {Subscript[x, a], Overscript[x, a], Underscript[x, a]}With special characters in the same positions, there may be special interpretations:
FullForm /@ {Subscript[x, - ], Overscript[x, _], Underscript[x, _]}In the case of superscripts, most things get interpreted as Power:
FullForm /@ {x^a, Subsuperscript[x, b, a], x^†}Special Output Forms (2)
Some objects use a special output representation:
Series[Sin[x], {x, 0, 3}]FullForm[%]Some objects use an elided output representation:
i = Interpolation[{1, 2, 3, 1}]s = SparseArray[{{1, 2} -> 1}, {5, 5}]The elided parts are visible in the underlying FullForm:
FullForm[i]FullForm[s]Options (2)
NumberMarks (2)
Inexact numbers format without number marks by default:
FullForm[4.567]FullForm[N[10 / 3, 20]]The same numbers without number marks:
FullForm[4.567, NumberMarks -> False]FullForm[N[10 / 3, 20], NumberMarks -> False]A mixed symbolic and numeric expression:
expr = N[10, 4]Sin[.25x]FullForm[expr]FullForm[expr, NumberMarks -> False]Applications (4)
The FullForm will show the precedence of operators:
FullForm[a b + c]Grouping with parentheses affects the precedence:
FullForm[a (b + c)]See the underlying interpretation for a TraditionalForm output:
TraditionalForm[Sin[I Pi / n]]FullForm[%]{{a}, b, {{c}}}//FullFormReplace lists with a new wrapper newhead:
{{a}, b, {{c}}} /. List -> newheadMultiplications have the head Times:
expr = a + b(c - d)FullForm[expr]Find all multiplications in expr:
Cases[expr, _Times, Infinity]See the underlying expressions:
Map[FullForm, %]Properties & Relations (4)
The typeset form of FullForm[expr] is interpreted the same as expr when used in input:
{FullForm[x ^ 2]}Copy the output and paste it into an input cell. The Power[x,2] is interpreted as x2:
{Power[x, 2]}When an input evaluates to FullForm[expr], FullForm does not appear in the output:
FullForm[x ^ 2]Out is assigned the value x2, not FullForm[x^2]:
%FullForm has linear formatting without special syntax:
FullForm[1 / a + x ^ 2]InputForm formats as linear input:
InputForm[1 / a + x ^ 2]TreeForm graphically displays an expression's tree structure:
FullForm[1 / (a + b)x ^ 2]TreeForm[1 / (a + b)x ^ 2]Possible Issues (2)
Even when an output omits FullForm from the top level, it is not stripped from subexpressions:
e = FullForm[x ^ 2]The output does not have FullForm in it:
%However, the variable e does have FullForm in it, which may affect subsequent evaluations:
FullForm[e]The product is not evaluated due to the intervening FullForm:
x * eAssign variables first and then apply FullForm to the result to maintain computability:
(f = x ^ 2)//FullFormx * fPattern matching is based on the FullForm:
1 / Sqrt[2] /. {Sqrt[2] -> sq2}The previous fraction is represented as a single Power expression:
1 / Sqrt[2]//FullFormPerform the desired replacement:
1 / Sqrt[2] /. Power[2, -1 / 2] -> 1 / sq2See Also
Related Guides
Related Workflows
- Find the Underlying Tree Structure of an Expression
History
Introduced in 1988 (1.0) | Updated in 2003 (5.0)
Text
Wolfram Research (1988), FullForm, Wolfram Language function, https://reference.wolfram.com/language/ref/FullForm.html (updated 2003).
CMS
Wolfram Language. 1988. "FullForm." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/FullForm.html.
APA
Wolfram Language. (1988). FullForm. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FullForm.html
BibTeX
@misc{reference.wolfram_2026_fullform, author="Wolfram Research", title="{FullForm}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/FullForm.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_fullform, organization={Wolfram Research}, title={FullForm}, year={2003}, url={https://reference.wolfram.com/language/ref/FullForm.html}, note=[Accessed: 13-June-2026]}