It appears you have Javascript turned off. You can navigate the site without Javascript, but many features will not work.

Importing BirdBase to eBird

BB2eBird™ is a Windows application program that converts your BirdBase sightings into an eBird upload format, thereby allowing those sightings to be easily imported into the eBird database.
eBird ( is a global database of bird observations that is used for science, conservation, and to keep track of bird sightings across the world. More than 200,000 people worldwide have submitted sightings to eBird to date, totaling more than 265 million observations from every country on earth. One of the most important aspects of eBird is that data are open and available, and any data that you enter in eBird are freely accessible to you, downloadable at any time for free. These data are also viewable in many various interactive formats and visualizations, from regional bar charts and global species maps, to summaries of all sightings every reported from a country. For example, here are all eBird data ever submitted from India:
BB2eBird gives you—the BirdBase user—a chance to contribute your bird sightings to this important citizen science project, enabling them to be used by ornithological researchers for decades (and even centuries) to come, informing scientific and conservation policy, land management decisions, and much more. Your contribution should not be underestimated: the valuable bird sightings that you have stored in BirdBase are inaccessible to posterity unless you make an active effort to transfer your records from BirdBase to eBird.
BB2eBird automates much of the hard part of this transfer process. You still must apply some quality control to your sightings records by visually inspecting the accuracy of some of the information, but BB2eBird does the “dog work” for you. The remainder of these instructions details the steps you need to follow in order to transfer your sightings from BirdBase to eBird.
The whole migration process is entirely free, as is everything else at eBird. The BB2eBird utility was developed as shareware by Peter Bono and has been available to the BirdBase community since 2008. Now Peter is making his program available through eBird, and, to help compensate him for his efforts, please consider providing him an optional donation.
Peter R. Bono
CGM Technology Software
PO Box 705
Yarmouth Port, MA 02675 USA
Please email your comments and questions to

A huge thanks to Peter Bono and Peter Kaestner for their help authoring and editing this article.

Step 1. Installing BB2eBird

You can obtain the BB2eBird utility from the .zip file attached to this article (scroll to the very bottom). You should specify that its contents (the executable file, bb2ebird.exe, the configuration file, birdbase.ini, and the instructions file, bb2ebird.htm) be extracted and saved in the folder holding the BirdBase program (by default, that folder is \BIRDS). Doing so will let BB2eBird be run in the folder where the BirdBase program runs, making the export process as easy as possible.

Step 2. Exporting Your Sightings Data from BirdBase

To get your sightings information out of BirdBase, you’ll use the Display function of BirdBase (from the BirdBase Main Menu) and designate “Data exchange file” as the Output Format. You may use the various options on the Display Menu to select which collection of sightings records you want to export into a data exchange file.
Collections in BirdBase can be as small as sightings from a single range of dates in one US state or can be as large as all your sightings from the whole world (BirdBase code WW). You might want to start small, limiting your initial conversion effort to one country. For example, to get all your Mexican sightings into one file, you would perform the following steps:
  1. After starting BirdBase; you will see the BirdBase Main Menu:
  2. Click on Display.  In the window that pops up, select “Limitations as specified below” as the List Type;
    check the Geographic checkbox in the “Sightings Limitations” section; select “1-1-50” as the earliest date and “12-31-49” as the latest date; and set “Data exchange file” as the Output Destination.  You should see a screen similar to this:
  3. After clicking the OK button, the Geographic Limitation window will pop up. Enter MX in the Geographic Limit dropdown box and push the Tab key;  MX will be expanded to “Mexico” and you will see this:
  4. After clicking the OK button, the File Name Entry window will pop up. Enter a file name following the rules specified in the window.
    Note:  If you use DAT as the file extension, your file will be easier to find when you use BB2eBird (see next section for instructions on running BB2eBird).
    For this example (your Mexican life sightings), we will use MXLIFE.DAT as the Data Exchange File Name.  You should see something like this:
  5. Click on the OK button.  If a file with that name already exists, you will be asked to confirm that it is okay to replace it.
When BirdBase is finished, it will display an Information message box like this:

Note: This means that this new file will be in whatever folder the BirdBase application is running from; by default, this is \BIRDS
Click OK one last time, and you will be returned to the BirdBase Main Menu.

Further advice on exporting your sightings from BirdBase:

  • If you try to export too many sightings, your DAT file might be too large for you to easily review and edit during subsequent steps in this process. 

  • More than 64,000 sightings is definitely “too large”.
  • We suggest that your DAT files contain no more than a few thousand sightings, if these sightings are from many different locations.
  • If you have tens of thousands of records from just a few locations, as you might if you birded extensively in your home county, then importing them all at once would be a good idea.

Step 3.  Running BB2eBird

  1. BB2eBird is a Windows application. Use Windows Explorer, My Computer, or Computer (depending on your version of Windows) to navigate to the folder where you placed the BB2eBird.exe file, and double click that file.  You should see this window:
  2. Click on File>Open. Then navigate to the BirdBase data exchange file containing the collection of sightings you want to convert.  You should see something like this:
     Click on Open.  You will be returned to the Main Menu.
  3. Click on File>Create CSV. Your eBird Record Format (Extended) file will be saved into the same folder where your BirdBase data exchange file is located.
    The eBird Record Format (Extended) file will have the same filename, but its file extension will be CSV.  You will get a confirmation message like:

    Click on OK to return to the Main Menu.
  4. Click on File>Exit to close BB2eBird.

Step 4.  Checking the Quality of your Sightings Records before Importing to eBird

Follow these steps:
a) Open the CSV with Excel (or some other spreadsheet program) and sort all the rows first by column I (date), then by column F (location), then (optionally) by column A (species).  The sort screen might look something like this:

b) While still in Excel, compare column D (which gives the count of the species seen) with column E (the comment associated with the sightings record). While the BB2eBird program tries determine the correct number of individuals seen, the program can still be confused if the sightings comment spells out numbers, contains other numbers (like 10km or 50x or 3500masl), or contains other references to numbers.  When you find a discrepancy, simply change the value in column D to reflect the number of individuals seen for that sightings record. Use an "X" in column D (instead of an integer) if you don't know the count of individuals and if you just want to indicate that the bird was seen or heard.

c) Change all occurrences of “casual” in column M to “p62”.  There was no “historical” protocol in eBird when BB2eBird was written, so the “casual” protocol was specified.  However, “p62” in Column M indicates that these sightings should be entered as historical sightings.

d) (Optional) While still in Excel, you can compare the locations in column F. You might find that you have different spellings for the same location. E.g., "Yosemite NP", "Yosemite National Park", and “Yosemite” on trips made on different dates. You can change one of them to be identical to all the others, so that identical locations are spelled the same. This step is not strictly necessary, but it reduces your effort later when your sightings have been uploaded to eBird.

e) (Optional) If you know of any changes in taxonomy between the current eBird and your version of BirdBase, make your changes by editing Column A of the CSV file.  For example, "Rock Pigeon" should be changed either to "Rock Pigeon (Feral Pigeon)" or to "Rock Pigeon (Wild type)".  See the discussion in Step 6a below for the reasons why you might want to make this change before importing your sightings file into eBird.  Making your species name edits BEFORE importing will save you lots of time making species fixes later in eBird AFTER uploading.

f) Save the file from your spreadsheet program. The now-revised and newly-sorted CSV file is the file you will upload into eBird. 

Step 5 – Importing Your Data into eBird

  1. Log into eBird and choose “Submit Observations.”
  2. Choose “Import Data.”
  3. Select your export file (see above) and choose “eBird Record Format (Extended)."
If you receive an error message, correct the errors and repeat the process.  In my case, I had used some distant future dates for some of my “list only” records.  eBird won’t accept future dates, so my initial import was rejected.  I went into the export spreadsheet and did a “find and replace” to replace all of those dates with January 1, 1900, per eBird recommendations.

A potential error will be a mis-matched country code—BirdBase uses some different codes than eBird for countries. If you get this error, you can download the list of eBird Country Codes here: Country Codes. For a list of differing BirdBase codes, please see this article.

eBird will take all of your data and create a unique “checklist” for each unique date and location combination.  eBird will initially ask you to “Submit” all of the checklists that it deems “ready to be submitted.”  This means that eBird recognized all of the taxa as currently valid and all of the locations as corresponding to existing eBird locations.  Go ahead and submit these; this is the easy part.

Step 6 – Cleaning Up Your Imported Checklists

At this point, you will see something like this:
The remainder of the process involves fixing all of these issues.  Please note two things that apply to both categories of fixes.  First, do not accidentally click the “delete” link beside any entry unless you really mean it.  There is no “Are you sure?” prompt, so you will not get a second chance if you delete one of these items.  You will have no choice but to resubmit all of those entries if you need them.

Second, please note that, once you have chosen the species or location fix, you MUST click “Apply Fixes” at the bottom of the screen. If you don’t, eBird may not retain those fixes and you will have to re-select them.  If you have a large volume of fixes, I recommend periodically clicking on this button as you work through the fixes.  This is essentially “saving” your work, and also the “fixed” species and locations will be removed from the list, so you’ll see visible signs of progress along the way as the list of fixes becomes smaller.

Step 6a – Fix Species

I suggest fixing species first, because it’s considerably easier and less time consuming.  You’ll see something like this:

Like me, you may be puzzled by the “Rock Pigeon” matches “Rock Pigeon” line. I subsequently discovered that eBird has separate entries for the old world, native Rock Pigeons and the new world feral Rock Pigeons.  However, this screen won’t readily allow you to sort this out, unless all of your records happen to relate to one or the other.  In my case, I had a mixture of both, and unfortunately, I was unable to find a “global” way to fix it.  I eventually had eBird list all of my records of Rock Pigeon and had to manually change all of the new world checklists to “Rock Pigeon (feral type).” [Team eBird note: If you change these before upload, the process is much easier!]

For the rest, you just select “choose species” and select the appropriate taxa for your sighting.  Often, the apparent mismatch is the result of a name change; unless the common name and the scientific name from BirdBase both match the current eBird taxonomy, eBird will ask you to “fix” the species.  For example, the scientific name for Sooty Shearwater is now Ardenna grisea, and eBird wasn’t able to make that connection.  The vast majority of my species “fixes” fell into this category. [Team eBird note: If you don't include the Latin names in your upload, and the Common Names match, you won't be prompted to correct species like Sooty Shearwater. Just be sure that your Common Name is the right one according to the eBird Taxonomy!]

If you have instances where the records may actually relate to more than one eBird taxon, then you will have to pick one or the other here and then go fix them checklist by checklist.  Obviously, you should “default” to the one that is likely to appear on more checklists.

If you are unsure what to do, simply click “choose species” and start typing the name into the search field.  For example, I knew that Black-mandibled Toucan had been lumped, but was not sure if the combined species name.  I typed “Black-mandibled” into the search field and immediately saw “Yellow-throated Toucan (Black-mandibled) - Ramphastos ambiguus ambiguus/abbreviatus.”

Remember, when you are done, you must click “Apply fixes” at the bottom of the screen to save your work.

Step 6b – Fix Locations

For me, this was the part the required the most time and effort.  eBird will present you with a view sorted according to the number of affected checklists.  For my records, location-fixing fell into two general categories:  specific locations and general locations.  I had a number of records that were identifed only at the city, county, state, or, in a few cases, country level.  Those are the easiest to fix.  When you click on “choose location” you’ll be taken to a screen asking you to match your BirdBase location name to an eBird location name. For general locations, choose “Find it by city, county, or state” and then choose the appropriate level of specificity.

The specific locations will likely require more work, both because the level of effort to associate them with an eBird location is greater, and because there tend to be a lot more of them.  If you have an existing location in your list of “My Locations” that you know corresponds, then you simply select that location.  Similarly, if you happen to have precise GPS coordinates, you can search by that method and identify an appropriate hotspot or create a personal location.

If neither of those options is available, then you have to use “Find it on a map” and attempt to search for the right location. Note that the “search” feature on the map screen only searches Google maps location; it does not search eBird hotspots.  Map searching can be a fairly tedious exercise for this reason; there might be an eBird hotspot location with the name you need, but if you don’t know where precisely to look and it doesn’t correspond to something searchable via Google maps, then it may take some time to find it. On several occasions, I found myself doing Google searches in an effort to find more information about a birding location to inform my search.  For example, the town of Afluente is a well-known birding stop in northern Peru near Abra Patricia.  Finding it on the map was quite a challenge, and only by working my way out from other locations that I knew to be near it was I able to find the right hotspot (which is called “Bosque de Protección Alto Mayo--Llanteria/Afluente vicinity (km 389-391)).

Another technique that might help is to go back to the “Find it by city, county, or state” tool, enter as much information as you know, and make sure the “Show me Birding Hotspots in the area” option is checked.  Then, on the next screen, you can scroll through a list of hotspots in that area in the hopes that one may look right.  I also found a number of instances where the eBird hotspot used a different name than the one by which I knew the location; sometimes this was due to language differences (e.g. Spanish language names in South America), and sometimes this was due to alternate names for the location.  For example, there is no eBird hotspot for “Rudong,” a well-known birding location in China, but there is a hotspot for “Yangkou,” which appears to be the tidal flat area in the Rudong area that is most well-known to birders.

Note that some map searches on eBird only show hotspots for the area you search.  If your search was for a particular county, in some cases you may only see hotspots in that county.  If you move around the map to another county and don’t see the right hotspot, it may not be because there isn’t one.  Try a different search focused on that neighboring county.

Step 6c – Cleaning Up Your “Life List” Records

If you have some “list only” records, where you just have the fact that you saw a species but not really anything else, then your next step is to find them, change all of their dates to January 1, 1900, then hide them from eBird output (because they are not technically “valid” records), following these methods. If you adhered to my earlier advice to ensure that you can uniquely identify those records either by date, location, or a unique combination thereof, then you need to locate and edit each one of those checklists.  As previously noted, eBird will create a separate “checklist” for each unique location/date combination.  If, like me, all of your “list only” records were dated January 1, 1930, then all you have to do is go to “Manage My Checklists” and then sort by “Date” so that your oldest checklists appear first.  Then, edit each checklist to change the date to January 1, 1900 and to check the “Hide from eBird Output” option.  That option automatically “invalidates” the records such that they do not show up on maps, bar charts, etc.  However, they DO still appear on your lists and your list totals.

If you are trying to upload more than 250 species in a single checklist, you will have to either manually enter the list in eBird, or break it up into multiple lists, all using the Life List Guidelines.  

Step 6d – Taxonomy Cleanup

The last cleanup step is to review all of the major taxonomy updates since the last time you updated your taxonomy in BirdBase.  Probably the easiest resource for this is the annual eBird taxonomy updates.  Go back as far as you need, and then skim through the relevant updates, looking for places where you might have lumps or splits that might need to be tidied up.  Unlike when you input a checklist directly, when you import a checklist into eBird, eBird does not alert you to records that are rare or unusual; either you or an eBird reviewer will have to find them.

If you are not sure if an update might have impacted you, go to your “My eBird” screen and click on “Your Life List.”  You can then do a text search to see if that species appears on your eBird list.  If it does, you can click on that species to see all of your records for that species, and evaluate from there whether you need to make a change.  If you are unsure, one good starting point is to check the relevant checklist to see if that species is flagged as “rare.”  If it is, and in particular if you see the split taxa also listed as not rare, you probably need to update your list.  If you miss a few, then likely the eBird reviewers will catch it, but it may take time.  In my case, some reviewers contacted me almost instantly.

Optional Step – Removing Duplicate Lists

If you have using both BirdBase and eBird together, then you will likely have a number of duplicated checklists as a result of this global export.  It is relatively easy to go to “Manage My Checklists,” list all of your checklists, and scroll through them looking for duplicates.  Typically, if you follow eBird protocols, your “global export” checklist will be listed as an “historical” observation and your original list will be listed by some other protocol, so it is usually easy to identify the duplicate and delete it.  I listed this step as optional, because I have not done it yet and have thus far seen no problems from it.

Hopefully, at the end of this process, you’ll find that you can finally put BirdBase to rest and use eBird solely for data entry going forward.

Related Files
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found