gifmeta 0.2.0

A sacred tool for inspecting and editing GIF metadata.
Documentation

๐Ÿฆ€ gifmeta

gifmeta is a small, fast, and sacred tool for inspecting and editing GIF metadata.
Use it to extract loop counts, view frame delays, and set precise timing โ€” all from the command line or via Rust.

โค๏ธ Built with love and clarity. No unnecessary bloat.


โœจ Features

  • ๐Ÿ” Inspect frame count, size, and duration
  • ๐Ÿ” View and modify loop counts
  • ๐Ÿ•ฐ๏ธ Show per-frame delays (preview timing)
  • ๐ŸŽฏ Set a fixed delay across all frames
  • ๐ŸŽฏ Prepare for per-frame delay editing (coming in v0.3.0)

๐Ÿ“ฆ Installation

Install via crates.io!:

cargo install gifmeta

Or use directly with:

cargo run -- <command>

Install via GitHub

git clone https://github.com/madspaaskesen/gifmeta.git
cd gifmeta
cargo build --release
./target/release/gifmeta --help

๐Ÿ› ๏ธ Usage

Show metadata

gifmeta info --input input.gif

Get loop count

gifmeta get-loop --input input.gif

Set loop count

gifmeta set-loop --input input.gif --count 3 --output out.gif

Show all frame delays

gifmeta show-frame-delays --input input.gif

Set delay for all frames

gifmeta set-delay --input input.gif --delay 10 --output out.gif

Set frame specific delays

gifmeta set-frame-delay --input input.gif --frame-numbers 1,5,80 --delay-values 10,20,100 --output out.gif

๐Ÿ›  Commands

Command Description
info Show basic metadata (frames, size, delay)
get-loop Get the loop count from a GIF
set-loop Set the loop count (use 0 for infinite)
show-frame-delays Display the delay of every frame
set-delay Apply a fixed delay to all frames
set-frame-delay Set custom delays for specific frames

๐Ÿง  Why This Exists

GIFs are still everywhere โ€” especially in messaging, memes, and UI loaders. But modifying timing or loop behavior often requires heavy tools.

gifmeta lets you do it instantly, with:

  • ๐Ÿฆ€ Native Rust speed
  • ๐Ÿงผ Zero bloat
  • ๐Ÿ–ฅ๏ธ CLI-first ergonomics

๐Ÿ›ค๏ธ Roadmap

  • Set loop count (v0.2.0)
  • CLI structure with clap v4
  • Set per-frame delays (v0.3.0)
  • Frame editing with duration visuals (experimental)
  • GUI Companion (Tauri, optional)

โš ๏ธ Batch processing and WASM are intentionally skipped.
These are best handled externally with scripting or shell tooling.


๐Ÿ‘ฉโ€๐Ÿ’ป Contributing

Wanna help? Fork, clone, and PRs welcome. You can also suggest Codex tasks or open issues ๐Ÿ’›


๐Ÿ”— Links


๐Ÿ•Š๏ธ License

MIT โ€” do good things with it.


๐ŸŒŸ Author

Built by Mads Paaskesen with Rust and a soft spot for retro formats.