Animated icons for mobile apps
400+ production-ready animated icons that work natively on iOS (SwiftUI), Android (Compose), and Flutter. Native Rive .riv files + Lottie JSON in every download — one icon library for every platform.
The gap no competitor fills
LottieFiles covers Lottie on mobile. Lordicon and Icons8 are web-only — their icons use a web component that doesn't exist on iOS or Android. No library ships native Rive files with state machines for tap interactions across iOS, Android, and Flutter. Unicorn Icons does.
Built for mobile-first workflows
True cross-platform in one file
One .riv file works on iOS, Android, Flutter, and web via official Rive runtimes. No separate exports for each platform.
Tap-reactive state machines
Icons respond to tap, press, and loading states via Rive state machines. Wire a trigger and the icon handles the rest — no custom animation code.
6 formats per icon
Every icon includes .riv, Lottie JSON, SVG, GIF, WebM, and PNG. Use Rive for native mobile, Lottie as fallback, SVG for web.
Color editor before you download
Edit colors in the browser to match your brand palette, then download — all formats update together.
Integration examples
Official Rive runtimes — 5 lines or fewer on every platform.
rive: ^0.13.0Full guide →import 'package:rive/rive.dart';
// In your widget tree:
RiveAnimation.asset(
'assets/icons/home.riv',
fit: BoxFit.contain,
onInit: (artboard) {
final ctrl = StateMachineController.fromArtboard(
artboard, 'State Machine',
);
artboard.addController(ctrl!);
},
)RiveRuntime (Swift Package Manager)Full guide →import RiveRuntime
struct HomeIcon: View {
@StateObject var rvm = RiveViewModel(
fileName: "home",
stateMachineName: "State Machine"
)
var body: some View {
rvm.view()
.frame(width: 48, height: 48)
}
}app.rive:rive-android:9.x.xFull guide →// In your layout XML: <app.rive.runtime.kotlin.RiveAnimationView android:layout_width="48dp" android:layout_height="48dp" app:riveResource="@raw/home" app:riveStateMachineName="State Machine" />
How we compare for mobile
Lordicon and Icons8 don't have native mobile runtimes. LottieFiles covers Lottie but not Rive state machines.
| Feature | Unicorn Icons | LottieFiles | Lordicon | Icons8 |
|---|---|---|---|---|
| Native Rive (.riv) files | Indirect only | ✕ | ✕ | |
| Flutter integration | ✕ | ✕ | ||
| iOS native runtime | ✕ | ✕ | ||
| Android native runtime | ✕ | ✕ | ||
| Tap / state machine triggers | ✕ | ✕ | ✕ | |
| Lottie JSON (cross-platform) | Limited | |||
| Browser color editor | Inconsistent | Player only | ✕ | |
| Lifetime pricing | $79 once | $239.88/yr | $96/yr | $180/yr |
Common mobile use cases
Tab bar icons
Tap an icon in the tab bar and watch it animate to active state via state machine — no code, just wire the Rive trigger.
Onboarding illustrations
Small looping Rive animations as onboarding step illustrations — lightweight, resolution-independent, no extra assets for Retina/HDR.
Loading and success states
Spinner → checkmark transitions via state machine. One icon, two states, zero custom animation code.
Empty states
Looping animations for empty list/search/inbox states — adds life without bloating the app.
Micro-interactions on buttons
Button icons that animate on tap — add delight to CTAs like 'Add to cart', 'Save', 'Share'.
Frequently asked questions
What's the best animated icon library for Flutter?
Unicorn Icons is the only animated icon library that ships native Rive (.riv) files, which work natively in Flutter via the official rive package on pub.dev. This gives you state machine interactivity (tap triggers, loading states) in a single small file — no GIF, no frame-by-frame sprite sheet.
How do I use animated icons in SwiftUI (iOS)?
With Unicorn Icons' Rive files, add the RiveRuntime Swift Package, then: import RiveRuntime; RiveViewModel(fileName: 'icon').view(). For Lottie on iOS, use the official Lottie Swift package and LottieAnimationView. Both formats are included in every Unicorn Icons download.
Do animated icons slow down mobile apps?
Rive icons are vector-based and renderer-optimized — a typical icon is 5–20KB and renders on GPU. Lottie JSON is typically 10–60KB and CPU-rendered. Both are fast enough for production mobile use when used appropriately. Avoid playing dozens of animations simultaneously on low-end devices.
Can I use animated icons on both iOS and Android with one file?
Yes — Rive has official runtimes for iOS (Swift), Android (Kotlin/Compose), and Flutter (Dart). One .riv file works on all three platforms. Unicorn Icons ships the same .riv file for all platforms.
100 mobile-ready icons free — no card.
Native Rive + Lottie JSON in every download. Works on iOS, Android, Flutter, and web. Lifetime deal from $79.
Lifetime deal · Commercial license · 7-day money-back