ABA 4-letter bird codes (also called "alpha codes") are four-character abbreviations for bird species, built from the English common name of each species. For example, the Northern Cardinal becomes NOCA, the American Robin becomes AMRO, and the Red-tailed Hawk becomes RTHA. They are the shorthand system used by birders, banders, and checklist keepers across North America to refer to species quickly and consistently without writing out full common names.
ABA 4 Letter Bird Codes: How to Find and Use Them
What 'ABA 4-letter bird codes' usually means
When most people search this phrase, they want one of two things: either the actual list of codes, or help figuring out what code applies to a specific bird. But there is a wrinkle worth knowing up front. The ABA (American Birding Association) publishes its Checklist with a four-letter alpha code column, but the codes themselves follow the English names set by the AOS (American Ornithological Society), the body formed in 2016 from the merger of the old AOU and COS. The standardized four-letter system is also maintained separately by the Institute for Bird Populations (IBP) at birdpop.org, which is the most commonly referenced lookup hub.
Here is where beginners get tripped up: the ABA Checklist also uses a completely different numbering system for occurrence rarity, with labels like Code 1 (regular), Code 4 (casual), and so on. Those rarity codes are entirely separate from the four-letter alpha abbreviations. When someone says "NOCA is the ABA code for Northern Cardinal," they mean the alpha code, not the rarity designation. Keep those two systems mentally separate and you will avoid a lot of confusion.
How the codes are built (and why that matters for reading them)

The construction rules are straightforward for most species, and once you know them you can often guess a code correctly. For a one-word common name, you take the first four letters: Wren becomes WREN, Loon becomes LOON. A common 5-letter bird name example in everyday birding would be American Robin. For a two-word name, you take the first two letters of each word: American Robin = AM + RO = AMRO. For a three-word name, you take the first letter of the first two words and the first two letters of the last: Red-tailed Hawk = R + T + HA = RTHA. If you are wondering which species has a three-letter name, you are probably mixing this abbreviation system with another code format three-word name. If you are comparing longer bird common names, you may also come across many bird names that have 9 letters, which can affect how abbreviations are constructed Red-tailed Hawk. Four-word names get one letter from each word.
Hyphenated names are treated as separate words under the rules. Black-capped Chickadee becomes BCCH (B from Black, C from capped, CH from Chickadee). This is where the logic can feel a bit counterintuitive, especially for species with long compound names. The Pyle and DeSante (2003) rules paper is the formal specification if you ever need to get deep into edge cases.
The catch is collisions. When two species would generate the exact same four-letter string, one of them gets a modified code. The classic example is Canada Goose and Cackling Goose: both would derive CAGO under the base rules, so one gets a modified version. This means you cannot always trust a code you derived by hand. You need to verify against a lookup table, which is why the reference resources exist.
A sample of common codes to get your bearings
| Common Name | 4-Letter Code | Scientific Name | Code Logic |
|---|---|---|---|
| American Robin | AMRO | Turdus migratorius | AM(erican) RO(bin) |
| Northern Cardinal | NOCA | Cardinalis cardinalis | NO(rthern) CA(rdinal) |
| Red-tailed Hawk | RTHA | Buteo jamaicensis | R(ed) T(ailed) HA(wk) |
| Black-capped Chickadee | BCCH | Poecile atricapillus | B(lack) C(apped) CH(ickadee) |
| Canada Goose | CANG | Branta canadensis | Modified to avoid collision |
| Cackling Goose | CACG | Branta hutchinsii | Modified to avoid collision |
| Downy Woodpecker | DOWO | Dryobates pubescens | DO(wny) WO(odpecker) |
| American Goldfinch | AMGO | Spinus tristis | AM(erican) GO(ldfinch) |
| Song Sparrow | SOSP | Melospiza melodia | SO(ng) SP(arrow) |
| Bald Eagle | BAEA | Haliaeetus leucocephalus | BA(ld) EA(gle) |
Notice that Canada Goose is CANG, not CAGO. That is the collision fix in action. If you had assumed CAGO and used it in a checklist, you would have the wrong code. Always verify species that share obvious abbreviation territory with a close relative.
How to look up the right code for any species

The most reliable starting point is birdpop.org, which hosts IBP's downloadable PDFs mapping English common names to four-letter codes, plus a parallel set using scientific names. If you know the common name, use the English-name PDF. If you are working from a scientific name (say, you found a species in a Latin-tagged dataset), use the scientific-name PDF to confirm you have the right species before grabbing its four-letter code.
The ABA Checklist itself (available as a downloadable PDF or CSV from the ABA website) includes a four-letter code column right alongside the common name and scientific name columns. The CSV version is especially useful because you can search it instantly in a spreadsheet. The ABA explicitly states in its Checklist documentation that "four-letter alpha codes follow the English names of the AOS," so the AOS taxonomy is the underlying authority.
- Go to birdpop.org or download the ABA Checklist CSV for a full lookup table.
- Search by the exact current AOS English common name (spelling matters, including hyphens).
- Cross-check the scientific name in the same row to confirm you have the right species.
- If the species has been split or lumped recently, check for updated AOS supplement notes, because the common name (and therefore the code) may have changed.
- When in doubt, verify using eBird's species URL pattern: try https://ebird.org/species/[code] to see if the code resolves to the right bird page.
Using scientific names to double-check your work
Scientific names are your verification layer, not your starting point for building a four-letter code (those codes come from common names only). But because common names change, sometimes the code you find in an older reference will be stale. If you search by scientific name in the birdpop table, you can confirm which current English name is attached to that species, then derive or verify the correct four-letter code from there. eBird support explicitly warns that scientific names can change nearly as often as common names, particularly after taxonomic splits, so do not assume either name is static.
Using alpha codes in checklists, field notes, and eBird-style workflows
In practice, four-letter codes are most useful in three scenarios: handwritten field notes where speed matters, spreadsheet-based life lists or trip lists, and data entry in platforms like eBird. eBird's data entry actually recognizes four-letter codes directly. When you type a code like AMRO into the species field, it auto-resolves to American Robin. eBird calls this "banding code data entry," which is another name for the same alpha-code system.
For spreadsheet-based checklists, the ABA CSV is the cleanest starting point. You can copy the code and common-name columns, then build your personal trip list or regional checklist using codes as the primary key, with the full name as a readable label. This matters because if you sort or filter by code, species from the same genus often cluster usefully together (though not always, since the code comes from the English name, not the Latin one).
One practical tip: if you are compiling lists across multiple sources (a club report, a banding station summary, and your own eBird data, for example), codes make merging easier than full names because there is no ambiguity from spelling variations or regional name preferences. As long as everyone is using the current AOS-based codes, NOCA is always Northern Cardinal, full stop.
Common mix-ups and how to untangle them

There are a handful of confusion points that come up repeatedly, and knowing them in advance saves real headaches.
Alpha codes vs. banding codes
The four-letter alpha code system and "banding codes" refer to the same thing. Banding stations and bird observatories have used these codes for decades, so you will see both terms in the wild. If a source says "banding code," it means the same four-letter alpha code based on the English common name. There is no separate banding code system to worry about.
Four-letter codes vs. six-letter codes
The six-letter codes are built from scientific names, not common names, and are used in a separate (though complementary) system. So American Robin is AMRO in the four-letter system, but Turdus migratorius generates TURMI (or similar) in the six-letter system. The birdpop reference provides both sets in parallel, which is useful for cross-referencing. If you see a six-character code, it is a scientific-name code, not a variant of the four-letter system.
ABA rarity codes vs. alpha codes
The ABA Checklist assigns rarity categories labeled Code 1 through Code 6 (and sometimes beyond) to indicate how regularly a species occurs in the ABA area. These are completely unrelated to the four-letter alpha abbreviations. Searching for "ABA Code 4" might mean you want the rarity designation for casual visitors, or it might mean you want four-letter species abbreviations. This article is about the latter, but be aware that the phrase "ABA code" is genuinely ambiguous in birding conversation.
When a split or lump changes the code
Taxonomy updates from the AOS (published annually as checklist supplements) can rename, split, or lump species. When a species gets a new English name, its four-letter code changes too. The IBP updates the birdpop reference to reflect AOS changes through the most recent supplements. If your code does not match what a current source shows, check whether the species has been renamed in a recent AOS supplement. The ABA Checklist is updated to follow AOS decisions, so the ABA CSV is a good source of truth for the current code.
Collisions with similar species names

Species with very similar common names are the most likely to have collision-adjusted codes. Greater and Lesser Yellowlegs, for example, are a classic pair to double-check. Any time you are working with confusingly similar species (shorebirds, sparrows, flycatchers), verify the codes explicitly rather than assuming you can derive them safely by hand.
The naming and etymology angle: why common names matter for getting codes right
Because the four-letter code is built directly from the English common name, understanding how bird common names are structured actually helps you use the code system more confidently. Most English bird names follow a clear pattern: a modifier (color, habitat, behavior, or geography) plus a group name. Red-tailed Hawk tells you color plus feature plus group. Black-capped Chickadee tells you color plus feature plus group. Recognizing that structure helps you parse which words are being abbreviated and catch errors in derived codes.
Scientific names add another layer of confirmation. If you are not sure whether you have the right species, looking at the Latin name's meaning often resolves it quickly. Turdus migratorius means "migratory thrush," which is exactly what an American Robin is (it is a true thrush, despite the "robin" name borrowed from the European Robin by early settlers who saw a superficial resemblance). Knowing that helps you recognize you have the right bird even if the common name feels unfamiliar from a different regional context.
The AOS English Common Names Project actively curates these names, which is why staying current with AOS supplements matters so much. A name change is not just trivia. It directly updates the code. The AOS was formed in 2016 from the merger of the American Ornithological Union (AOU) and the Cooper Ornithological Society (COS), and it has been the single English-name authority for North American birds since then. When the AOS changes a name, the ABA follows, and the code follows from that.
Using bird codes and names when naming a pet bird
If you landed here partly because you want to name a pet bird and found alpha codes along the way, here is a genuinely useful application: the four-letter codes, and especially the common and scientific names behind them, are a rich source of distinctive, meaningful pet names. AMGO for American Goldfinch could inspire the pet name "Goldie" or "Amara." But digging one layer deeper into the scientific name often yields something more original and memorable.
Spinus tristis (American Goldfinch) means "sorrowful finch" in Latin, which is darkly funny given how cheerful the bird looks. Cardinalis cardinalis (Northern Cardinal) is named for the red robes of Catholic cardinals. Haliaeetus leucocephalus (Bald Eagle) means "white-headed sea eagle." Any of those translations make excellent, conversation-worthy pet names: Tristis, Cardinalis, Leucos, or just Leo for short. If your site covers bird etymology more broadly, the same approach applies whether you are naming a budgie, a cockatoo, or a rescued crow.
For pet owners specifically: if your bird is a domesticated species (parakeet, cockatiel, lovebird), look up its wild ancestor's scientific name and translate it. Melopsittacus undulatus, the budgerigar, means "song parrot with wavy lines" in Greek and Latin. Nymphicus hollandicus, the cockatiel, means "New Holland nymph." Both make lovely, layered names that connect your pet to its wild heritage in a way that BUDG or COCK never could.
Quick-reference steps for your next lookup
- Download the ABA Checklist CSV from the ABA website or the birdpop.org alpha codes PDF. Keep it somewhere you can search quickly.
- Search by the exact current AOS English common name, including hyphens and capitalization as written.
- Read across the row to confirm the scientific name matches the species you intend.
- Note the four-letter code in that row. Do not hand-derive it unless you are comfortable with collision rules.
- If the code does not resolve correctly in eBird, check whether the species has been split, lumped, or renamed in a recent AOS supplement.
- For a quick sanity check, try the eBird species URL pattern (ebird.org/species/[your code]) to confirm the code maps to the right bird page.
- If you are merging checklists from multiple sources, standardize all codes to the current AOS-based IBP set before combining data.
The four-letter code system is genuinely elegant once you understand how it is constructed and where to verify it. The biggest practical habit to build is checking the current lookup table rather than trusting a hand-derived code, especially for any species that shares its name prefix with a close relative. Keep the birdpop reference and the ABA CSV bookmarked, stay aware of annual AOS updates, and the codes will be a consistent, reliable shorthand for everything from field notes to eBird data entry.
FAQ
How can I tell if a source is asking for the four-letter alpha code or an ABA rarity code like “Code 4”?
Use the four-letter alpha code only in the species field, not the occurrence rarity field. If a platform shows both “species code” and “rarity code” or “ABA Code,” they are different systems, so a code like “Code 4” (casual) should not replace a four-letter species abbreviation (like NOCA).
If I have a scientific-name code (six characters), can I convert it to the four-letter ABA alpha code?
No. If you have a scientific-name code such as TURMI, that belongs to a separate scheme built from Latin names and it does not convert into the four-letter English common name code. The reliable path is scientific name, confirm the current English common name via the lookup table, then use that English name to get the four-letter code.
What’s the correct way to type 4-letter codes in eBird or spreadsheets, and do spaces or capitalization matter?
Treat the code as case-insensitive when typing, but keep the letters exactly four characters. For example, “amro” should resolve the same as “AMRO” in tools that accept banding code entry, but “AMRO ” (extra space) or “AMRO1” will not match.
When is it risky to trust a code I derived by hand from the common name?
Derive-or-guessing works most of the time, but you should verify when names are close relatives, share long prefixes, or differ by just one word. Collisions are common with similar common names, so when two species could both plausibly map to the same four-letter string, confirm with the current table.
My spreadsheet uses an older code, how do I know if AOS updates changed it?
Yes, when the common name changes. If you are using an older checklist, a code may be outdated after AOS updates that rename or re-split species. Compare against the current ABA CSV or the current birdpop PDF before merging or matching with newer data.
How can I standardize codes when my source list uses regional or older common names?
Yes. If your dataset was collected with older name spellings or regional conventions, you can still reconcile by translating each scientific name to the current English common name and then applying the corresponding four-letter code. This avoids errors caused by assuming the common name text will match today.
How do I handle hyphenated bird names when building or checking a four-letter code?
For hyphenated names, follow the “words” rule rather than the punctuation. Split the name into words at the hyphen, then take letters from each word segment using the same word-based abbreviation logic described in the article, then verify because collisions can still occur.
If a four-letter code doesn’t match anything, what’s the fastest troubleshooting workflow?
If your derived code doesn’t resolve in a tool, don’t keep guessing. First verify the English common name spelling, then check for close relatives that create collision-adjusted codes, and finally confirm in the current lookup table before updating your record.
What’s the best way to merge bird checklists from different years or organizations without mismatching codes?
If you are merging multiple sources, use the four-letter code as the primary key only after confirming everyone is using the same current lookup basis (AOS-based). If one source used older taxonomy, you may need a remap step so that each record’s species is re-labeled with the current code set.
Should I store only the four-letter code in a spreadsheet, or also store the bird name for future-proofing?
Four-letter codes can be used as compact labels, but for auditing you should keep at least the full common name in your spreadsheet. That way, if you later need to explain results or handle a name change, you can re-derive or re-lookup the code without guessing what “CANG” corresponded to at the time.
Citations
The ABA Checklist page states that the ABA Checklist is updated based on taxonomic, naming, and linear-sequence changes reported by the American Ornithological Society (AOS), and it provides downloadable formats (including PDF/CSV) for the current ABA Checklist.
ABA Checklist (downloadable formats) - https://www.aba.org/aba-checklist/
In the ABA Checklist PDF, ABA states that the “four-letter Alpha codes follow the English Names of the AOS,” and the document explicitly notes the ABA Checklist is a copyrighted work.
ABA Checklist Version 8.16 PDF - https://www.aba.org/wp-content/uploads/2020/03/ABA_Checklist-8.16.pdf
An ABA Checklist “numbers” PDF includes tabular listings with a four-letter code column alongside common names and scientific names (demonstrating that the four-letter alpha codes are part of the ABA Checklist data model).
ABA Checklist Version 8.0.7 numbers PDF (example listing shows columns) - https://www.aba.org/wp-content/uploads/2020/03/ABA_Checklist-8.0.7.numbers.pdf
An ABA-published article (“American Birding,” NAB 71-2) discusses that ABA has developed a coding system and includes discussion of “Four-letter Alpha Codes” (including a timeline reference: ABA indicates a four-letter alpha-code development step around 2017 at the request of ABA members).
ABA Checklist Version 8.16 (code updates context) - https://www.aba.org/wp-content/uploads/2021/01/NAB-71-2.pdf
The ABA Checklist page includes information about code categories (e.g., Code-4: Casual) and indicates the ABA Checklist has code-based status designations separate from the four-letter alpha abbreviations.
ABA Checklist Page (context: codes and ABA checklist labels) - https://www.aba.org/aba-checklist/
Birdpop.org explains that, beginning in 2003, IBP developed standardized alpha codes: four-letter codes derived from English common names and six-letter codes derived from scientific names, reflecting modern AOU/AOS taxonomy updates (and the page is presented as a centralized reference source for those alpha codes).
Birdpop.org — Standardized 4- and 6-letter Bird Species (“Alpha“) Codes (overview) - https://www.birdpop.org/pages/birdSpeciesCodes.php
Birdpop provides a downloadable PDF mapping of English common names to four-letter alpha codes and includes the associated scientific-name six-letter codes in the same dataset (a practical ‘full table’ reference for lookup and verification).
Birdpop.org — Alpha codes (English-name-based) PDF - https://birdpop.org/docs/misc/Alpha_codes_eng.pdf
Birdpop provides a separate downloadable PDF focused on the scientific-name side of the alpha-code system, supporting verification of which six-letter scientific-code corresponds to a species’ scientific name.
Birdpop.org — Alpha codes (scientific-name-based) PDF - https://birdpop.org/docs/misc/Alpha_codes_sci.pdf
ABA’s ABA Checklist PDF includes the convention that the four-letter alpha codes “follow the English Names of the AOS,” which implies the code generation is tied to the AOS English-name text (so using updated AOS English names matters for correct code selection).
ABA Checklist Version 8.16 PDF — explicit convention statement - https://www.aba.org/wp-content/uploads/2020/03/ABA_Checklist-8.16.pdf
Birdpop states the alpha-code sets were created to reflect current taxonomy/nomenclature decisions in AOU/AOS supplements (AOS 2017–2025 in that description), which affects code lookups after splits/lumps and name changes.
Birdpop.org — Standardized 4- and 6-letter Bird Species (“Alpha“) Codes (why updated) - https://www.birdpop.org/pages/birdSpeciesCodes.php
Pyle & DeSante (2003) is an authoritative rules-style document that describes the four-letter (English-name) and six-letter (scientific-name) alpha-code construction guidelines used in the standardized system referenced by birdpop.org.
Institute for Bird Populations — Pyle & DeSante 2003 four- & six-letter alpha codes (rules paper PDF) - https://www.birdpop.org/docs/pubs/Pyle_and_DeSante_2003_Four_Letter_and_Six_Letter_NABB_Alpha_Codes.pdf
The Carolina Bird Club page documents detailed alpha-code construction rules (including special handling for hyphenated/multiword common names) and notes collision/uniqueness complications with examples, which is directly relevant for avoiding incorrect four-letter code derivations.
Carolina Bird Club — Alpha/banding code construction notes - https://www.carolinabirdclub.org/misc/bandcodes.html
The ‘Bird codes’ page summarizes that standardized 4-letter and 6-letter alpha codes exist for North America, derived from English common names (4-letter) and scientific names (6-letter), and it mentions that complications like collisions can occur.
Wikipedia — Bird codes overview (high-level distinction between 4- and 6-letter alpha codes) - https://en.wikipedia.org/wiki/Bird_codes
eBird’s help center states that scientific names change and are not unique to a given species/population (relative to common names), and it also explicitly notes that entering “4-letter codes” reveals quick code entry plus “banding code data entry” behavior in eBird.
eBird Support — Bird Names in eBird (scientific names, split/lump behavior, and mentions 4-letter codes + banding code) - https://support.ebird.org/en/support/solutions/articles/48000804865-bird-names-in-ebird
eBird Science explains that eBird maintains a hierarchical eBird Taxonomy for listing and data-entry, and that taxonomy updates align with Clements updates (important for understanding why a code might appear “wrong” when compared across different checklists).
eBird Science — The eBird Taxonomy - https://science.ebird.org/me/use-ebird-data/the-ebird-taxonomy
The auk package documentation describes a lookup approach that can accept common names, scientific names, or species codes and converts/checks them against the official eBird taxonomy, providing a practical workflow to prevent species/code mismatches.
Auk (Cornell Lab) — ‘lookup species … species codes’ tool doc (common/scientific/species-code conversion) - https://cornelllabofornithology.github.io/auk/reference/ebird_species.html
The ebirdst ‘get_species’ documentation states that it returns eBird’s 6-letter species codes when given species codes, common names, and/or scientific names—supporting automated ‘conversion’ workflows for consistent coding.
ebirdst (eBird tools) — get_species returns 6-letter eBird species codes - https://ebird.github.io/ebirdst/reference/get_species.html
eBird Workshop materials describe an operational lookup pattern: to look up a common name/scientific name, try appending a species code to the `https://ebird.org/species/` URL (useful for verification).
eBird Workshop (ROC) — species code URL pattern - https://ebird.github.io/ebird-workshop-roc/ebird.html
ABA’s Checklist page distinguishes between checklist occurrence/status coding (e.g., Code-4: Casual) and other checklist data fields like alpha codes—helpful to prevent beginner confusion where ‘ABA codes’ could be misread as the four-letter species abbreviations.
ABA Checklist — status codes vs alpha codes (separation of concepts) - https://www.aba.org/aba-checklist/
Big Year Birding describes ‘bird codes’/alpha codes as four-letter and six-letter abbreviations used by birders and banders, and it notes the six-letter code derives from scientific names—useful as a beginner-facing cross-check reminder that multiple code systems exist.
Big Year Birding — Bird Code Lookup (general ‘bird banding codes’ context) - https://www.bigyearbirding.com/bird-code-lookup/
A regional ornithology club page defines an observation code scheme (including Code-4 as ‘Casual’) illustrating how ‘code-4’ can mean different things outside the ABA checklist context; this is a common source of confusion for beginners.
Bird Observation Codes (example local club “code-4” observation meanings; not ABA alpha codes) - https://dvoc.org/birding/other-resources/bird-observation-codes/
Wikipedia notes collisions can occur in alpha-code systems (example given: Canada goose and cackling goose both would derive CAGO under base rules), underscoring why you must verify by lookup table rather than assume the code is always uniquely derivable.
Wikipedia — Bird codes (collision issue example like CAGO vs Canada goose / cackling goose) - https://en.wikipedia.org/wiki/Bird_codes
Birdpop’s alpha codes are described as for use by North and Central American and Caribbean ornithologists and tied to AOS/AOU taxonomy and nomenclature through time, which affects how readers should interpret consistency across regions/tools.
Birdpop.org — Standardized 4- and 6-letter alpha codes (north/central/caribbean context) - https://www.birdpop.org/pages/birdSpeciesCodes.php
The Carolina Bird Club page warns that four-letter codes are often used incorrectly as shorthand for bird names and highlights that multiple code standards and update practices exist, which can lead to wrong-code selection if readers assume one uniform system.
Carolina Bird Club — Four-letter codes caution & collisions/uniqueness handling notes - https://www.carolinabirdclub.org/bandcodes.html
eBird help notes that scientific names can change almost as much as, or more than, common names and that eBird may split vs lump relative to other checklists; this directly affects mapping from name → code.
eBird Support — Extrapolation: be careful scientific names change as much/more than common names (and split/lump formatting) - https://support.ebird.org/en/support/solutions/articles/48000804865-bird-names-in-ebird
The American Ornithological Society (AOS) maintains an English common-names project, indicating that common names are actively curated/changed—important because ABA-style four-letter codes depend on the AOS English names.
AOS — English Common Names Project (AOS involvement in common-name changes) - https://americanornithology.org/about/english-bird-names-project/
AOS’s ‘About’ page states the AOS was formed in 2016 by the merger of AOU and COS, situating the AOS as the current authority behind checklist English-name/taxonomy changes that feed into ABA coding.
AOS — About (confirms AOS is the organization formed via AOU/COS merger) - https://americanornithology.org/about/

