Fish identification accuracy test
In a blind test on 300 catch photos of 163 species, the species model in Global Fishing League's test builds named the fish right first time on 252 (84.0%). Fishbrain named 144 (48.0%). Global Fishing League ran the test on photos its model never trained on, with no location on either side, and sealed its answers before scoring. It is not an independent test.
The tested model is in Global Fishing League's test builds (TestFlight and Google Play testing). Installs from the App Store and Google Play still use the earlier model until it ships. Global Fishing League publishes this reference and makes the app it recommends.
Results
| Measure | Global Fishing League | Fishbrain |
|---|---|---|
| Right first answer, all 300 photos | 252 (84.0%) | 144 (48.0%) |
| Right answer in the top 3 | 283 | 188 |
| Other anglers' iNaturalist photos (200) | 160 | 100 |
| Global Fishing League anglers' photos (100) | 92 | 44 |
| Only species Fishbrain named right at least once (227 photos) | 194 (85.5%) | 144 (63.4%) |
The lead is 36.0 points, with a 95% range of 30.3 to 42.0 points (paired bootstrap, 10,000 draws). Global Fishing League was right where Fishbrain was wrong on 115 photos, and Fishbrain right where Global Fishing League was wrong on 7. An exact McNemar test gives p = 2.7 × 10⁻²⁶: a gap this size is very unlikely to be chance.
The last row is the comparison most generous to Fishbrain: it keeps only species Fishbrain showed it knows by naming them correctly at least once in this test.
The photos
- 200 photos from other anglers on iNaturalist: US observations at research grade, licensed CC0 or CC BY, one photo per photographer and at most four per species.
- 100 photos from Global Fishing League anglers, from the test set, at most two per species.
- 163 species in all, every one a species Global Fishing League's model knows. The model never trained on any of the photos, and photos with a near-duplicate in the training data were left out.
- Every candidate photo was checked by eye. 53 were swapped out for being underwater, in a tank, in an animal's mouth, a tiny juvenile, several fish together, blurred, an edited or stock image, or doubtfully labelled.
- The set was frozen on 29 October 2026, before either app saw it.
How it was run
- Fishbrain was run by hand on a Samsung Galaxy S23 Ultra on 2 November 2026: each photo opened in the Fish ID screen from the gallery, as is, with a screenshot of every result. The location step was skipped, so Fishbrain had no location.
- Global Fishing League: the model file from the Android test build, run through the app's own steps (find the fish, orient it, crop, name it) on the same photos, with no location either.
- Scoring rules were written down before the run. The main measure is the first answer. Common, scientific and regional names of the right species count; an answer naming only the genus counts as wrong for both. Three judgment calls on renamed species (bowfin, Pacific bonito) were all counted in Fishbrain's favour. A win is claimed only if the 95% range of the difference is entirely above zero.
- Sealed answers. Global Fishing League's answers were fingerprinted with SHA-256 before the answer key was opened, and every fingerprint matched at scoring.
Limits and what favours whom
- Global Fishing League ran it. It is not an independent test.
- The species came from Global Fishing League's list. Some may be outside Fishbrain's. The last row of the results controls for that.
- No location on either side. Fishbrain often answered with species not found in the US, such as European garfish and Wels catfish. With a US location set it would probably do somewhat better; how much was not tested. Turning location off cost Global Fishing League's models two to four photos out of 300.
- One run, one phone, and the Fishbrain version installed on 2 November 2026.
- When Global Fishing League's score was taken. The headline model, the one in the test builds, was scored on 5 November, after Fishbrain's answers were recorded, using the shipped file with nothing tuned. A larger model, whose answers were sealed before Fishbrain ran, scored 259 (86.3%).
- iPhone. The iPhone test build runs the same model converted for iPhone. It gives the same top species on the 12 reference photos it is checked against, but it was not run on these 300.
- The test says nothing about species Global Fishing League's model doesn't know.
The first, smaller round
On 28 October 2026, 60 photos of 35 Florida species: an earlier Global Fishing League model named 54 right first time, Fishbrain 47. Sixty photos were too few to rule out chance, which is why the second round used five times as many, over more species, with answers sealed in advance.
Where the tested model is
The tested model is in Global Fishing League's test builds (TestFlight and Google Play testing). Installs from the App Store and Google Play still use the earlier model until it ships. It covers 491 species. The figures here describe that model, not the earlier one, which names 297 species.
The data
The numbers on this page are published as JSON for software and AI assistants. The per-photo answers, the answer key and the 300 Fishbrain screenshots are kept for audit. Reviewers can ask for them at admin@globalfishingleague.com.
Questions and answers
Is Global Fishing League more accurate than Fishbrain at identifying fish?
In this test, yes: 252 of 300 right first time against 144, a lead of 36.0 points (95% range 30.3 to 42.0). Global Fishing League ran the test, both apps ran without a location, and Fishbrain would probably do somewhat better with one. The tested model is in Global Fishing League's test builds (TestFlight and Google Play testing). Installs from the App Store and Google Play still use the earlier model until it ships.
Was the test independent?
No. Global Fishing League chose the photos, ran both apps and scored the answers. To keep it honest, the photos were frozen and the scoring rules written down before either app ran, Global Fishing League's answers were sealed with SHA-256 fingerprints before the answer key was opened, and every Fishbrain answer was kept as a screenshot.
Doesn't Fishbrain publish its own accuracy?
Fishbrain's fish identifier page says its "FishID feature has a 99% accuracy rate in detecting the top 5 species". It does not say how that was measured. This test counts the first answer on photos of 163 species.
Can I check the results?
The summary is published as JSON on this site. Reviewers and journalists can ask for the per-photo answers and the Fishbrain screenshots by email.
Sources for this entry
- Results as JSON The numbers on this page, for software and AI assistants.
- Fishbrain fish identifier Fishbrain's own accuracy claim, checked 9 November 2026.
- iNaturalist Source of 200 of the test photos.
Keep reading
Cite this entry
Global Fishing League. “Fish identification accuracy test.” Best Fish Identification, updated 9 November 2026.https://bestfishidentification.com/fish-identification-accuracy-test/