Skip to content

Accordion API

API documentation for the React Accordion component. Learn about the available props, and the CSS API.


import Accordion from '@material-ui/core/Accordion';
// or
import { Accordion } from '@material-ui/core';
You can learn about the difference by reading this guide on minimizing bundle size.

Component name

The name MuiAccordion can be used when providing default props or style overrides in the theme.


children*nodeThe content of the component.
classesobjectOverride or extend the styles applied to the component. See CSS API below for more details.
defaultExpandedboolfalseIf true, expands the accordion by default.
disabledboolfalseIf true, the component is disabled.
expandedboolfalseIf true, expands the accordion, otherwise collapse it. Setting this prop enables control over the accordion.
onChangefuncCallback fired when the expand/collapse state is changed.

function(event: object, expanded: boolean) => void
event: The event source of the callback. Warning: This is a generic event not a change event.
expanded: The expanded state of the accordion.
squareboolfalseIf true, rounded corners are disabled.
TransitionComponentelementTypeCollapseThe component used for the transition. Follow this guide to learn more about the requirements for this component.
TransitionPropsobjectProps applied to the transition element. By default, the element is based on this Transition component.

The ref is forwarded to the root element.
Any other props supplied will be provided to the root element (Paper).


While not explicitly documented above, the props of the Paper component are also available on Accordion. You can take advantage of this to target nested components.


Rule nameGlobal classDescription
root.MuiAccordion-rootStyles applied to the root element.
rounded.MuiAccordion-roundedStyles applied to the root element unless square={true}.
expanded.Mui-expandedPseudo-class applied to the root element if expanded={true}.
disabled.Mui-disabledPseudo-class applied to the root element if disabled={true}.
region.MuiAccordion-regionStyles applied to the region element, the container of the children.

You can override the style of the component using one of these customization options: If that isn't sufficient, you can check the implementation of the component for more detail.