Lottie
A lightweight vector animation from a Lottie file.
On this page
The Lottie widget plays a vector animation from a Lottie JSON file: an animated illustration, an icon that moves on hover, or a drawing that follows the scroll. Lottie files are small and stay sharp at any size. The animation can play on its own while it is on screen, on hover, on click, or with the scroll position.

Add a Lottie animation
Get a Lottie file
Export the animation from After Effects with the Bodymovin plugin, or download it from LottieFiles as Lottie JSON (a
.jsonfile).Insert the widget
Open Insert in the left panel, find Lottie under Media (or type
lottiein Search widgets) and click it or drag it onto the canvas.Choose the file
Click the JSON file field and upload the file to the media library, or set Source to External URL and paste the address of a file on another site.
Choose when it plays
Set Play to Automatically (while visible), On hover, On click or With the scroll position, and adjust Loop and Speed.
Upload Lottie files
WordPress normally refuses .json uploads. Urmi lets users who can upload files add Lottie files to the media library, as long as the file really is a Lottie animation and is no larger than 5 MB. Files from another site need that site to allow cross-origin requests (CORS).
Settings
Settings marked Per device can differ on desktop, tablet and mobile (see Responsive editing). The JSON URL and Link support dynamic tags (see Dynamic tags).
Content tab
| Setting | What it does |
|---|---|
| Source | Use a Lottie file from the media library, or a file on another site. Options: Media library, External URL. Default: Media library. |
| JSON file | The Lottie .json file. Upload it to the media library here: export it from After Effects with Bodymovin, or download it from LottieFiles as Lottie JSON. Files up to 5 MB that really are Lottie animations are accepted. Shown when Source is Media library. |
| JSON URL | Address of a Lottie .json file on another site. That site must allow cross-origin requests (CORS). Shown when Source is External URL. Supports dynamic tags. |
| Play | When the animation plays: on its own while it is on screen, on hover, on click, or following the scroll position. Options: Automatically (while visible), On hover, On click, With the scroll position. Default: Automatically (while visible). |
| Loop | Plays the animation again and again. On by default. Shown when Play is not With the scroll position. |
| On mouse leave | What happens when the pointer leaves: play backwards, pause, jump back to the start, or keep playing. Options: Play backwards, Pause, Back to the start, Keep playing. Default: Play backwards. Shown when Play is On hover. |
| Speed | Playback speed. 1 is normal, 2 is twice as fast, 0.5 half as fast. Default: 1. |
| Play backwards | Plays the animation from the end to the start. Shown when Play is not With the scroll position. |
| Link | Makes the animation a link. Supports dynamic tags. |
| Accessible label | Describes the animation for screen readers. Leave empty when it is decorative. |
| Alignment | Aligns the animation. Options: Left, Center, Right. Per device. |
Design tab
| Setting | What it does |
|---|---|
| Width | Width of the animation. The height follows its own proportions. Per device. |
| Max width | Largest width the animation may take. Per device. |
| Opacity | Opacity of the animation, from 0 to 1. |
Every element also has these sections at the end of the Design tab.
| Section | What it does |
|---|---|
| Spacing & position | Margin, padding, width, alignment in its container, order, position (relative, absolute, fixed), offsets, z-index and global classes. See Spacing, size & position. |
| Background & border | Background, border, border radius, box shadow, overflow and opacity of the whole element. See Colors & backgrounds and Borders & shadows. |
| Mask | Crops the element to a shape (circle, arch, blob, star…) or your own SVG or PNG. See Shape dividers & masks. |
Behaviour tab
The Behaviour tab is the same for every element.
| Section | What it does |
|---|---|
| Anchor & classes | An Anchor ID for #links and your own CSS classes. |
| Animations | Entrance, scroll, hover and loop animations from presets or your own timeline. See Motion & effects. |
| Motion & effects | A simple entrance animation, transforms (also on hover), CSS and backdrop filters, and sticky positioning. |
| Scroll & mouse effects | Movement, rotation, scale, fade and blur while the page scrolls, and pointer effects (follow the pointer, 3D tilt). |
| Visibility | Hide the element on desktop, tablet or mobile, or in dark or light mode. See Visibility. |
| Conditions | Show the element only when rules match, such as logged-in visitors, a date range or a URL parameter. See Display conditions. |
| Interactions | Show, hide or change other elements when this one is clicked, hovered or scrolled into view. See Interactions. |
| Attributes | Custom HTML attributes for this element. See Anchor, classes & attributes. |
Tips
- Describe or hide it. Fill in Accessible label when the animation carries meaning; leave it empty for decoration, and screen readers skip it.
- Reduced motion. For visitors who prefer reduced motion, automatic, hover and scroll animations stay on their first frame. Animations started by a click still play. Make sure the first frame looks complete.
- Battery friendly. Automatic animations only play while they are on screen.
- Keep files small. Large animation files slow the page down; simplify or compress them before you upload.