Supress animated GIFs in Netscape

David Simmons
August 10, 1997

THE PROBLEM

In today's tangled web of "style over substance", glitter and glitz seem to have overtaken informative content. A major characteristic of this glitter on many web pages is the infamous "animated GIF", which is an animation composed of multiple still image frames sequenced together to give the illusion of motion, or to otherwise cause a continual change in an image.

When reading the text of a web page, an animated image becomes visually distracting. Some versions of Netscape have a "stop animations" options that freeze the images, but this option must be selected explicitly every time it is needed. Clearly, there should be some way to end animations once and for all.

HOW ANIMATED GIFS WORK

Animated GIFs are implemented using the GIF89A specification for image storage. This specification, formed in 1989, provides the option of including multiple image frames in GIFs. When displayed, these image frames are shown in sequence with a specified time delay between each. After the last image is displayed, animation stops.

Netscape Communications, Inc. introduced an application extention to the GIF89A specification which designated "looping" to allow a GIF89A gif animation to return to the first frame when the last frame is displayed, providing continuous animation. The extention consists of the text "NETSCAPE2.0", probably named after the version of Netscape's browser which first implemented this extention. All animated GIFs you encounter on the web which loop forever contain this extention.

THE SOLUTION

The ideal solution would be to have the web browser only display the first frame of an animated GIF, as if the browser did not support GIF89A animations. Nobody knows how to trick Netscape into doing this, short of downgrading to version 1.0 of the software. A solution which is almost as good is to display each frame of an animation, but stop at the last frame and not loop. This can be accomplished by tricking Netscape into ignoring the "NETSCAPE2.0" extension which specifies looping.

Deep inside the Netscape executable, the text "NETSCAPE2.0" is buried. Netscape compares this string to extentions it sees in GIF images it encounters. If this string in the executable is altered with a hex editor to be any other arbitrary string, such as "SIMMONS42.0", then Netscape will be looking for "SIMMONS42.0" in GIF images to determine if it should loop them. If you are using a UNIX-based operating system, the hex editor BPE is recommended. Be sure that you are not running Netscape while making the change, or BPE will not be able to modify the file.

To put it simply, use a hex editor to search for the string "NETSCAPE2.0" in your Netscape executable, and change it to something arbitrary of the same length like "SIMMONS42.0". Animated GIFs will cycle through each frame once, then stop. Flashy web pages loaded with animated gifs will come to a complete stop within a few seconds, allowing you to enjoy the text without fear of distraction.

ADDENDUM (9/15/97)

John Robert LoVerso <loverso@opengroup.org> reported in a USENET posting that the text "ANIMEXTS1.0" is also used sometimes to indicate a GIF89a animation, and might need to be replaced as well as the "NETSCAPE2.0" text.

ADDENDUM (10/21/99)

James Vasile <vasile@iname.com> has written a C program to disable animated gifs in Netscape or Opera, and provides source and a Windows executable.

REFERENCES

Graphics Interchange Format Version 89a
BPE -- A hex editor for UNIX


David Simmons
send mail