K
Blur Reveal

Documentation
Setup: External Scripts
Depsgsap
Step 1: BlurReveal.tsx
BlurReveal.tsx
"use client";
import { useEffect, useRef } from "react";
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
gsap.registerPlugin(ScrollTrigger);
export default function BlurReveal({ children }: { children: React.ReactNode }) {
const ref = useRef<color: #79c0ff;">style="color: #ff7b72;">HTMLDivElement>(null);
useEffect(() => {
gsap.fromTo(ref.current,
{ filter: "blur(20px)", opacity: 0 },
{ filter: "blur(0px)", opacity: 1, duration: 1.5,
scrollTrigger: { trigger: ref.current, start: "top 80%", end: "top 20%", scrub: true }
}
);
}, []);
return <color: #79c0ff;">style="color: #ff7b72;">div color: #79c0ff;">ref={ref}>{children}</color: #79c0ff;">style="color: #ff7b72;">div>;
}Reveal content smoothly on scroll with a gorgeous blur-to-sharp transition. Perfect for hero sections and image galleries. This blurreveal.tsx implementation provides a robust foundation for building interactive and high-performance user interfaces.
Related resources
Resource details
PublishedDecember 10, 2025
CategoryPremium
revealscrollblurtransition

Oliver Larose
Creator Credits
We always strive to credit creators as accurately as possible. While similar concepts might appear online, we aim to provide proper and respectful attribution.
https://oliverlarose.com