Limited offer — lifetime access:$75$60
iOS · Android · Flutter

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.

🐦 Flutter
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!);
  },
)
🍎 iOS — Swift
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)
  }
}
🤖 Android — Compose
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.

FeatureUnicorn IconsLottieFilesLordiconIcons8
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