How to Tell When Fish is Done
Internal temps, doneness for salmon and tuna, and the cues that work without a thermometer
The Short Answer
Pull fish off the heat when it turns opaque all the way through and flakes cleanly when you press it with a fork. For most white fish, that's around 130 to 135°F internally. For salmon and tuna, it depends on how you like it done. Pull 5 degrees before your target because fish keeps cooking after it leaves the heat.
Internal Temperatures
Fish depends heavily on the type. White fish like cod, halibut, and tilapia are mostly about hitting one good texture window. Salmon and tuna behave more like steak. They have a doneness spectrum and people have real preferences about where they want to land.
White Fish (Cod, Halibut, Tilapia, Bass)
The FDA says 145°F. In practice, most cooks pull white fish at 130 to 135°F. At that temperature the flesh is fully opaque, flakes cleanly, and stays moist. At 145°F it's still safe, but you're pushing toward dry and rubbery. If you want to get there, pull at 140°F and let carryover finish the job.
Cod is the most forgiving. It's thick, flaky, holds together well, and tolerates a wider temperature window. Halibut is firmer and leaner, which means it dries out faster. Pull it 5°F earlier than cod and treat it more like a lean steak than a flaky fish. Tilapia is thin and cooks fast, often in under 5 minutes total — start checking at 3. Bass sits between cod and halibut on texture, with a richer flavor that handles bolder seasoning. Same target temp for all of them, but adjust your timing for thickness and learn how each one feels when it flakes.
Salmon Doneness
Tuna
Tuna at well-done is mealy and dry. If you're buying sushi-grade tuna, rare to medium-rare is the right call. Rare pulls at 105°F, medium-rare at 115°F. Well-done at 140°F, but don't bother on quality tuna.
Shellfish
Skip the thermometer on shrimp and scallops. They're too small for it to work reliably. Shrimp are done when they curl into a C shape and turn completely pink and opaque. A tight O shape means overcooked. Scallops are done when the sides go opaque and the exterior is golden. Clams and mussels are done when the shells open. Discard any that stay closed.
Visual and Touch Cues
The translucent to opaque shift
Raw fish has a shiny, glassy look. As it cooks, the flesh turns from translucent to matte and opaque, starting at the edges and moving toward the center. Watch that line as it moves inward. When it reaches the thickest part of the fillet, you're close. On salmon it's easy to see from the side. On white fish, the flesh goes from glassy to solid white.
The flake test
Press gently on the thickest part of the fillet with a fork. If the fish resists and feels like one solid piece, it needs more time. If it starts to separate into clean layers along the natural muscle lines, it's done or very close. Do this gently. A light press and slight twist is all you need.
The touch test
Press the center of the fillet lightly with your finger. Underdone fish feels soft and almost mushy. Properly done fish feels firm but gives slightly, like pressing the tip of your nose. Overdone fish feels tight and dry. Use it as a starting cue and confirm with a fork or thermometer.
Timing cues
A rule that holds across most cooking methods: 10 minutes of cook time per inch of thickness at medium-high heat. Start checking a minute or two early. The window between underdone and overdone is smaller on fish than any other protein.
Quick reference by thickness:
- ½ inch (thin tilapia, sole, flounder): 3 to 5 minutes total
- ¾ inch (most cod, average salmon fillet): 6 to 8 minutes total
- 1 inch (thick cod, salmon center cut, halibut steak): 8 to 10 minutes total
- 1½ to 2 inches (thick halibut, swordfish steak, salmon roast): 12 to 18 minutes total
Flipping isn't always necessary. If the fillet is under an inch, cook skin-side down without turning. Past an inch, flip once at the halfway point.
Common Mistakes
Overcooking out of caution
Fish is the protein people ruin most often because they're scared of undercooking it. Slightly underdone fish is recoverable. Put it back on the heat for 60 to 90 seconds. Overcooked fish is not. Pull early and check rather than leaving it on too long.
Not drying the fish before cooking
Wet fish steams instead of sears. Pat the fillet completely dry with paper towels before it hits the pan, every single time. This is what gets you a golden crust and a clean flake. Skipping it is the main reason home-cooked fish comes out pale and soft instead of properly seared.
Moving it too much
Fish sticks to the pan when it's not ready to release. Leave it alone. When it's properly seared it will release on its own with almost no resistance. If it's fighting you, give it another minute.
Relying on color alone
The outside of a fillet can look fully cooked while the center is still raw, especially on thick cuts of salmon and halibut. Color tells you something but not enough. Use the flake test or a thermometer to confirm the center is actually done.
Cooking from Frozen
Frozen fish is a real option if you handle it right. Thin fillets under ¾ inch can go straight from the freezer to the pan or oven — add 50% to the cook time and don't try to sear them. The exterior browns fine but the interior takes longer to come up, so a hard sear at the start usually just burns the outside before the inside thaws. Thicker pieces (1 inch+) cook more evenly if you thaw first.
Best fast thaw: sealed bag submerged in cold water, 20 to 30 minutes for most fillets. Don't microwave thaw, it will start cooking the edges while the center is still solid. If you have time, overnight in the fridge is ideal. Pat very dry after thawing. Frozen fish releases extra moisture as it warms, and wet thawed fish steams in the pan instead of searing. This is the single biggest reason home-cooked frozen fish comes out pale and disappointing.
The Bottom Line
Fish cooks fast and the margin for error is narrow. A thermometer removes all the guesswork. Pull white fish at 130 to 135°F, salmon at whatever doneness you prefer, and rest it 2 to 3 minutes before plating. If you don't have one, the flake test and the color shift will get you most of the way there. Either way, err toward undercooking. You can always add 60 more seconds. You cannot fix a dry fillet.