Overview
Paper is a fundamental Material Design surface component. It’s a container that provides elevation through shadows and applies the theme’s background color. Paper serves as the foundation for many other Material-UI components like Card, AppBar, and Dialog. Paper is used for:- Creating visual hierarchy with elevation levels
- Grouping related content
- Providing a surface for interactive elements
- Building custom card-like components
- Separating content sections
Import
Basic Usage
The simplest Paper component with default elevation.Elevation Levels
Control the shadow depth with theelevation prop (0-24).
Variants
Paper supports two variants: elevation (default) and outlined.Square Corners
Disable rounded corners with thesquare prop.
Dark and Light Themes
Paper automatically adjusts its appearance based on the theme mode.Custom Component
Change the underlying HTML element or React component.Props
| Prop | Type | Default | Description |
|---|---|---|---|
children | ReactNode | - | The content of the component |
elevation | number | 1 | Shadow depth, corresponds to dp in Material Design spec. Accepts values between 0 and 24 inclusive |
square | boolean | false | If true, rounded corners are disabled |
variant | 'elevation' | 'outlined' | 'elevation' | The variant to use. Use ‘elevation’ for shadow or ‘outlined’ for border |
sx | SxProps<Theme> | - | System prop for defining CSS styles |
component | ElementType | 'div' | The component used for the root node (e.g., ‘section’, ‘article’, custom component) |
Elevation Scale
The elevation prop follows Material Design’s elevation system:- 0: No elevation, flat surface
- 1: Default for most surfaces (cards, sheets)
- 2: Slightly raised elements
- 3: Raised elements like buttons
- 4: App bars, navigation
- 6: FABs, snackbars
- 8: Menus, sub-menus
- 12: Dialogs
- 16: Navigation drawers
- 24: Modal elements at maximum elevation
Variants Explained
Elevation Variant
The default variant uses box-shadow to create depth:Outlined Variant
Uses a border instead of shadow:variant="outlined", the elevation prop has no effect.
Styling
Paper can be styled using thesx prop or styled utility:
Common Use Cases
Content Containers
Form Sections
Dashboard Widgets
Accessibility
- Use semantic HTML elements via the
componentprop when appropriate - Paper itself has no specific ARIA requirements
- Ensure content within Paper follows accessibility best practices
- When Paper contains interactive elements, ensure keyboard navigation works
Best Practices
- Consistent elevation - Use the same elevation for similar UI elements
- Elevation hierarchy - Higher elevations for elements that should appear “above” others
- Don’t overuse high elevations - Reserve high values (16-24) for modal elements
- Consider variants - Use outlined variant for subtle separation without shadows
- Responsive elevation - You can change elevation responsively using
sx - Theme integration - Paper automatically uses theme colors; customize via theme for consistency
Relationship to Other Components
Many Material-UI components extend Paper:- Card: Paper with specific content structure
- AppBar: Paper with fixed positioning and specific styling
- Accordion: Paper with expandable behavior
- Dialog: Paper with modal behavior and high elevation
Performance
Paper is a lightweight component with minimal performance impact. For very large lists of Paper components, consider:- Using CSS-only elevation classes instead of component props
- Virtualizing lists of Paper elements
- Memoizing Paper content if it’s expensive to render
API Reference
- Paper API - Full API documentation
- Source:
packages/mui-material/src/Paper/Paper.d.ts:1