LottieFiles
Crisp, scalable vector motion for Webflow, rendered natively in the browser.
LottieFiles for Webflow is the standard way to add lightweight, scalable vector motion to a Webflow site without shipping heavy video or GIF assets. A Lottie is a small JSON file that the browser renders as crisp vector animation, and Webflow exposes it through a native Lottie Animation element under the Media section of the Add panel — no embed code, no JavaScript, and no third-party player script for standard playback. Whether you build animations in After Effects, Figma, or the LottieFiles editor, or pull from a library of more than 100,000 ready-to-use clips, the native element plus the LottieFiles Webflow App make it possible to place, style, and trigger animations entirely inside the Designer. For hero sections, micro-interactions, loading states, and brand moments, LottieFiles Webflow integration has become the default motion format on modern sites.
What LottieFiles adds to a Webflow site
- Native Lottie Animation element under Add > Media — drag it onto the canvas like any element, with no embed code for standard
.jsonplayback. - 100,000+ animation library and authoring tools — browse, preview, and insert clips through the LottieFiles Webflow App, or export your own from After Effects, Figma, or Lottie Creator.
- Full interaction-system support — trigger playback with autoplay, scroll into view, while scrolling, mouse hover, and mouse click (tap), all configured in the Interactions panel.
- Vector-based and lightweight — Lottie JSON renders sharply at any resolution and is typically a fraction the size of a comparable GIF or video.
- Files stored as Webflow Assets — uploaded
.jsonfiles land in your site's asset manager for native reuse and version control. - Styleable like any Webflow element — apply classes, set width and height, control responsive layout, and layer Lottie motion into larger animation sequences.
How Lottie animations work in Webflow
A Lottie is a JSON text file that describes vector shapes, keyframes, and timing. The browser reads that JSON and draws the animation frame-by-frame as scalable SVG-style vector graphics, so the same file looks sharp on a phone and on a 4K display. That is the core difference from GIF and video, which store fixed pixel frames.
In Webflow, that renderer is built in. The native Lottie Animation element lives under Add > Media and accepts a .json file. When you upload one, Webflow stores it in your site Assets and handles the playback renderer for you — no <lottie-player> script tag and no header code for standard use. You then drive playback through Webflow's interaction system, choosing a trigger from the element's Interactions panel: Autoplay on page load, Scroll into view when the element enters the viewport, While scrolling to tie progress to scroll position, Mouse hover, or Mouse click (tap).
For advanced dotLottie v2 features — multiple animations in one file, themes, and interactive state machines — the native element is not enough. You select a Div block container and inject the @lottiefiles/dotlottie-web player through page-level custom code, which is the official LottieFiles workflow for state-machine-powered interactivity.
How to add a Lottie animation to Webflow
- Get a
.jsonLottie file — download one from lottiefiles.com or export your own from After Effects, Figma, or Lottie Creator. - In the Webflow Designer, open the Add panel and expand the Media section.
- Drag the Lottie Animation element onto the canvas, or install the LottieFiles Webflow App from the App Marketplace and click Insert animation into a target container.
- Click Replace on the element and upload your
.jsonfile; it is stored automatically in your Webflow Assets. - Apply classes and styling — width, height, position, and responsive layout — exactly as you would any other element.
- In the Interactions panel, click + next to Element trigger and choose a trigger: Autoplay, Scroll into view, While scrolling, Mouse hover, or Mouse click (tap).
- Set playback options — loop, reverse, speed, delay — then preview and publish.
Lottie vs. GIF vs. video for Webflow
Lottie, GIF, and video solve different motion problems, and choosing the wrong format is the most common cause of slow Webflow pages. Lottie is a vector JSON file rendered by the browser, so it is tiny, infinitely scalable, and controllable through interactions. GIF is a raster format limited to 256 colors with large file sizes and no real interactivity. Video gives you photorealistic motion and audio but at a far higher bandwidth cost.
For UI motion, hero illustrations, icons, and any animation that needs to scale or respond to scroll or hover, Lottie is almost always the right call. Reserve GIF for short loops where universal no-JavaScript compatibility matters, and video for photorealistic content Lottie cannot represent.
| Format | File size | Quality | Scalability | Best for |
|---|---|---|---|---|
Lottie (.json) | Tiny — up to thousands of times smaller than GIF | Vector, no compression loss | Infinitely scalable, sharp at any resolution | UI motion, hero animations, icons, scroll/hover interactions |
| GIF | Large per frame, 256-color limit | Raster, degrades with detail | Fixed resolution, pixelates when scaled | Short loops, broad compatibility, no JavaScript |
| Video (MP4/WebM) | Largest, audio-capable | Photorealistic | Fixed resolution | Product demos, backgrounds, motion Lottie cannot render |
Best LottieFiles + Webflow use cases
Hero animations
A scroll-driven or autoplay Lottie in the hero section delivers a polished first impression without the megabytes of a hero video. Pair a While scrolling trigger with a single JSON file to scrub through an illustration as the visitor reads down the page.
Micro-interactions
Animated icons on hover, button reveals, and toggle states feel tactile when powered by Lottie. Set a Mouse hover trigger with defined start and end frames so the icon plays forward on enter and reverses on exit.
Loading states
Replace a static spinner with a branded Lottie loader that loops cleanly at any size. Because the file is a small JSON text payload, it renders instantly and stays sharp on every breakpoint.
Logos and brand moments
Animate a logo on page load with an Autoplay trigger, then let it settle into a static mark. The same vector file can be reused in the footer, navigation, and email without re-exporting at new dimensions.
Walkthroughs and feature tours
For interactive onboarding, combine several Lottie clips or use dotLottie v2 state machines in a Div block with page custom code to let visitors step through a product walkthrough, jumping between animation states on click.
Limitations to know
- dotLottie v2 needs custom code. State machines, themes, and multiple animations per file require a Div block container plus the
@lottiefiles/dotlottie-webplayer injected as page custom code, not the native element. - No raster, video, or audio. Lottie renders vector JSON, so photographic content, masked video, and sound are not supported — use MP4/WebM for those.
- Performance degrades at scale. Very large or complex JSON files, or many Lottie animations playing at once on one page, can slow down rendering, particularly on mobile browsers.
- You cannot author JSON inside Webflow. Files must come from LottieFiles, After Effects, Figma, or Lottie Creator, and the Free tier limits exports and commercial use.
Related resources
Frequently asked questions
Open the Add panel in the Webflow Designer, expand the Media section, and drag the native Lottie Animation element onto the canvas. Click Replace to upload a .json Lottie file, which is stored automatically in your Webflow Assets. Style the element like any other, then set a playback trigger in the Interactions panel before publishing. Alternatively, install the LottieFiles Webflow App to browse and insert animations from inside the Designer.
LottieFiles offers a Free tier with limited exports, library access, and commercial-use restrictions. The Pro plan costs about $19.99 per user per month billed annually, with Team and Enterprise tiers for collaboration and licensed assets. The Webflow Lottie element itself is free to use; you only pay if you need LottieFiles' authoring tools or commercial-licensed animations.
Yes. Webflow ships a native Lottie Animation element under the Media section of the Add panel that renders standard .json Lottie files in the browser without custom code. You can trigger playback with autoplay, scroll into view, while scrolling, hover, and click interactions. Advanced dotLottie v2 features such as state machines and themes require a Div block container plus page-level custom code rather than the native element.
Lottie is better for web animation in almost every case. Lottie files are JSON vectors that can be up to thousands of times smaller than the equivalent GIF, stay perfectly sharp at any resolution, support full transparency, and can be controlled by interactions. GIF is a raster format limited to 256 colors with large file sizes. Use GIF only when you need universal, no-JavaScript compatibility or are embedding a ready-made raster clip.
Select your Lottie Animation element, open the Interactions panel, and click the plus next to Element trigger. Choose Scroll into view to play the animation once when it enters the viewport, or While scrolling to tie animation progress to scroll position. Configure loop, playback speed, and direction in the element settings, then publish. For frame-perfect scrubbing on long pages, pair the Lottie with a GSAP ScrollTrigger setup in page custom code.
Launch faster with Webflow templates
Every template is CMS-ready and integration-friendly — connect your tools and ship.









