The Origin of the IMG Tag

NCSA Mosaic was one of the first cross-platform web browsers on the market. It was met with a kind of awe. Within months of its release in the summer of ’93, Mosaic had changed the way people thought not only of browsers, but of the World Wide Web in general. Gary Wolfe wrote in Wired that Mosaic “gave an intense illusion, not of information, but of personality.”

Mosaic made the web more approachable for hundreds of thousands of users who would soon come online for the first time. Sure, Mosaic was easy to install on any operating system. And it was incredibly user friendly. But a big part of this shift just had to be the img tag.

Of course, a few months before its release no one knew how successful the browser would be. Mosaic was developed by NCSA at the University of Illinois, spearheaded by the tenacious Marc Andreessen, still an undergraduate there, alongside Eric Bina, an NCSA employee. Andreessen had been interested in the web since it had first been introduced a couple of years earlier.

While developing the first version of Mosaic, he and Bina had lots of ideas. They believed that the future of the web depended on more complete graphics support. At the time, users could access images solely through links. If an image was displayed in a webpage, a user would click on the link and images would open in a new window. Andreessen and Bina imagined a browser where images were inline, right alongside text in web documents. No extra click necessary.

At the time, there were only around 18 HTML elements. And none fit Andreessen’s purpose. So in February of 1993, Andreessen popped on to the www-talk mailing list, a popular destination for developers of the web. He posted a thread, and casually suggested a new HTML element:

I’d like to propose a new, optional HTML tag:


Required argument is SRC=”url”.

This may seem cavalier to some, and it was. But this was how the web was pushed forward. The web is open after all, isn’t it? Even though standards are developed by the W3C, contributions are (in theory) welcome from all.

Still, Andreessen’s new img tag was met with some opposition. Some worried that arbitrary tags opened the floodgates, and it wouldn’t be long before we had an element for every media type, like an aud tag for audio (or a video tag maybe? That would be just too much).

Tim Berners-Lee, the creator of the World Wide Web, was hesitant too. He suggested that Andreessen instead use the anchor tag to display inline images instead of creating something entirely new. This would allow users to set their own preferences for how images should be handled. He saw the web as a customizable experience, and envisioned a world where users would tinker with their browsers to display webpages based on personal preferences. A rigid img tag ran against that vision.

Tony Johnson, the sole creator of competing browser Midas, had a much simpler objection. He wondered, why should we use the abbreviated version? Wouldn’t image be just as effective as img without the syntactical confusion? He also included a request for a text alternative to images, an early version of what would eventually become the alt attribute.

But things didn’t end there. As it turns out, Andreessen’s email was less of a suggestion and more a simple announcement. Bina and Andreessen had already planned on including the img tag in their release, and had no plans on changing syntax or support. Inline images were a top priority for the browser, and nothing was going to change that.

Once Mosaic went out later in ’93, and users and designers alike could start experimenting with inline images, the img tag gathered momentum, and fast. The media, and the public, were sold.

HTML Standards caught up eventually. The img tag was included in the HTML 2.0 specification released in 1995 by the W3C. Some alternatives were proposed, like the fig tag that included the much needed alt attribute for users unable to see images. But by that point, img had already won.

And it was hard to change its implementation. Even though the new standard added alt to img elements, Mosaic (by then renamed Netscape) continued to treat img as an exclusively visual element. In early implementations, the alt attribute even doubled as the tooltip shown to users when they hovered over images. This prompted developers to use the text to tell users what they wanted them to do (“Click Me!”) rather then describe the image (“A Horse”). Once the title attribute was added to images, they became far more accessible.

So if you’re ever wondering why we use img and src instead of image and source, and where it all began, you can blame the persistence of the Mosaic engineers. That’s why we got the img tag, warts and abbreviations and all. Andreessen was first to market, and it’s just plain hard to argue with success. It wasn’t long before this become a tradition for browsers and standards. Browsers rush to implement first, then standards eventually catch up.This had some pretty serious implications during the “Browser Wars,” and since then has had its typical ebbs and flows. But it’s a tradition that persists to this day. All because of the humble img tag.

Added to the Timeline

November 24, 1995 - HTML 2.0

HTML 2.0 is published as IETF RFC 1866, and includes elements from previous iterations of HTML specifications alongside some brand new ones. It would remain the latest specification until January of 1997.

April 21, 1993 - NCSA Mosaic

NCSA releases Mosaic version 1.0, developed by Marc Andreessen and Eric Bina. It features inline multimedia, an easy to use GUI, and visual elements for web designers to make use of. Soon after launch, Mosaic would become the most popular browser on the market.

View the Full Timeline