Clean Completely free

Drop an animated GIF and extract every frame with its real metadata - delay, disposal method, dimensions, offsets - rendered one by one. For pulling a still out of an animation, or working out what timings a GIF actually contains when it plays wrong somewhere. Decoded in your browser with no third-party CDN code; nothing is uploaded. Imported Claude artifact. Source: https://github.com/simonw/tools (gif-dissector.html, Apache-2.0).

Share

Details

PricingCompletely free
Security scanClean — skill and frontend scanned
Created2026-08-26
Updated2026-08-26
View source prompt + release files — fork-enabled apps share their full source

System prompt (SKILL.md)

---
name: gif-dissector
description: Drop an animated GIF and pull out every frame, with its delay, disposal method and dimensions.
metadata:
  tags:
    - artifact-import
    - media
  source_url: https://tools.simonwillison.net/gif-dissector
  github_repo_url: https://github.com/simonw/tools
---

# GIF Dissector

An imported Claude artifact. Drop in an animated GIF and it decodes the file
frame by frame, showing each rendered image alongside its metadata - the delay
before the next frame, the disposal method, dimensions and offsets - so you can
see how the animation is actually assembled rather than just watching it run.

Useful when a GIF plays too fast or too slow somewhere and you need to know
what timings are really in the file, when you want a specific still out of an
animation, or when you are debugging a GIF encoder's output.

Decoding uses gifuct-js, served from this app rather than a CDN, so the page
loads no third-party code. The file is parsed in the browser: nothing is
uploaded, no model is called, and nothing is metered.

Release files (files)

Every public app is built from a security-scanned skill and must pass a clean scan — skill and frontend — before it can be listed. Have a skill of your own? Turn it into an app — or read the step-by-step walkthrough.