What it does

BirdNET-Analyzer applies BirdNET models to audio recordings to detect bird vocalizations and assign species labels. It supports both interactive use and scripted batch processing, making it suitable for everything from small pilot studies to multi-year monitoring projects.

  • Processes single files or entire directories of recordings.
  • Outputs detections with timestamps, species labels, and confidence scores.
  • Supports geographic and temporal constraints for more realistic species lists.
  • Provides a GUI and command-line workflows.

Key features

Large-scale processing

Designed to handle large deployments of passive acoustic recorders and thousands of hours of audio.

Advanced models

Uses the latest BirdNET models, capable of recognizing thousands of bird species worldwide.

Flexible outputs

Export detections as CSV or other formats for downstream analysis in R, Python, or GIS tools.

Community workflows

A growing set of guides and scripts from the community show how to integrate BirdNET-Analyzer into existing monitoring pipelines.

Contributing & Support

Get help / Improve BirdNET-Analyzer

Report bugs / request features
  • Open an GitHub Issue (search existing first).
  • Use clear title, steps to reproduce, expected vs actual, logs/error messages.
  • Add environment details (OS, Python version, BirdNET-Analyzer version).
Submit improvements
  • Fork and create a feature branch, then open a Pull Request.
  • Keep changes focused; update docs if behavior changes.
  • Reference related Issue (e.g. “Closes #123”).
Ask questions / discuss ideas
  • Use GitHub Discussions for Q&A and ideas.
  • Tag threads (Help, Ideas, Show & Tell) appropriately.
Community
  • Join the Reddit community: r/BirdNET_Analyzer.
  • Share workflows, troubleshooting tips, and results.
Security issues: please do not open a public issue; email the maintainers via the contact information in the repository README.