A desktop application for birders who want to efficiently organize and upload their photos, audio, and video to eBird.
Automatically organize your media by date, location, and eBird checklistID:
- Matches your photos, audio, and video files to your eBird checklists using timestamps and locations
- Creates organized folders by date (e.g.,
2025-10-10/) - Groups media into subfolders for each checklist (e.g.,
2025-10-10/US-TN_Hamilton_Standifer-Gap-Marsh_S278333280) - Generates a CSV index showing which checklists have matching media, making it easy to prioritize uploads
Fix common problems:
- Bulk adjust photo timestamps (perfect when you forget to change camera timezone while traveling)
- Reduce video file sizes below the 1GB limit for easier uploading (requires ffmpeg)
- Extract audio tracks from video files (requires ffmpeg)
- Download your eBird data from eBird.org
- Point the program to your media files and eBird CSV
- The program matches files to checklists based on timestamps
- Files are organized into dated folders with checklist subfolders
- Review the generated index to see which checklists have media ready to upload
- Go to https://ebird.org/downloadMyData
- Download your data file after receiving the email from eBird
- Extract the CSV file from the downloaded ZIP archive to a location you'll remember (like your Downloads folder)
Note: This application uses JavaFX for its user interface. I recommend installing Liberica JRE Full which includes JavaFX bundled in - it's simpler than the standard Oracle Java.
- Download and install Liberica JRE Full:
- Go to https://download.bell-sw.com/java/25.0.2+12/bellsoft-jre25.0.2+12-windows-amd64-full.msi
- Run the downloaded installer and follow the prompts
- Leave all default settings and click through to install
- Download and install Liberica JRE Full:
- Go to https://download.bell-sw.com/java/25.0.2+12/bellsoft-jre25.0.2+12-macos-aarch64-full.dmg
- Open the downloaded DMG file and drag the application to your Applications folder
- Follow any additional prompts to complete installation
- Open Terminal and verify with
java -version
- Download and install Liberica JRE Full:
- Go to https://bell-sw.com/pages/downloads/#jdk-25-lts
- Choose distribution, and select "Full JRE", open downloaded file
- Follow any additional prompts to complete installation
- Open Terminal and verify with
java -version
- Go to the Releases page in this repository
- Download the latest
ebird-media-sorter-[version].jarfile - Save it to an easy-to-find location like your Downloads folder
- Press
Windows Key + Rto open the Run dialog - Type
cmdand press Enter to open Command Prompt - Navigate to your Downloads folder by typing:
cd %USERPROFILE%\Downloadsand pressing Enter - Run the program by typing:
java -jar ebird-media-sorter-[version].jar(replace[version]with the actual version number) - Press Enter
- Open Terminal (press
Command + Space, type "Terminal", press Enter) - Navigate to your Downloads folder by typing:
cd ~/Downloadsand pressing Enter - Run the program by typing:
java -jar ebird-media-sorter-[version].jar(replace[version]with the actual version number) - Press Enter
- Open Terminal
- Navigate to your Downloads folder by typing:
cd ~/Downloadsand pressing Enter - Run the program by typing:
java -jar ebird-media-sorter-[version].jar(replace[version]with the actual version number) - Press Enter
"java is not recognized as an internal or external command" (Windows)
- Java is not installed or not in your PATH. Review Step 2 above.
"command not found: java" (macOS/Linux)
- Java is not installed. Review Step 2 above.
"Unable to access jarfile"
- Make sure you're in the correct directory where you downloaded the .jar file
- Check that the filename matches exactly (including the version number)
Need more help?
- Open an issue in this repository with details about your operating system and the error message you're seeing
Application (Linux/Ubuntu):
Generated CSV file:

