jsgif: A GIF player in JavaScript


(drag to bookmark bar)

jsgif an animated GIF player bookmarklet with support for pausing, going frame-by-frame, playing in reverse, and other features that one might expect from a video player.

Unfortunately, the DOM doesn't expose individual frames of a GIF, so this is done by downloading the GIF (with XMLHttpRequest), parsing it, and drawing it on a <canvas>.

Here's an animated GIF to try it on
(click the bookmarklet above, then click the image;
image is from Wikipedia)

Featuring Windows 3.11-style graphics, Web 3.11-style rounded corners, and the world's least efficient LZW decoder, jsgif is the needlessly-convoluted animated GIF player of choice for those with more CPU cycles and RAM than they know what to do with.

What the buttons do

Show info; reverse; previous frame; play/pause; next frame; pin/unpin; revert to GIF. "info" is the current frame and the delay per frame (both can be changed when paused).

You can figure it out.

Assorted notes:

You can email me at shachaf@gmail.com.