SkeletonLoaders

Replaces content while it's in a loading state.

Page navigation navigation

SkeletonText

SkeletonText shows a placeholder for loading text to improve perceived performance.

Avoid using it for interactive elements such as buttons. Instead, hide them until loading is complete and they're ready for interaction.

React examples

Default

Multiple lines of text

Custom SkeletonText size

SkeletonText matches the font sizes and line heights in Primer. See typography docs and Primer Primitives for details.

titleLarge
titleMedium
titleSmall
bodyLarge
bodyMedium (default)
bodySmall
subtitle

With max width

Props

Loading data for skeleton_text...

SkeletonAvatar

SkeletonAvatars are placeholders for loading Avatars. They support the same variants as the Avatar component.

React examples

Default

Custom size

Square variant

Props

Loading data for skeleton_avatar...

SkeletonBox

A SkeletonBox provides a placeholder for non-text, non-Avatar elements (e.g., hero images) that are still loading. You can adjust width and height to match the content's dimensions.

React examples

Custom width and height

Props

Loading data for skeleton_box...