
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
react-loading-skeleton-2
Advanced tools
Make beautiful, animated loading skeletons that automatically adapt to your app.
Make beautiful, animated loading skeletons that automatically adapt to your app.

Install by npm/yarn with react-loading-skeleton.
import Skeleton from 'react-loading-skeleton';
<Skeleton/> // Simple, single-line loading skeleton
<Skeleton count={5}/> // Five-line loading skeleton
The <Skeleton> component is designed to be used directly in your components,
in place of content while it's still loading.
Unlike other libraries, rather than meticulously crafting a skeleton screen to
match the font-size, line-height or margins your content takes on,
use a <Skeleton> component to have it automatically fill the correct dimensions.
For example:
class Blogpost extends Component {
render() {
return (
<div style={{ fontSize: 20, lineHeight: 2 }}>
<h1>{this.props.title || <Skeleton />}</h1>
{this.props.body || <Skeleton count={10} />}
</div>
);
}
}
...will produce the correctly-sized skeletons for the heading and body sections
without any further configuration of the <Skeleton> component.
This ensures the loading state remains up-to-date with any changes to your layout or typography.
Instead, make components with built-in skeleton states.
In addition to keeping the styling in-sync, here are some other reasons to do this:
Blogpost example, it's possible to have the title load first, and then the body, while having both pieces of content show loading skeletons at the right time.Using a <SkeletonTheme> component, you can easily change the colors of all
skeleton components below it in the React hierarchy:
import Skeleton, { SkeletonTheme } from "react-loading-skeleton";
<SkeletonTheme color="#202020" highlightColor="#444">
<p>
<Skeleton count={3} />
</p>
</SkeletonTheme>;
<Skeleton duration={2} />
duration: Number, defaults to 1.2
Duration is how long it takes do one cycle of the skeleton animation.
width: Number | String | null, defaults to null
<Skeleton width={100} />
Width of the skeleton. Useful when the skeleton is inside an inline element with no width of its own.
Height: Number | String | null, defaults to null
<Skeleton height={100} />
Height of the skeleton. Useful when you don't want to adapt the skeleton to a text element but for instance
a card. Also needed for the prop circle (see below).
Circle: Boolean | false, defaults to false
<Skeleton circle={true} height={50} width={50} />
Prop for making the skeleton look like a circle, for when you are creating a user card with a profile picture for instance.
FAQs
Make beautiful, animated loading skeletons that automatically adapt to your app.
The npm package react-loading-skeleton-2 receives a total of 25 weekly downloads. As such, react-loading-skeleton-2 popularity was classified as not popular.
We found that react-loading-skeleton-2 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.