Five species, and the rules for each are different enough that getting it wrong matters. These are the marks you can check with a wet fish in your hands, in the order that settles it fastest.
Large pupil covering nearly the whole eye. Faint bars or a calico pattern showing through even at sea. Deep body and a narrow tail wrist.
Spawning colours
Olive-green back and maroon sides crossed by irregular dull red bars. Males grow big canine-like teeth, which is where the name dog salmon comes from.
Mistaken for
Sockeye, the other spotless one. Chum looks dirtier and yellower, with that oversized pupil.
Wild or hatchery
Plenty of BC openings are hatchery-marked only, so this is often the difference between a fish you can keep and one that has to go back. The mark is a clipped adipose fin: the small fleshy fin on the back between the dorsal fin and the tail, the one with no rays in it.
Adipose fin presentCounted as wild for the purposes of the rules. If an opening says hatchery-marked only, this fish goes back.Clipped, with a healed scarHatchery-marked. Run a thumb along the back: a clipped fish is smooth where the fin should be.
Two things worth knowing. DFO marks most hatchery coho and many hatchery chinook, not all of them, so an intact adipose fin does not prove a fish is wild. And if you fillet a chinook or coho at sea, the adipose fin or its healed scar has to stay on the fillet so the fish can still be identified. Some hatchery fish also carry a coded wire tag in the snout, which is not something you can see.
Illustrations here are drawn to show the marks clearly, not to be portraits. Colours shift with how long a fish has been out of the salt, and a fish that has started to change can be genuinely hard to call. If you are not sure, let it go.
Identifying features checked against the Alaska Department of Fish and Game's salmon identification sheet and Fisheries and Oceans Canada. The drawings are our own.
Rules change in-season and we'd rather hear it from you than have someone fish on bad information. Tell us what looks off and we'll check it against the source.