Lottie(ロッティー)は、After Effectsなどのデザインツールで作ったアニメーションを「JSON」という軽いデータ形式で書き出したもの。「プレイヤー(JavaScript )」をつかってWEBサイトにできます。
※Lottieの世界は日々進化しており、新しいファイル形式(.lottie)や、より高速に動かすための技術(WASMなど)が登場するたびに、それに最適化された新しいプレイヤーが作られています。
Lottieに魅力
Webで何かを動かそうとすると、
- GIFアニメ: 手軽だけど、拡大するとボケるし、色が汚い。
- 動画(mp4): 綺麗だけど、ファイルが重すぎて読み込みが遅い。
- SVGアニメ: 綺麗だけど、複雑な動きをコードで書くのは修行レベル。
という、状態を解決したのがLottie(ロッティー)、🌟 Lottieが「最強」と言われる3つの理由
- 拡大してもずっと綺麗(ベクター形式)
- 軽い!10分の1以下になることもある。
- ベジェ曲線ツールでパスを1本ずつ引かなくても、LottieFilesなどの「誰かが作ったカッコいい素材」を持ってきて、そのままWebに貼り付けるだけで動く。
基本的なコード
プレイヤータグと、そのプレイヤータグを利用するためのスクリプトの読み込みがセットです。
例:lottie-playerタグをつかってWEBサイトに表示
<!--lottie-playerタグを利用するためのスクリプトを読み込む-->
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
<lottie-player
src="ここにJSONファイルのパスを貼る"
background="transparent"
speed="1"
style="width: 300px; height: 300px;"
loop
autoplay>
</lottie-player>Lottieプレイヤーの種類
Lottieアニメーションを再生するための「プレイヤー」は主に3種類あります。基本的には「ファイルの形式(.json、.lottie)」と「やりたいこと(ホバーなど)」に合わせて選びます。
- .json 形式の古い素材をそのまま使いたい ➡ lottie-player
- .lottie 形式(軽量版)をとりあえず使ってみたい ➡ dotlottie-player
- 表示速度を極限まで速くしたい、最新の標準に合わせたい ➡ dotlottie-wc
※「開発環境(ReactやVue)」や「制御の細かさ」に応じて、他にもプレイヤーやライブラリが存在します。
Lottieプレイヤー:スクリプトとタグの対応一覧
| プレイヤー名 | 読み込みスクリプト (CDN) | 使用するタグ |
|---|---|---|
| lottie-player (標準・従来型) |
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script> |
<lottie-player> |
| dotlottie-player (.lottie推奨型) |
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script> |
<dotlottie-player> |
| dotlottie-wc (次世代・高性能型) |
<script src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js" type="module"></script> |
<dotlottie-wc> |
アニメーションを制御するための「属性(Attribute)」は、使用するプレイヤーの種類やバージョンによって異なりますが、参考までに標準的なLottie Web Player(lottie-player)でアニメーションの挙動を制御するための属性をまとめました。
| 属性名 | 値の例 | 説明 |
|---|---|---|
| src | URL | 読み込むJSONまたは .lottie ファイルのパスを指定します。 |
| autoplay | (なし) | ページ読み込み時に自動で再生を開始します 。 |
| loop | (なし) | アニメーションを繰り返し再生し続けます。 |
| speed | 数値 (1, 2, 0.5) | 再生速度を調整します。1が標準、2なら倍速になります。 |
| background | color / transparent | 背景色を指定します。透過させる場合は transparent を設定します。 |
| hover | (なし) | マウスを乗せた時(ホバー時)のみ再生を開始します。 |
| direction | 1 / -1 | 再生方向。1は通常再生、-1は逆再生になります。 |
| mode | bounce / normal | bounce を指定すると、最後まで再生した後に逆再生で戻るループになります。 |
| controls | (なし) | 再生・停止ボタンなどのコントロールUIを表示します。 |
| renderer | svg / canvas | レンダリング方式。通常は svg で問題ありません。 |
LottieFiles:アニメーションの「宝箱」
LottieFilesは、アニメーションを探し、加工し、公開するまでのすべてが揃ったサイト。
素材のダウンロード(JSON/GIF)、色などのカスタマイズ、自分の作品の保存。これらはすべてアカウント(無料)が必要です。
「無料素材」探す方法とライセンスについて
LottieFilesには有料(マーケットプレイス)と無料(コミュニティ)が混ざっています。オレンジ色の王冠マークは「有料会員限定」のサービスです。
無料のものだけを探す手順
- 検索フィルターを活用する
LottieFilesのトップページの検索窓にキーワード(例:heart loading:英語で検索するのが圧倒的に有利)を入れて、フィルターを 「Free」 に切り替えて検索。 - 個別の素材ページを開き、右側や下の方にライセンス情報を確認。
ほとんどの無料素材は 「LottieFiles Simple License」 または 「Creative Commons (CC BY 4.0)」。
| LottieFiles Simple License | 商用OK、改変OK。 クレジット表記(名前)は不要!(神!) |
| Creative Commons (CC BY 4.0) | 商用OK、改変OK。 作者の名前とリンクをどこかに書く! |
クレジット表記(CC BY 4.0)の具体的な書き方案
- 方法A:記事の最後にひっそり書く
「Animation by [作者名] on LottieFiles」 - 方法B:画像キャプションに入れる
Lottieのすぐ下に小さく「Source: LottieFiles / Author: ○○」と添える。
選んだ素材を利用する方法
気に入った素材を利用するには、まず自分のワークスペースにコピーを作る必要がある。
自分のスペースに保存しておくことで、後から色を変えたり編集ができる。
「ダウンロード」と「Handoff(CDN)」の違い
LottieFilesで選んだ素材を自分のサイトで使うには、大きく分けて2つの方法があります。
💾 ダウンロード
JSONまたは .lottie ファイルを自分のPCに保存し、自社サーバーにアップロードして使用します。
- 自分のサーバーから配信するため、外部の制限を受けない
- アクセスが集中しても追加コストがかからない
- ファイルを管理する手間が少し発生する
🔗 Handoff(CDN)
LottieFilesが発行する「リンク先(URL)」をコピーして、そのままコードに貼り付けて利用します。
- コピー&ペーストだけで実装でき、最も手軽
- LottieFilesの高速な配信サーバーを利用できる
- 無料プランには保存数と通信量の制限がある
⚠️ Handoff(CDN)利用時の重要な注意点
- 保存数の上限: 無料プラン(Starter Plan)では、ワークスペースに保存して公開できるアニメーションは最大10個までです 。11個以上使いたい場合は、古いものを削除するか有料プランへのアップグレードが必要です。
- 通信量(帯域幅)の制限: 無料プランには「URLが読み込まれる回数(通信量)」に上限が設けられています(例:月間10GBまで) 。
- 推奨される対策: 爆発的にアクセスがある人気サイトや、10個以上のアニメーションを使い分けたい場合は、ファイルをダウンロードして自分のサーバー(自社サーバーやAWS等)に置いて配信する方が、制限を気にせず運用できるため安心です。
ダウンロード形式の選び方
- ・dotLottie (.lottie):最新の推奨形式です。通常のJSONよりもさらにファイルサイズを最大80%軽量化できます。
- ・Lottie JSON:従来からの標準形式です。どんなWeb環境でも動作する高い互換性と安心感があります 。 (※「Optimized」とつく最適化形式は有料プラン専用機能です )
- ・GIF / 動画 (MP4/MOV):Lottieプレイヤーが設置できないSNSやスライド資料用です。Lottie本来の「軽さ」や「鮮明さ」は失われます。
表示方法:プレイヤー か <iframe> か
JSでスクリプトを読み込みます。将来的に「マウスを乗せた時に動きを変える(ホバー)」といったインタラクションの追加や、細かいデザイン調整が容易です。
外部の小さなWebページを丸ごと読み込むため、動作が重くなりやすく、カスタマイズの自由度も低くなります。主にNotionやMediumなどの埋め込み用です。
用途に合わせて使い分ける2つのエディタ
LottieFilesには、既存の素材を調整するための「Editor」と、ゼロから作成するための「Creator」の2つのツールが用意されています。
🎨 Lottie Editor
すでに完成している素材を、自分好みに微調整するためのエディタです。
- パーツ(レイヤー)の色をブランドカラーに変更
- 不要なパーツを非表示にする
- 再生スピードや背景色の調整
🚀 Lottie Creator
アニメーションをイチから自作・構築するためのプロフェッショナルなエディタです。
- SVGファイルを読み込んで複雑な動きを付与
- 高度なキーフレーム制御やパスのトリミング
- インタラクティブな「ステートマシン」の設定

LottieFilesの.lottieファイルでインタラクションの実装
⚠️LottieFilesで提供されていうデフォルトのコードdotlottie-wcプレイヤーでは、制御ができなかったので、dotlottie-playerに変更しました。
これでマウスがのった時だけアニメーションされます。
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
<dotlottie-player
src="https://lottie.host/e4659e27-82ba-463e-b30d-3ec24ee8de9a/LLdu3kxfnl.lottie"
background="transparent"
speed="1"
style="width: 300px; height: 300px; cursor: pointer;"
loop
hover>
</dotlottie-player>クリックで制御する場合、
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
<dotlottie-player
id="dotLottieToggle"
src="https://lottie.host/e4659e27-82ba-463e-b30d-3ec24ee8de9a/LLdu3kxfnl.lottie"
style="width: 300px; height: 300px; cursor: pointer;"
loop>
</dotlottie-player>
<script>
const player = document.getElementById('dotLottieToggle');
// 自分で状態を管理するフラグ(最初は止まっているので false)
let isPlaying = false;
player.addEventListener('click', () => {
if (isPlaying) {
player.pause(); // 再生中なら一時停止
isPlaying = false;
} else {
player.play(); // 停止中なら再生
isPlaying = true;
}
});
</script>