テキストの色に追従
アイコンは currentColor を使うので、テキストの色、ホバー時の色、ダークモードに自動で合わせます。prop、クラス、素の CSS で上書きすることもできます。
動き出すアイコン。
ホバー、クリック、ループのマイクロインタラクションを内蔵した、手作りのマイクロアニメーション 300 個。React コンポーネントとして使うことも、shadcn で追加することも、SVG や Lottie JSON をダウンロードすることもできます。MIT ライセンス。
フィールドの上でポインターを動かしてみてください。
インタラクション内蔵
どのアイコンにも、デザインしたときに想定したインタラクションが付いています。置くだけでそのまま動き、prop ひとつで別の動きに変えることもできます。試してみてください:
ライブラリ
ホバーやクリックで再生できます。アイコンを開くと、コードとダウンロード(Lottie JSON、SVG、ZIP)が表示されます。
300 個のアイコン
好きな方法で使う
依存関係のない React コンポーネント、shadcn レジストリ、URL が固定されたダウンロード用ファイル、そして AI エージェントが読めるカタログを用意しています。
ドキュメントを読む →import UseAnimations from 'react-useanimations';
import menu from 'react-useanimations/lib/menu';
export function MenuButton({ open, onToggle }) {
return (
<UseAnimations
animation={menu}
active={open}
onClick={onToggle}
size={28}
/>
);
}npx shadcn@latest add https://useanimations.com/r/menu.json
# 使い方: <AnimatedMenu size={24} /># すべてのアイコンを SVG、アニメーション(Lottie JSON)、その両方をまとめた ZIP で提供
https://useanimations.com/icons/menu/menu.svg
https://useanimations.com/icons/menu.json # Lottie JSON
https://useanimations.com/icons/menu.zip # Lottie JSON + static SVGsconst { icons } = await fetch('https://useanimations.com/icons.json').then((r) => r.json());
const icon = icons.find((i) => i.keywords.includes('hamburger'));
icon.react.import; // "import menu from 'react-useanimations/lib/menu';"アイコンは currentColor を使うので、テキストの色、ホバー時の色、ダークモードに自動で合わせます。prop、クラス、素の CSS で上書きすることもできます。
8 kB
プレーヤーを内蔵し、依存関係はゼロ。アイコンはそれぞれ 2 kB の独立したモジュールです。
モーション軽減の設定を尊重し、キーボードフォーカスでもホバーアニメーションを再生します。ラベルを付けない限り、スクリーンリーダーには読み上げられません。
Next.js、Remix、Astro でも安全にレンダリングできるクライアントコンポーネントです。アイコンはただのデータなので、どこからでもインポートできます。
全アイコンのキーワードを含む型付きカタログ icons.json、llms.txt、Markdown 版のドキュメントを用意しています。
マイクロアニメーションは、ユーザーの操作に応える短く目的の明確な動きです。メニューアイコンが閉じるボタンに変わる、投稿にいいねするとハートが塗りつぶされる、新しい通知でベルが鳴る、といったものです。アニメーションアイコンはその代表的な例で、インターフェースの反応をよくし、余計なテキストなしで状態の変化を伝えられます。
Lottie JSON ファイルにはアニメーション全体が入っていて、react-useanimations に内蔵のプレーヤーを含め、どの Lottie プレーヤーでも再生できます。SVG ファイルは静止状態のアイコンの画像で、状態ごとに 1 つずつ(たとえば eye と eye-off)あります。メール、ドキュメント、デザインツール、JavaScript が使えない環境のフォールバックなど、動かしたくない場所で使います。
はい。コンポーネントには 'use client' が付いていて、アニメーションはブラウザーでのみ描画されます。そのため、サーバーコンポーネントや Next.js、Remix、Astro などの SSR フレームワークから、動的インポートなしでレンダリングできます。アイコンのモジュールはただのデータなので、サーバーコンポーネントでインポートして props として渡せます。 Next.js とサーバーサイドレンダリング →
はい。アイコンと react-useanimations パッケージは MIT ライセンスです。個人・商用を問わず、使用、改変、再配布ができます。クレジット表記は歓迎しますが、必須ではありません。 ライセンスと利用規約 →
はい。どのアイコンも標準的な Lottie JSON ファイルなので、素の JavaScript、Vue、Svelte、Angular、CMS では lottie-web で、iOS、Android、Flutter ではそれぞれの Lottie プレーヤーで再生できます。Lottie アイコンのページに、ファイルの URL とインタラクションごとの lottie-web のコード例をまとめています。 Lottie アイコン →
react-useanimations 3.1.1 のプレーヤーは gzip 圧縮後で約 8 kB、依存関係はありません。アイコンはそれぞれ 1〜15 kB(中央値 2 kB)の独立したモジュールなので、バンドルに含まれるのはインポートしたアイコンだけです。