Tiny and dependency-free
About 2 kB gzipped for Reveal with one animation, with zero third-party
dependencies. Tree-shaking keeps only the animations that you import.
Wrap an element in Reveal, put v-reveal on it, or call reveal(). It animates as soon as it scrolls into view, with no CSS to write for the animation and no layout shift.
import { Reveal } from "@awesome-reveal/react";
<Reveal> <p>I gently appear as I enter the viewport</p></Reveal>;<script setup>import { vReveal } from "@awesome-reveal/vue";</script>
<template> <p v-reveal>I gently appear as I enter the viewport</p></template>---import { Reveal } from "@awesome-reveal/astro";---
<Reveal> <p>I gently appear as I enter the viewport</p></Reveal>import { reveal } from "@awesome-reveal/core";
reveal(document.querySelector("#intro"));By default, the element fades in and slides up. To use another animation, set one option.
Each tile uses a built-in animation. The caption shows the call that creates its keyframes.
fade()slide()scale()blur()pop()enter({ x: -40, rotate: -10 })Tiny and dependency-free
About 2 kB gzipped for Reveal with one animation, with zero third-party
dependencies. Tree-shaking keeps only the animations that you import.
Smooth, native performance
Intersection Observer detects the reveal, with no scroll listeners. The Web Animations API runs it on the compositor where possible.
Works in every major browser
Built on Baseline Widely available web APIs that Chrome, Edge, Firefox and Safari have supported for years.
Accessible by default
Respects prefers-reduced-motion out of the box. Hidden content stays in
the accessibility tree and in find-in-page.
Server rendering with no flash
React, Vue and Astro render content hidden on the server, so it never flashes before the animation. Create keyframes in React Server Components or in the Astro frontmatter.
Built for TypeScript
Strict types for every option, element and keyframe, with full autocomplete in your editor.
Custom animations
Six built-in animations, spring easing, and custom keyframes from any function of time. See Keyframes.
Ready for AI coding agents
The packages ship agent skills, so Claude Code, Cursor and other agents add animations and migrate v4 code the right way.
Have a question? Read the FAQ. Coming from react-awesome-reveal? Awesome Reveal is its successor. Read the migration guide.
Awesome Reveal is free and open source. Sponsor it on GitHub.