Bird Codes

Many birders create shorthand methods for noting bird species in the field. Others, like John Shipman, create codes as a way of making data entry into computer databases more efficient. Spokane Audubon is providing the following coding systems as quick and useful methods of bird notation for field or computer entry. Please note that we are not arguing to replace the BBL coding system (the system generally used in bird banding data collection).

The following information on Birding Codes is used with the permission of the author John W. Shipman. His page can be found here: (Note: All references made to “the author” are referring to John W. Shipman.)

Bird Banding Lab (BBL or Alpha) Codes

BBL or Alpha codes are 4 letter abbreviations of bird species common names. They are used by bird banders as shorthand for the common names of bird species. They are also used by some birders as a quick way to record their sightings in the field. For a complete list of these codes click here:

The BBL code system: Rules for forming the codes

The USF&W Bird Banding Lab codes were introduced in:

Klimkiewicz, Kathleen, and Chandler S. Robbins. Standard abbreviations for common names of birds. North American Bird Bander 1978, 3:16-25.

Codes are formed using these rules:

  1. If the name consists of only one word, the code is taken from the initial letters, up to four:

        DUNL  Dunlin
        DOVE  Dovekie
        OU    Ou
     GADW  Gadwall
  1. If there are two words in the name, the code is made from the first two letters of each word:

     AMWI  American Wigeon
  EAME  Eastern Meadowlark
  1. For three-word names where only the last two words are hyphenated, the code uses two letters from the first word and one each from the last two:

     EASO  Eastern Screech-Owl
  WEWP  Western Wood-Pewee
  1. For other names with three words, the code takes one letter each from the first two words and two from the last word:

     RTHA  Red-tailed Hawk
     WWCR  White-winged Crossbill
        WPWI  Whip-poor-will
  1. For four-word names, the code takes one letter from each word:

     BCNH  Black-crowned Night-Heron
     ASTK  American Swallow-tailed Kite
  NSWO  Northern Saw-whet Owl

collision is a situation where two or more names would abbreviate to the same code using these rules.

The Bird Banding Lab decides what code to use in these cases. If one name is far more common than the other name or names involved, typically the common species gets to use the name. In most cases (e.g., Lark Bunting and Lazuli Bunting) when both birds are common, the collision code is not used, and unambiguous substitutes are provided for both forms.

The BBL code system: Collision problems

The author has written a computer program to analyze the Bird Banding Lab code system. This program forms the codes according to the rules, and then produces a report showing all the cases where there were collisions (two or more names abbreviating to the same code) or for some other reason the BBL code is not the one expected by the rules.

Collisions involving birds found in the AOU Check-List but absent from the ABA Checklist have been omitted.

A total of 98 names were involved in collisions. Usually, substitute codes are given to both forms involved in a collision. When one of the forms is fairly rare, however, the BBL has allowed the common form to use the collision code---which I consider a very dangerous practice.

A critique of the Bird Banding Lab code system

The banders' code was designed for use in banding. It was never intended to be a general-purpose code for North American bird records. In the author's opinion, its use in other sorts of bird records may lead to problems.

Benefits of the BBL code

Applying the principles in the author's discussion of design goals for bird code systems, the BBL four-letter code is not all that bad a code system. Because it is produced by applying a few rules to the English names, it meets the criteria of being easy to learn and easy to encode. It covers North America and Hawaii, and it is nice and short.

Drawbacks of the BBL code

In many of the design goals, though, the BBL code falls short. For example, after reading the list of collisions in the BBL code system, can you honestly say that this system is easy to learn? There are nearly 100 bird names involved in collisions!

Collisions in the BBL system are handled by picking a different, arbitrary code for one or both of the forms. For example, both Lark Bunting and Lazuli Bunting abbreviate to code LABU. Since both birds are common in the West, they are given codes LARB and LAZB respectively.

But suppose a summer intern records a sighting as LABU, and no one notices until the intern has moved on. If we come along later and look at the record, we (or a computer program) may detect that it's not a valid code, but how can we know sure which species was really seen? We might not be able to reach the observer.

People who take wren data have to remember that there is a three-way collision for the code CAWR: Carolina Wren (CARW), Cactus Wren (CACW), and Canyon Wren (CANW). It's probably safe to assume that a Kentucky record for CAWR is a Carolina, but what about a record from New Mexico? In many localities it could be either Cactus or Canyon.

For this reason, the author feels that it is vital to keep the number of exceptions to the rules as small as possible. He once entered a point count survey for the Institute for Bird Populations (which uses the BBL codes) in which over 20%of the records were not legal BBL codes.

When one of the forms involved is rarely encountered in North America, or has limited distribution, the commoner form is encoded as usual and an arbitrary substitute is assigned to the other. This violates the design principle that people who use the code system should not be required to know anything about bird distribution.

To avoid such problems, the author's preference is to disallow use of the collision codes altogether. Then, when someone uses such a code, we will know that they were unaware of the collision. This allows automatic detection of encoding errors by computer programs. Having a computer detect an error takes a lot less time than catching it in proofreading, assuming you have time to proof it at all.

Codes that the BBL will not define

The Bird Banding Lab defines virtually no codes for forms other than species and certain races. Banders have no need for a code for "hawk sp.", because banders will have the bird in hand and be able to key it out to species. But in databases involving sight records, there is a real need for such codes.

Furthermore, a novice observer in Cave Creek Canyon, Arizona, might not know that MOQU is not the code for Montezuma Quail. This is a collision with Mountain Quail, which is more common nationally than Montezuma Quail. Since the BBL does not define codes for gamebirds, who will resolve this conflict?

Finally, please see the list of 684 North American bird names and identifiable forms that have no BBL code.

Design goals for bird code systems

Among programmers, good programs or systems are often described as ``robust.'' Such systems should be easy to learn and use, and they should not tend to confuse users or mangle data. Design of a good encoding system involves more than just the problem of representing the data. We should consider human factors as well.

Here are some other qualities of a good code system:

  • It should be short, to save keystrokes during data entry.

  • Encoding should be easy to learn and quick to execute.

  • The codes should be meaningful and easy to decode. Although any code can be translated mechanically by a program, it often saves time if we can just look at a code and know what it means without having to look it up.

  • It should handle forms other than species---any category of birds, however precise ("Blue Goose") or vague ("black bird sp.") the identification.

  • It should cope well with the continual changes in taxonomy and nomenclature.

  • It should be usable even by non-experts, so beginners and even non-birders can use it for data entry.

  • Use of a code should not be a significant source of errors.

For efficient data entry, we want to be able to bang the records into the machine quickly (minimizing mistakes, of course). Speed depends on more than just the keystroke rate. Thinking takes time too---the time it takes to think of the right code, or look it up if necessary.

A robust system should also be designed so that most errors can be detected easily, and easily corrected whenever possible. In the author's opinion, this is an argument against using the shortest possible code. Longer codes have more redundancy, so it is more likely that a user can figure out what was meant even if the code has an error in it. As an example, the English language has a lot of redundancy in it, which is a robust characteristic. We can oftxn undxrstand a sxntxncx xvxn if it contains quitx a fxw typos.

How the six-letter bird code system came about

The new coding system presented here was invented by the author for use in preparing a database of Christmas Bird Count (CBC) data. We found that using the banders' four-letter code to enter data was very frustrating, as we spent far too much time consulting the list of exceptions.

After some experimentation, we found a six-letter system to be a good tradeoff. Even though each code takes two extra keystrokes, the number of special cases went down by an order of magnitude. This greatly reduces thinking time, making the work flow more smoothly, and significantly increases the throughput measured in records per hour.

We have used these codes to enter over three million historical CBC records: all the North American and Hawaiian counts from the 1st CBC, in 1900, through the 90th CBC in 1989 (except for ten years, the 63rd-72nd counts, which were provided by Dr. Carl Bock's project at the University of Colorado). As an example, the 89th CBC, with 1523 count circles and about 115,000 records, took less than 50 hours to enter at a keying rate of about 65 words per minute. This translates to a rate of well over 2,000 records per hour.

Many refinements in this system were suggested by Greg Butcher and Jim Lowe of the Cornell Lab of Ornithology. The author greatly appreciates their contributions.

Rules for the six-letter bird code system

As with the Bird Banding Lab's four-letter codes, six-letter codes are derived by abbreviating the name of the bird. Names are not limited to standard AOU species names. Codes may be based on obsolete names (e.g., Short-billed Marsh Wren), subspecies names (Peale's Falcon), color morphs (Blue Goose), or even vague categories like "raptor" or "Empidonax sp."

  1. Birds with one-word names are abbreviated by taking the initial letters of the name:

        CANVAS  Canvasback
        RUFF    Ruff
        MURREL  murrelet
     EMPIDO  Empidonax sp.
  1. For two-word names, take the first three letters of the first word and the first three letters of the last word. Hyphenated words are always treated as separate words:

        CEDWAX  Cedar Waxwing
        LARFAL  large falcon
        STOPET  storm-petrel
  1. For three-word names, take two letters from the first word, one from the second, and three from the third:

     BABWAR  Bay-breasted Warbler
     GRPCHI  Greater Prairie-Chicken
  DABSHE  dark-backed shearwater
  1. For four or more words, take one letter each from the first three words, then the first three letters of the last word:

     GBBGUL  Great Black-backed Gull
     BCNHER  Black-crowned Night-Heron
  BTBWAR  Black-throated Blue Warbler
  1. Certain similar color names are abbreviated in standard ways: green as GRN or GN; gray as GRY or GY; black as BLK or BK; blue as BLU or BU; and brown as BRN or BN:

     BLKPHO  Black Phoebe
     GRYJAY  Gray Jay
     GNBHER  Green-backed Heron
  BNCFLY  Brown-crested Flycatcher

Collisions in the six-letter bird code system

The author checked the six-letter system for collisions by writing a computer program that applies the rules mechanically to each name, and then running the program on a file of all the species names from the current AOU Check-List.

Only nine two-way collisions were found. There were no three-way collisions. Here is a list of the collisions and their resolutions. For safety's sake, both species involved in a collision are given substitute codes.

  Wrong   Right   Name
  ------  ------  ----
  BAROWL  BRDOWL  Barred Owl
          BRNOWL  Barn Owl
  BLAWAR  BKBWAR  Blackburnian Warbler
          BKPWAR  Blackpoll Warbler
  BLUGRO  BLUGRB  Blue Grosbeak
          BLUGRS  Blue Grouse
  BRSPET  BRIPET  British Storm-Petrel
          BARPET  Band-rumped Storm-Petrel
  BTGWAR  BTNWAR  Black-throated Green Warbler
          BTYWAR  Black-throated Gray Warbler
  GOCWAR  GCHWAR  Golden-cheeked Warbler
          GCRWAR  Golden-crowned Warbler
  LESPET  LCSPET  Leach's Storm-Petrel
          LSSPET  Least Storm-Petrel
  RUTHUM  RTHHUM  Ruby-throated Hummingbird
          RTLHUM  Rufous-tailed Hummingbird
  SPOSAN  SPBSAN  Spoonbill Sandpiper
          SPTSAN  Spotted Sandpiper

Using the six-letter system with names other than standard species names leads to more collisions. Some involve obsolete names, or forms that have never been accepted on the standard checklists. These are included to allow handling of older names and names from rejected or hypothetical records.

Here is the list of all the additional collisions encountered after using this code system for over ten years of work with CBC and other field records of all kinds.

  Wrong:  Right:
  ------  ------
  BELSPA  BLDSPA  "Belding's" (Savannah) Sparrow
          BLLSPA  "Bell's" (Sage) Sparrow
  BUFBOO  MASBOO  "Blue-faced" [=Masked] Booby
          BFOBOO  Blue-footed Booby
  CATHAR  CATHAC  Catharacta sp.
          CATHUS  Catharus sp.
  COLUMB  COLBA   Columba sp.
          COLBID  columbid sp.
          COLBIN  Columbina sp.
  DENDRO  DENCYG  Dendrocygna sp.
          DENICA  Dendroica sp.
  FRINGI  FRINLA  Fringilla sp.
          FRINID  fringillid sp.
          FRININ  fringilline sp.
  HARHAW  HRLHAW  "Harlan's" (Red-tailed) Hawk
          HRSHAW  Harris' Hawk
  INHMYN  COMMYN  Indian House [=Common] Myna
          HILMYN  Indian Hill [=Hill] Myna
  PASSER  PASR    Passer sp.
          PASINA  Passerina sp.
          PASINE  passerine sp.
  PROCEL  PROCID  procellariid sp.
          PROCIF  procellariiform sp.
  WILWAR  WLSWAR  Wilson's Warbler
          WLWWAR  Willow Warbler
  YELLOW  YELLEG  yellowlegs sp.
          YELTHR  yellowthroat sp.

Note: Names starting with "Mc" or "Mac" are treated as one word. Code MAGWAR would otherwise be a collision between MacGillivray's and Magnolia warblers.


Bruce Bowman's Six-Letter Code System

Bruce Bowman's Website

The four-letter Bird Banding Lab (BBL - often called Alpha Codes) are familiar to many birders. However, this code can be very difficult to learn as there are many exceptions to the rule. Northern Michigan Birding has adopted Bruce Bowman's code system for use in the sightings database. His code system is very simple and carries very few exceptions to the rules. Read the rules of his code system below. We've also created a database for you to easily familiarize yourself with Bruce Bowman's system.

Bruce's system is applied to species included in the American Birding Association (ABA) CHECKLIST OF THE BIRDS OF THE CONTINENTAL U.S. AND CANADA (5TH ED., 1996). Standard abbreviations are based on a six-letter abbreviation scheme. Specifically, the rules given below must be followed in constructing a species abbreviation.

"Words" in a species name are those parts of the name separated by spaces or hyphens. Ex.: "Bay-breasted Warbler" has three words.


* ONE-WORD NAMES Use the first six letters, or use the entire name if it is less than six letters in length. Ex.: Canvasback = CANVAS, Sora = SORA

* TWO-WORD NAMES Use the first three letters of each word. Ex.: Wilson's Plover = WILPLO, Fish Crow = FISCRO

* THREE-WORD NAMES Use the first two letters of each word. Ex.: Great Gray Owl = GRGROW, Broad-tailed Hummingbird = BRTAHU

* FOUR-WORD NAMES Use the first letter of each of the first two words and the first two letters of each of the last two words. Ex. Black-and-white Warbler = BAWHWA, Black-crowned Night-Heron = BCNIHE

Because several instances of duplicate abbreviations result when the above rules are applied to the 917 species names in the American Birding Association Checklist, special-case abbreviations are necessary for the species listed below:


Barn Owl= BARNOW
Barred Owl= BARROW

Common Redpoll= COREDP
Common Redshank= COREDS

Blackburnian Warbler= BLBUWA
Blackpoll Warbler= BLPOWA

Green-breasted Mango= GNBRMA
Gray-breasted Martin= GYBRMA

Blue Grouse= BLGROU 
Blue Grosbeak= BLGROS

Leach's Storm-Petrel= LEACSP
Least Storm-Petrel= LEASSP

Black-throated Gray Warbler= BTGYWA 
Black-throated Green Warbler= BTGNWA

Spotted Sandpiper= SPOTSA
Spoonbill Sandpiper= SPOOSA