このページのコードが起動しませんでした。

index.htmlをフォルダから直接開くと、ブラウザがJavaScriptモジュールを読み込めません。そのため画像を選んでも何も起きません。フォルダはhttpで配信してください。

powershell -ExecutionPolicy Bypass -File serve.ps1

そのうえでhttp://localhost:8080/を開いてください。

GIF作成 — 画像からアニメーションGIFへ

何枚かの画像を、ひとつのアニメーションにします。

言語: 日本語
ソースを見る
画像はブラウザー内で処理されます。処理のためのアップロードはありません。

すべてのコマは、お使いのブラウザが描き、色を減らし、圧縮します。仕上がったGIFもこの端末のメモリの中で組み立てられます。仮にここの何かが送ろうとしたところで、このページの向こう側に画像を受け取るサーバーが存在しません。

いまの通信: 確認中…

オフライン: 確認中…

鵜呑みにする必要はありません。DevToolsの「ネットワーク」タブを開いたままGIFを作ってみてください。画像もサムネイルもファイル名も、どのリクエストにも載りません。回線を抜いてから作ってみるのでも構いません。

1 画像を選ぶ

2 GIFの設定

色数 色数が少ないほどファイルは小さく、縞は出やすくなります。

ディザリング ロゴ、線画、スクリーンショットでは切ってください。

画像を追加するとプレビューが出ます

コマ数
—
再生時間
—
1コマの大きさ
—
再生
—

3 GIFを作る

Markdownで表示

画像からGIFを作る手順

  1. 画像を選びます。フォルダを選択欄にドラッグするか、ファイルを手で選んでください。ブラウザがディスクから直接読み、その間に何かがどこかへ送られることはありません。
  2. 再生する順に並べます。つまみを持ってドラッグするか、矢印を使ってください。「名前順に並べ替え」は数字を数字として数えるので、frame_2はframe_10より前に来ます。
  3. 1コマあたりの表示時間を決めます。1枚0.5秒ならスライドショー、20分の1秒ならアニメーションです。全コマにまとめて同じ時間を与えることも、1枚だけ長めに残すこともできます。
  4. 大きさと、色の選び方を決めます。GIFは面積とコマ数のぶんだけ大きくなり、それを引き戻す画質スライダーはありません。だから、いちばん効く設定は大きさです。1コマ256色がいちばんきれいで、これが既定値です。共通のパレットを使うほうが小さく、ちらつきも出ません。
  5. GIFを作ってダウンロードします。組み立てはお手元のハードウェアで行われるので、かかる時間は順番待ちではなく端末次第です。仕上がったアニメーションは、保存する前にページの上で再生されます。

詳しい解説

画像からアニメーションGIFを作る方法 何枚かの画像を1本のアニメーションGIFにします。GIFが実際どこまで速く動けるのか、パレットの設定は何を変えるのか、そしてファイルを本当に小さくする3つのこと。

よくある質問

画像はどこかにアップロードされますか?

いいえ。画像を読み、描き、色を減らし、圧縮するのはお使いのブラウザで、場所もお手元のハードウェアです。この道具にサーバー側はなく、ページのContent-Security-Policyには接続してよいアドレスがすべて書かれていて、そのどれもこのサイトのものではありません。回線を抜いても、GIF作りはそのまま続きます。

どの画像形式を使えますか?

お使いのブラウザが展開できる静止画形式ならどれでもです。実際にはJPG、PNG、WebP、GIF、AVIF、そしてApple製の端末ではHEICになります。ここで別に一覧を持って更新し続ける必要はありません。展開はブラウザの仕事で、こちらの仕事ではないからです。

GIFがこんなに大きいのはなぜですか?

GIFがすべてのコマを丸ごとの画素として保存するからです。動き補償はなく、「前と同じで位置だけずれた」という保存の仕方もなく、画質のつまみもありません。大きさはおおよそ面積かけるコマ数で、これを下げる手は3つしかありません。

小さくすること。寸法を半分にすればファイルは4分の1になります。コマを減らすか、1枚あたりを長く表示すること。そして64色や32色まで落とし、ディザリングを切ること。平らな絵ならこれは思ったほど損をせず、写真ならかなり損をします。それでも収まらないなら、正直なところ、あなたが作ろうとしているのは動画です。同じものをMP4にすれば、おそらく10分の1で済みます。

GIFはどこまで速く動かせますか?

数字が示すほど速くはなりません。この形式は各コマの表示時間を100分の1秒単位で持ちますが、ブラウザは1990年代から2以下の値を0.1秒に引き上げています。当時の回る地球儀のために書かれ、そのまま残った規則です。ですから0.01秒と指定しても毎秒100コマにはならず、毎秒10コマになります。この道具が0.02秒より短い値を用意していないのはそのためで、0.05秒、つまり毎秒20コマあたりが、求めて意味のある上限です。

パレットの設定は何を変えますか?

GIFの1コマが持てる色は最大256色で、その256色は誰かが選ばなければなりません。

コマごとに最適な色は、1枚ごとに別々に256色を選びます。いちばんくっきり見え、互いに関係のない写真を並べる場合はこれが正解です。GIF全体でひとつのパレットは、全コマからまとめてひとつの表を作ります。ファイルは小さくなり、同じ場面のコマの間でパレットが揺れて起きるちらつきもなくなります。コマが寄せ集めではなく連続したものなら、こちらを選んでください。

背景の透過を残せますか?

画像に透過があるなら残せます。「透過」を「透過部分を残す」に切り替えてください。ただし先に知っておくことがあります。GIFの透過は1ビットで、画素は見えないか完全に塗られているかのどちらかしかありません。そのため、アンチエイリアスのかかった縁も、柔らかい影も、薄れていくものも、すべて硬い縁になります。アニメーションを置く先の背景色がわかっているなら、その色に重ねてしまうほうがきれいに見えます。

使える画像の枚数に上限はありますか?

道具に組み込まれた上限はありません。実際の頭打ちは端末のメモリと、出てくるファイルの大きさに対するあなたの忍耐です。画像は1枚ずつ読まれるので100コマでも問題ありませんが、640ピクセルで100コマとなれば、それはそれで非常に大きなGIFになります。上の「GIFがこんなに大きいのはなぜですか?」もご覧ください。

無料ですか。アカウントは必要ですか?

無料です。アカウントも、ログインも、試用期間もありません。出力に透かしも入りません。このサイトには広告があり、それが費用を賄っています。広告に画像の情報が渡されることはありません。

オフラインでも動きますか?

動きます。ページを一度読み込んでから通信を切っても、そのまま使えます。何もアップロードされていないことを示す、いちばん簡単な方法でもあります。処理のために画像をどこかへ送っている道具なら、線を抜いた瞬間に止まるからです。