Creating a Scale Up Text on Scroll Effect with GreenSock

In this Blog, I’ll be walking you through creating a scale up text on scroll effect using GreenSock (GSAP) and ScrollTrigger. This effect can add an engaging animation to your website’s text content as users scroll through the page. So, let’s get started!

Will create the below effect:

See the Pen scaled up text on scroll-final by trapti (@tripti1410) on CodePen.

If you prefer video content, I created a video of explaining the same.

Step 1: Setting up HTML and CSS

We’ll create a basic HTML structure. Add two paragraphs inside a div with a class text-container and wrap everything in a section. Then, give some basic styling to the text container. Besides this, include GreenSock and Scroll Trigger in the JS of your code editor.

Step 2: Animating Text using GreenSock

Next, we’ll animate the text using GreenSock. We want the text to be in its original position at the end of the animation, so we’ll create a from tween for this. Inside the from tween, we’ll access both paragraphs using their class names (.text-1, .text-2) in an array. We’ll set y: 300 (i.e. transform: translateY(300px)) for both paragraphs to push them down from their original position. We’ll also add scale: 0.5 and transform-origin: center(50% 50%) to make the text scale up from center. Finally, we’ll add opacity:0 so that initially it’s visually hidden and then it will appear as it scales up. We can also add stagger to make it look even better.

See the Pen text scaleup on scroll scrollTrigger: step 2 text animation by trapti (@tripti1410) on CodePen.

Voila text animation is done!

Step 3: Attaching Animation to Scroll Trigger

Now, we’ll attach our animation to ScrollTrigger. We’ll add the .text-container as a trigger element, as it is the parent element for both paragraphs. We’ll also add markers to see the trigger points on the screen properly, which will help us debug better.

To see the text coming from below properly, we’ll add two sections above and below the text container. This will add spacing around the text container.

As of now, ScrollTrigger set trigger points to the default values, we can see markers in the screen. We’ll change the start trigger point to “top top” (which is actually a default value), and we’ll push the end trigger point down by 600 end: "+=600". This will allow us to see the text animation as it enters the screen from below longer.

We’ll also add scrub: true to the configuration so that the animation runs smoothly using document scrollbar. Finally, we’ll add pin: true. This will allow us to see text animation properly while the text container becomes stationary as soon as scrollbar hits the trigger.

And that’s it! Our Scale Up Text on Scroll Effect is complete. Many award-winning websites have used this, and it’s an excellent way to add some engaging animation to your text content.

See the Pen scaled up text on scroll-final by trapti (@tripti1410) on CodePen.

If you have questions or would like me to create similar effects, please comment on YouTube or connect through Twitter and DM.