How to bulk/batch annotate your own observations

There is currently no direct option to bulk annotate your own observations, either during or after upload. However, there is a workaround that uses the fact that many observation fields are mapped to annotations. For example, if you fill out the field Animal Sign and Song with the value Scat, then the annotation Evidence of Presence with automatically fill with the value Scat.

To bulk add annotations on the web uploader, select only the photos you wish to annotate, then fill out the Fields section.

To bulk add annotations on your existing observations, go to your Edit Observations page ( You can search/filter and change the number per page to help find the ones you want, then choose Batch Edit.


Select the observations you want to annotate, then choose Edit Selected.


Open Batch Operations and More Fields, then type in the box labeled Add a Field. Add the value for the field and then click Apply fields.

When you’re done adding fields, go to the bottom of the page and Save All.

The code that translates observations fields to annotations is here and here and can currently be summarized as follows:

  • Sex is filled out if the value of your observation field is male or female (regardless of the name of the field).
  • Life stage is filled out if the value of your observation field is adult, pupa, pupae, larva, larvae, caterpillar, teneral, egg, or nymph. It is also filled out if the observation field named Teneral is yes.
  • If the name of the observation field contains phenology, then a value of flower, flowers, or flowering will fill the annotation Flowering. If Plant flowering is yes, that will also work. It works similarly for fruit, fruits, fruiting.
  • The annotation Alive or Dead is filled by the fields Dead or alive, Alive or dead?, Was it alive?, Alive/Dead?, Roadkill, and Alive (AOR), Dead (DOR), or Injured (IOR).
  • Evidence of Presence is filled out if the value of your observation field is track, scat, bone, feather, or molt. It’s also filled from the observation fields Scat, Scat?, Bone(s), and Track.

Note that most Annotations are limited to particular taxa and the mappings won’t work unless the observations are identified within those taxa.
Note also that this only works for your own observations – adding fields and annotations on observations of other users must be done one at a time, see tutorial here.