Scary Good Deals, Real Thrills!

How to Add GSAP Animations in Elementor Without Coding

How to Add GSAP Animations in Elementor Without Coding

A little movement can make an Elementor page more engaging. A card can fade into view, a panel can grow as visitors scroll, and a headline can reveal itself one character at a time.

GSAP powers these effects, but you do not need to write JavaScript to use them. HappyAddons brings animation controls into the Elementor editor.

In this tutorial, we’ll build three practical examples: an entrance animation, a scroll-linked scale effect, and a text reveal. You’ll learn the settings, when to use each effect, and how to check the finished result.

What Is GSAP Animation in Elementor?

GSAP is a JavaScript animation library. It changes properties such as position, scale, and opacity over time. Its ScrollTrigger plugin can start an animation when an element enters the viewport or connect animation progress to scrolling.

In Elementor, a compatible addon provides the visual controls. HappyAddons handles the animation code behind those controls, so you can create the effects without adding scripts or custom CSS.

What Is GSAP Animation in Elementor?

Quick answer: For a general GSAP animation, select a supported Elementor widget or container, open Advanced → Animation, and enable HappyAddons Global Animation. Choose From, select a trigger, and add the properties you want to animate. Global Animation requires HappyAddons Pro. The Heading widget’s Text Animation feature provides a free starting point.

What You Need Before You Start

Make sure you have the following plugins installed and activated on your WordPress site to add GSAP animations.

You do not need Elementor Pro for the classic Heading and Container examples shown here. You do need HappyAddons Pro for the first two effects. These are separate products and licenses.

How to Add GSAP Animations in Elementor Without Coding

Create a page from Pages → Add New, give it a title, and click Edit with Elementor. You can also open a draft copy of an existing page. For a standalone demo, choose Elementor Canvas in the page settings to remove the theme header and footer.

Build the layout before adding motion. Add an outer container, then place three smaller containers inside it for the service cards. Each card needs a heading and a short description. Give the cards padding, a background color, and enough space between them. Stack them vertically on mobile.

Select a card by its container handle. This matters: selecting the heading animates only the heading, while selecting the card container moves its heading, description, and background together. The Structure panel can help you select the correct parent.

The demo page open in the Elementor editor with a container selected and its Layout settings, margin, and padding shown in the left panel.

Method 1: Create a Fade-Up Entrance Animation

This first method keeps the content exactly where you designed it and simply eases it into view. Here is what the effect does and how to configure it step by step.

What It Does and When to Use It

A fade-up entrance makes the selected card begin slightly below its normal position and gradually become visible. Use it for service cards, feature summaries, or a short testimonial section. It is a useful first effect because the content remains in its original layout.

Configure the Animation

Select the first card container. Open Advanced → Animation, then set Enable to Yes. This is the HappyAddons panel, identified by its icon. Do not confuse it with Elementor’s separate Motion Effects panel.

Set Animation to From. With this option, the values you enter describe the starting state. The element then returns to the normal appearance you designed in Elementor.

Choose Trigger Mode → On Appearing. Leave Wrapper at Default, and choose Power2 Out under Easing Functions. This produces a movement that slows gently as the card reaches its final position.

The HappyAddons Animation panel under Advanced with Enable set to Yes, Animation From, Trigger Mode On Appearing, Wrapper Default, and Easing Power2 Out, each numbered one to five.

Under Custom Properties, click Add Item. Expand the item, choose Opacity in the Property dropdown, and set its value to 0. Add another item for Y, then enter 40 with the unit set to px. Finally, add Duration and set its value to 0.8 seconds.

The Custom Properties list in the HappyAddons Animation panel with Opacity, Y, and Duration items added, numbered one to three.

Opacity 0 makes the starting state transparent. A positive Y value places the starting state below the normal position. Because we chose From, the card moves upward to its original position while fading in.

Settings Cheat Sheet

SettingWhat it doesValue for this example
AnimationDefines whether values describe the start or destinationFrom
Trigger ModeStarts the effect when the element appearsOn Appearing
WrapperUses the standard trigger positioningDefault
OpacitySets initial visibility0
YSets initial vertical offset40px
DurationControls the time-based animation length0.8 seconds
Easing FunctionsSoftens the end of the movementPower2 Out
Enable On MobileAllows the effect on small screensNo initially; enable only after testing

Apply the same setup to the other two card containers. Keep the initial test simple by giving each card the same timing. If you later add Delay, use a small difference between cards rather than making visitors wait through a long sequence.

Preview the Result

Open the arrow beside the save/publish control and choose Save Draft. Click Preview Changes, then scroll down to the cards. Check that the background, heading, and paragraph move together and finish fully visible. Refresh the preview when you want to test the entrance again.

The frontend result of the fade-up entrance: three service cards titled Strategy, Design, and Motion, fully visible after animating in.

Pro tip: Animate the card container once instead of adding separate competing effects to every child. It keeps the motion coherent and makes later adjustments easier.

Method 2: Make a Panel Scale as Visitors Scroll

The second method ties motion to the scroll itself, so the panel grows as the visitor moves down the page. The sections below explain the effect and walk through its scroll range.

What It Does and When to Use It

This effect connects the panel’s size to the visitor’s scroll position. It begins slightly smaller and reaches its normal size as it moves farther into view. Use it for a portfolio highlight, a product feature, or a single important statement.

Unlike On Appearing, On Scroll does not simply start a timed entrance and let it finish. The scroll position controls the animation’s progress. Scrolling backward can move the effect back toward its starting state.

Configure the Scroll Range

Create a new outer container below the cards. Add an inner container with a contrasting background, a heading, and a short sentence. Give the surrounding section enough spacing to make the transition visible. Select the inner panel container.

Open Advanced → Animation and enable the feature. Choose Animation → From, then Trigger Mode → On Scroll. Change Wrapper from Default to Custom to reveal the start and end controls.

Set Animation Start → Top – Bottom and Animation End → Top – Center. The first part refers to the element; the second refers to the viewport. This starts the transition when the panel’s top reaches the bottom of the viewport and finishes it when that top reaches the viewport’s center.

Set Easing Functions → None. Under Custom Properties, add Scale and set its value to 0.85. With From selected, the panel starts at 85% of its normal size and grows to its designed size. You do not need to change its layout width to create this effect.

The HappyAddons Animation panel configured for scroll: Enable Yes, Trigger Mode On Scroll, Wrapper Custom, Animation Start Top - Bottom, Animation End Top - Center, and Easing None, numbered one to six.

Settings Cheat Sheet

SettingWhat it doesValue for this example
AnimationStarts from the supplied scaleFrom
Trigger ModeConnects progress to scrollingOn Scroll
WrapperExposes custom trigger positionsCustom
Animation StartBegins when the panel enters from belowTop – Bottom
Animation EndFinishes when the panel reaches the viewport centerTop – Center
ScaleSets the initial size multiplier0.85
Easing FunctionsKeeps progression linearNone
MarkersDisplays debugging guidesNo for the finished page

Save the draft and preview it. Scroll slowly downward, stop partway through the transition, and then scroll back up. The panel should respond to position rather than continuing as an independent entrance animation.

The frontend result of the scroll-linked scale effect: a dark green panel reading Ideas take shape, scaled to its full size.

Pro tip: Start with one property. Once scale works smoothly, decide whether any extra movement actually helps the content. A subtle scale effect usually needs no blur, rotation, or large sideways travel.

Method 3: Add a GSAP Text Reveal to a Heading

The final method animates a headline instead of a container, revealing it a few pieces at a time. Below is when the effect works well and how to set it up on the Heading widget.

What It Does and When to Use It

Text Reveal introduces a headline in a short sequence instead of displaying all of it at once. Use it for a brief section title or campaign statement. Avoid applying a character-by-character effect to long paragraphs, navigation, or information visitors need immediately.

Configure the Heading

Add a classic Heading widget and enter a short title. We used “Make room for what matters.” Adjust its typography and responsive sizes first, then open Content → Text Animation and set Enable → Yes.

Choose Animation Mode → Text Reveal and Trigger Mode → On Appearance. Notice that this panel uses “On Appearance,” while Global Animation uses “On Appearing.” Select the From Bottom orientation and set Trigger Point → Top – Center.

Set Delay(s) to 0.15, Duration(s) to 0.8, and Stagger Delay(s) to 0.05. Choose Power2 Out for easing. Leave Enable On Mobile off for the first test.

The Heading widget's Text Animation panel with Animation Mode Text Reveal, Trigger Mode On Appearance, Duration 0.8, Stagger Delay 0.05, and Easing Power2 Out, numbered one to six.

Settings Cheat Sheet

SettingWhat it doesValue for this example
Animation ModeChooses the text treatmentText Reveal
Trigger ModePlays when the trigger point is reachedOn Appearance
OrientationSets the direction of the revealFrom Bottom
Trigger PointDetermines when the reveal beginsTop – Center
Delay(s)Waits before starting0.15
Duration(s)Sets the animation duration for the animated pieces0.8
Stagger Delay(s)Spaces the starts of successive pieces0.05
Easing FunctionsSoftens the movementPower2 Out

Save and preview the page. Check the headline from a fresh page load, then test it at tablet and mobile widths. A longer headline takes more time to finish when its animated pieces are staggered. Reduce the stagger or shorten the text if the reveal feels slow.

Pro tip: Keep the headline’s HTML tag appropriate to the page structure. Animation is a visual treatment; it is not a reason to turn every heading into an H1.

Key GSAP Animation Settings Explained

You do not need to memorize animation terminology. Use this table when a control’s name is unfamiliar. Some terms describe how GSAP works internally rather than a separate setting exposed in every HappyAddons panel.

Key GSAP Animation Settings Explained
TermPlain-English meaningPractical guidance
From / ToFrom starts at your values and returns to the designed state. To starts normally and moves toward your values.Use From for the entrances shown here.
TriggerThe event or scroll position that starts or controls an effect.Choose appearance for a timed entrance; scroll for position-linked progress.
Start / EndThe positions that define an animation’s scroll range.The first position belongs to the element; the second belongs to the viewport.
ScrubLinks animation progress to the scrollbar.Global Animation’s On Scroll mode handles this. Do not look for a numeric Scrub control in the panel shown here.
DurationHow long a time-based animation takes.Try 0.8 seconds for the entrance example. Scroll range is the main pacing control for scroll-linked motion.
EasingHow movement speeds up or slows down.Power2 Out suits an entrance; None suits linear scroll-linked progress.
DelayA pause before an animation begins.Keep it short so content becomes available promptly.
StaggerA gap between the starting times of animated pieces.Use a small value for text; more characters extend the total sequence.
RepeatExtra cycles of a tween.It is not automatically the same as replaying whenever an element re-enters the viewport.
MarkersVisible guides for debugging trigger positions.Use during testing and turn off before the page goes live.

Practical Ways to Use GSAP Animations on Your Website

Use caseSimple recipe
Service or feature cardsGlobal Animation → From → On Appearing; opacity 0, Y 40px, duration 0.8 seconds.
Portfolio highlightGlobal Animation → From → On Scroll; scale 0.85, linear easing, a short and visible scroll range.
Campaign headlineHeading → Text Animation → Text Reveal; short text and a modest stagger.
Process sectionUse the same understated entrance on each step container; preserve the reading order.
Product storytellingAlternate readable static descriptions with one scroll-linked feature panel; keep buying controls immediately usable.

For another visual reference, explore the official Global Animation demo. It shows possibilities beyond this starter page. Choose an effect because it helps visitors follow the content, rather than trying to include every available animation.

Best Practices for Smooth and Accessible GSAP Animations

A working animation is only the start; a few habits keep motion fast, focused, and friendly to every visitor. The guidelines below cover attention, performance, accessibility, and mobile.

Keep One Main Animation in View

Use motion to direct attention. If the heading, cards, background, and button all move differently at the same time, visitors have to work harder to find the important information. Keep key navigation and primary actions predictable.

Protect Page Performance

Prefer modest opacity and transform effects over repeatedly animating layout dimensions or large blur effects. Compress images, reserve their dimensions, and avoid adding oversized media simply to demonstrate animation. GSAP cannot compensate for an unnecessarily heavy page.

Check the page before and after adding effects. Watch Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS). Do not hide the page’s main hero content behind a long entrance delay. Test scrolling and interactions on a real midrange phone, not only in a desktop preview.

Best Practices for Smooth and Accessible GSAP Animations

Provide a Reduced-Motion Experience

Some visitors ask their operating system to reduce motion. Websites can detect this through prefers-reduced-motion. Do not assume that enabling a GSAP feature automatically respects that preference: verify the behavior of the installed plugin version and your site’s accessibility setup.

If your setup cannot provide a reliable reduced-motion alternative without custom development, keep nonessential effects disabled. Content must remain readable when animation is disabled. Also check keyboard navigation and screen-reader output, particularly when a text effect splits a heading into separate pieces.

Test Mobile Separately

The examples include an Enable On Mobile switch. Leave demanding effects off on mobile unless testing shows they improve the experience. A desktop trigger range may not suit a tall mobile card stack, and a large headline may wrap into several lines.

Use consistent timing and easing across similar sections. Test the frontend after changes; a responsive editor preview is useful for layout but does not replace testing the actual page.

Troubleshooting Common GSAP Animation Problems

Most problems come down to where an animation is tested or which panel a setting lives in. Use the table below to match a symptom to its likely cause and fix.

ProblemLikely causeFix
The effect does not play in the editorGlobal Animation playback is not the same in the editing canvas.Save and use Preview Changes. Reload the frontend and scroll from above the element.
The Animation panel is missingUnsupported element type, inactive Pro plugin, or unavailable feature.Use a classic element and confirm the required HappyAddons plugins and feature are active.
The wrong part of the card movesA child heading was selected instead of the card container.Select the parent card through its handle or Structure, then configure the animation there.
The scroll effect finishes too earlyStart and end positions define too short a range.Use Custom wrapper, inspect the positions with Markers, then disable Markers after testing.
Scrolling feels jerkyToo many effects, heavy assets, or competing animation systems.Remove effects one at a time, optimize media, and retest the simplest version on a phone.
A sticky element jumps or overlapsPinning and transforms affect the same element or compete with a header.Follow the panel warning: avoid Happy Animations and Sticky Pin on the same element. Test the sticky behavior separately.
The animation is absent on mobileEnable On Mobile is off, or responsive settings differ.Check the feature switch and mobile values. Leave the effect off if the static layout works better.
Content briefly flashes before animatingAnimation initialization may be delayed by script optimization or loading order.Compare with optimization temporarily disabled on staging. Adjust only the responsible exclusion after confirming the cause. Avoid hiding essential content as a blanket fix.

HappyAddons Free vs. Pro: What Do You Need?

For the three workflows in this article, the difference is straightforward. GSAP is the animation engine; access to a visual plugin control is a separate question.

Tutorial featureHappyAddons FreeHappyAddons Pro
Heading Text Animation / Text RevealAvailableAvailable with the free base plugin active
Global Animation for the card fade-upNot includedRequired
Global Animation for the scroll-linked scale panelNot includedRequired
Elementor Pro for these examplesNot requiredNot required; HappyAddons Pro is the relevant upgrade

Start with Free if your goal is a short animated heading. Choose Pro if you need the general Animation controls used to combine opacity, position, scale, and scroll triggers on supported elements. Do not buy Elementor Pro solely because this tutorial uses HappyAddons Pro.

Frequently Asked Questions About GSAP Animations in Elementor

The answers below cover the questions that come up most often when adding GSAP animations in Elementor. Each one is short and practical.

Frequently Asked Questions About GSAP Animations in Elementor
Can I use GSAP in Elementor without coding?

Yes. A compatible visual addon such as HappyAddons exposes GSAP-powered controls inside Elementor. The workflows above use plugin settings rather than custom JavaScript or CSS.

Is GSAP built into every Elementor animation?

Do not assume that every Elementor entrance or motion effect uses GSAP. This tutorial specifically uses HappyAddons GSAP features. Elementor’s own animation controls are a separate workflow.

Can I create GSAP animations for free?

You can start with HappyAddons Free’s Heading Text Animation feature. The Global Animation examples in this guide require HappyAddons Pro.

Do I need Elementor Pro?

No, not for the classic Heading and Container layouts shown here. The first two methods require HappyAddons Pro alongside Elementor and HappyAddons Free.

What is the difference between On Appearing and On Scroll?

On Appearing starts a time-based animation when its trigger is reached. On Scroll connects progress to the visitor’s scroll position. Text Animation uses a similar label, On Appearance, for its appearance trigger.

Why is my GSAP animation not visible in the Elementor editor?

The editing canvas is not a reliable playback test for Global Animation. Save the draft, open Preview Changes, and test the frontend from a fresh page load.

Can I animate text when someone scrolls?

Yes. In a supported Heading widget, open Content → Text Animation. Use On Appearance for a reveal at a trigger point, or explore On Scroll when you want progress tied to scrolling. Test the chosen mode on the frontend.

How do I disable an effect on mobile?

Set Enable On Mobile to No in the relevant HappyAddons animation panel. Check the mobile frontend afterward to confirm that the static content is visible and correctly laid out.

Will GSAP slow down my website?

Performance depends on the number and type of effects, the surrounding page, and the device. Small opacity and transform animations can be lightweight; large media, heavy visual effects, and competing scripts still need careful testing.

Which Elementor plugin should I use for GSAP animations?

HappyAddons is a practical choice for these workflows because it combines a free text-animation entry point with Pro Global Animation controls. Choose based on the specific effects, compatibility, accessibility behavior, and performance your site needs.

Final Thoughts

Adding GSAP animations in Elementor does not have to start with code or a complicated timeline. Begin with one fade-up card, test it on the frontend, and reuse a consistent setup where movement helps the content.

Once that works, try a scroll-linked panel or a short text reveal. Keep the page readable, check mobile and reduced-motion behavior, and remove effects that distract from the message. A few carefully chosen animations are enough to give a well-designed page a more engaging experience.

Share this post

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *