Skip to content

ButtonUnstyled API

API reference docs for the React ButtonUnstyled component. Learn about the props, CSS, and other APIs of this exported module.


For examples and details on the usage of this React component, visit the component demo pages:


import ButtonUnstyled from '@mui/base/ButtonUnstyled';
// or
import { ButtonUnstyled } from '@mui/base';
You can learn about the difference by reading this guide on minimizing bundle size.

The foundation for building custom-styled buttons.


Props of the native component are also available.

| { current?: { focusVisible: func } }
A ref for imperative actions. It currently only supports focusVisible() action.
The component used for the root node. Either a string to use a HTML element or a component.
If true, the component is disabled.
If true, allows a disabled button to receive focus.
slotProps{ root?: func
| object }
The props used for each slot inside the Button.
slots{ root?: elementType }{}
The components used for each slot inside the Button. Either a string to use a HTML element or a component. See Slots API below for more details.

The ref is forwarded to the root element.


NameDefault classDefault valueDescription
root.MuiButton-rootprops.href || ? 'a' : 'button'The component that renders the root. To learn how to customize the slot, check out the Overriding component structure guide.