GeoCities, 1997. An ad unit that became a friendship token, and a standard that lived in an HTML attribute rather than in any file.
Some examples, 200 of them, from three public archives. Every one of these pointed at somebody's website.
A button is a link with a face. Eighty-eight pixels wide, thirty-one tall, usually under three kilobytes. It sat at the bottom of a page and pointed at another one. That is the entire object, and almost everything interesting about it is in who made it and why.
Netscape ran a badge programme, archived from May 1996, which gave you a graphic and told you exactly what to write underneath it:
This site is best viewed with Netscape Navigator 2.0. Download Netscape Now!
The point was not decoration. The web in 1996 rendered differently in different browsers, badly, and a badge was how you told a visitor which one you had built for. Half the buttons above are still doing that job: best viewed with, powered by, made with.
GeoCities gave away web space, and the price was a link. From their member terms, last modified 22 November 1996:
The only code that we require to be on all of your html pages is a reference back to GeoCities.
A link is all they asked for. What they handed you in the sample code was an image, and that image, pulled from the archive and measured, is 88 by 31. Millions of pages carried one because the landlord required it, which is how a size becomes a habit.
On 10 December 1996 the Internet Advertising Bureau and CASIE announced the first voluntary standards for banner advertising: eight sizes, of which the smallest is 88 x 31, the Micro Button. Read what the committee says it did, though:
the Standards and Practices Committee of the IAB with input from CASIE has used market data to examine the full range of banner types [...] and sizes currently in use.
They catalogued the size. They did not set it. It was already out there, which means the badge came first and the ad unit was named after it rather than the other way round.
Chaz Boston Baden ran one of the earliest pages of homemade buttons. His explanation, revised April 1997, is still the best one anybody has written:
It's all Netscape's fault.
Netscape [...] started it all, with their "Netscape Now!" buttons. Other people started making their own buttons, using the same style but substituting their own graphics and text. (Many of them kept the "Now!" lettering, as that's part of the joke.)
So the shape got borrowed from an ad, and the ad shape got filled with a person. That is the turn this whole plate is about.
Once anyone could make one, the button stopped being a credential and became an exchange. You put someone's button on your page, they put yours on theirs, and the standing rule was that you hosted the file yourself instead of pointing at theirs.
I would ask that you upload my banner to your own site, and I will return the favor for you.
Sailor Io, GeoCities Tokyo/2666, snapshot 1999-02-03
You may be wondering why I made all these wonderful buttons. Well, I was bored and I had a lot of fun making them.
cammieao, GeoCities Hollywood/4198, snapshot 1999-10-01
Chaz's companion page is titled "Hazel's Friends and Acquaintances." Its entire body is twelve of these, every one hard-coded to 88 by 31, and every alt attribute is just a person's first name. An ad-shaped unit used as a list of friends, with the title saying so out loud.
Everything above assumes these are all 88 by 31. Nineteen of the 200 are not, and you cannot tell by looking, because the size was never enforced by the image. It was enforced by two attributes that people typed by hand and asked each other to remember.
| File | Actually | What it says it is |
|---|---|---|
best_viewed_with_monitor.gif | 97 x 31 | Site Best Viewed With A Computer Monitor |
bestviewedlinks.gif | 96 x 32 | Best viewed With LINKS |
lynx.gif | 90 x 32 | Lynx Friendly, with a black cat |
netscape_ahora.gif | 90 x 30 | Netscape Ahora! |
netscapenow40.gif | 88 x 30 | Netscape Now! 4.0 |
opera.gif | 90 x 30 | OPERA 5 Free browser |
2bit-neocities.png | 97 x 31 | NeoCities.org, THE WEB IS YOURS |
aim.gif | 88 x 32 | AOL Instant Messenger, Click Here! |
beos_now_anim.gif | 90 x 30 | Power up your PC with BeOS, animated |
button-NeoCities-5.png | 88 x 30 | NeoCities.org, THE WEB IS YOURS, pink |
altavista2.gif | 90 x 33 | AltaVista Download |
amd_powered.gif | 85 x 30 | POWERED BY AMD |
apache-mod_perl.gif | 90 x 30 | APACHE mod_perl |
gimp.gif | 90 x 31 | Graphics by Gimp |
GuestWorldbutton.gif | 87 x 31 | Free Guestbook by GuestWorld |
madewithlove.gif | 91 x 33 | made with Love |
anti_button.gif | 88 x 32 | The Anti-Button Campaign |
25nightcord.png | 88 x 24 | 25nightcord, anime eyes on pink |
2ainnet_2.png | 88 x 30 | 2AIN net |
And the convention is exact, in both directions. Sixteen of sixteen period button images carry both width and height. Across the 707 buttons on one modern collection page, 59 on another and 39 on a third, exactly one does. Where a modern page does specify them it writes width="88px", which is not valid in an HTML presentational attribute. Browsers accept it anyway. The convention is now being copied from CSS habits, by people who never had to type WIDTH=88.
Verbatim, geocities.com/SiliconValley/9422, snapshot 1999-01-28
<IMG SRC="netscape.gif" ALT="Netscape 3.0+" BORDER=0 HEIGHT=31 WIDTH=88>
<IMG SRC="iexplore.gif" ALT="IE 3.0+" BORDER=0 HEIGHT=31 WIDTH=88>
<IMG SRC="geocities.gif" ALT="Geocities" HSPACE=10 BORDER=0 HEIGHT=31 WIDTH=88 ALIGN=ABSCENTER>Verbatim, owlman.neocities.org, fetched 2026-08-04
<textarea rows><a href="https://owlman.neocities.org"><img src="https://owlman.neocities.org/OwlMan/Banners/owlmanbanner8831.gif"></a></textarea>A valueless rows, and no width, no height, no border, no alt. border=0 was never decoration: without it a linked image drew a two-pixel blue link border. It was a fix, and it stopped being typed when the bug it fixed stopped mattering.
So the size was a request. Here is the strange part: nobody was ever requesting the number Netscape wrote down. Netscape published a written specification for their button, and it does not agree with the file they shipped.
netscape_now.gif, measured from the file header: 88 x 31, GIF, 32 colours, single frame, 1146 bytes.
Netscape Now Usage Guidelines, archived 1996-10-26
Minimum Size. The minimum size of the Netscape Now button is 88 by 32 pixels. The button may be displayed at a larger size, but all elements of the button must be increased in size proportionally.
Every <img> on Netscape's own pages said HEIGHT=31. The file is 31. The spec sheet said 32. The number the whole web went on to copy for the next thirty years was the one in the file and the attribute, and it was never the one Netscape wrote down.
Same document, two paragraphs later
No Alteration Allowed. The Netscape Now button must not be altered in ANY way. Do not shrink it; take it apart; change its proportions, color, or font; or otherwise alter it from the Netscape-supplied version.
Termination. Netscape reserves the right to immediately terminate permission to use this button to anyone not following these guidelines as determined solely by Netscape's judgment. Netscape may visit participating sites to check on compliance.
Displaying it required an application form and qualification criteria. It could not be altered, could not be combined with other graphics, and came with a mandatory sentence and a mandatory link. Everything at the top of this page is a wall of that button, altered. The culture this plate is about is, formally, a mass violation of the terms it came from.
Six days earlier: the EFF Blue Ribbon Campaign, archived 1996-10-20
All Web users are strongly encouraged to place a Blue Ribbon graphic on their servers. NOTE: You do NOT need to ask for permission to use these graphics.
Two badge programs, six days apart in the archive, with exactly opposite terms. One required an application and reserved the right to send someone round to check. The other told you to take it. The one people copied for thirty years is the one that told them not to, and the way they copied it was to make their own and give it away on the EFF's terms.
Roughly 950 archived URLs were pulled across sixteen GeoCities neighbourhoods plus Angelfire and Tripod, filtered toward filenames like links, linktome, banners and affiliates. Not one page in that sample carries an undifferentiated wall of 88x31 buttons. The wall is a revival-era form. Here is every page that was counted, image by image.
| Page | Images | Carrying 88 and 31 |
|---|---|---|
1999 geocities.com/SiliconValley/9422 | 7 | 3 |
1999 geocities.com/SiliconValley/1000 | 15 | 2 |
1999 geocities.com/Vienna/9326 | 20 | 2 |
1999 geocities.com/SiliconValley/9348 | 56 | 4 |
2000 geocities.com/Area51/1029 | 9 | 1 |
2001 geocities.com/SiliconValley/9014 | 26 | 3 |
2026 likehome.neocities.org/links | 39 | 1 |
2026 urist.neocities.org/buttons | 59 | 0 |
2026 anlucas.neocities.org/88x31Buttons | 707 | 0 |
What a 1999 page actually had was a badge cluster of two to four: the browser, the free host, the guestbook provider, the webring. The record in the whole sample is four. Each one was a claim about how the page should be viewed, not a portrait of who made it. The banner walls that did exist were not 88x31 at all: 400x60, 500x130, 162x116, all in one column.
Nobody in the period called it a button, with two exceptions
There is no heading containing the word "button" anywhere in the period sample. The vocabulary was link, links, webring, award, banner. A sweep of roughly 500 more GeoCities pages for the literal string "88x31" returned nothing. Two pages in the entire corpus name the size out loud, and one of them stops mid-sentence to correct itself.
you could put our banner (not really a banner actually, it's more like a button) at one of the corner in your web site. [...] The size of this banner (button) is 88 X 31.
Info Site, geocities.com/Tokyo/4467, snapshot 2000-05-22
Preferable sizes for banners are more or less 340x50 pixels. For buttons, more or less 88x31 pixels. But if not, I guess I'll just deal with it^^
"Release", a Cardcaptor Sakura fansite, snapshot 2009-08-06
"More or less" is the accurate description of a standard that ten percent of files did not meet. The modern vocabulary, button and 88x31 as a heading a reader is expected to recognise, is entirely retrospective. Nobody in 1999 wrote <h2>88x31</h2>. Every button page in this era did.
Every default below is a measured median from the corpus, not a taste call. This encodes a real GIF89a in the page, with no library, and hands you the file. Two of the makers the archives currently recommend export a PNG named .gif.
It lands at about 24 by 24 pixels, which is smaller than a favicon. That is the measured icon cell: 27px of interior height, and the median real one is 24px wide. Use one bold shape with high contrast, no fine detail and no text. A circle or a silhouette survives; a photograph or a logo with a wordmark turns to mush. Upload it large and let it come down, do not resize it first.
And the part that made it a currency
Save the file to your own server, then paste this. It is the period form, attributes and all. The ritual was never about the image: it was "copy it to your server first", which is a request to spend your own disk on someone else, and it is the reason so many of these files still resolve thirty years later.
Chaz Boston Baden asked for exactly two things in 1997: "If you use any of these icons, please copy them to your server first", and "please remember to put width=88 height=31 as part of the IMG tag!" Both requests are still being made, by people who have never heard of him.
netscape_now.gif has no split in it at all.A row of these did three jobs at once. It said what your site was made with, it said who you read, and it pointed at people who would point back. It cost about two kilobytes and it belonged to you, because the rule of the culture was that you copied the file onto your own server rather than linking to someone else's.
What replaced it was a row of small rectangles you did not make, pointing at places you did not choose, counting something you could not see. That is a contrast in form, and it should not be dressed up as a documented cause: nobody in the period wrote down that share widgets killed button walls, and no one has ever counted 88x31 usage over time. What is datable is narrower and stranger. Netscape ended support for the Netscape browser on 1 February 2008, so the most-copied button on the web spent its last years pointing at a product that no longer existed. GeoCities stopped accepting new accounts in April 2009 and deleted the files that October.
The problem it solved: a link needs a face, and a face needs somewhere to live. Both of those used to be your problem, which is exactly why both of them were yours.
Source. The 200 buttons are rehosted from cyber.dabamos.de, neonaut and 88x31.nl, fetched once each and served from this origin, never hotlinked, following the only stated etiquette in the field: "Feel free to copy buttons to your website, but avoid hot-linking if possible." Every one is a third-party work of unknown rights; none of the three archives licenses the individual buttons, because none of them owns the individual buttons. Every dimension, frame count and colour count on this page was parsed from the file's own bytes, not from a filename or an attribute.
The historical claims. Netscape's guidelines, application page and qualifications page are Wayback captures of netscape.com from 1996; the button was measured from two separate captures of the shipped file. The page counts in section 3 were made by scanning the captured bytes of each page. Chaz Boston Baden's pages are GeoCities NapaValley/2022, revised April 1997. Claims this research could not source are deliberately absent, including any launch date for the Netscape Now program, any date for when button walls declined, and every published explanation of why the number is 88 by 31. Netscape never explained it, and 31 is not a multiple of 8.
The maker is a recreation, not an emulation. It composes in palette-index space and writes GIF89a with an uncompressed-LZW encoder written for this page, so the output is a real GIF that any decoder will read, but it is not the output of any period tool. Type is a FontStruct recreation of MS Sans Serif by "lou" (CC BY-SA 3.0), with VT323 by Peter Hull and Silkscreen by Jason Kottke (both OFL 1.1). Verdana, which is the face actually measured inside real buttons, cannot be redistributed and is not shipped. The page's own colours are taken verbatim from two captured pages: bgcolor="#C0C0C0" with maroon links from SiliconValley/9014, and the black band from Vienna/9326.