Cá tanh là do trong cá có chứa một số chất có gốc amin (NH) có mùi tanh, điển hình là trimetylamin NH(CH3) là chất có mùi tanh nổi trội nhất. Người ta cũng đã định lượng được trong 100g cá nước ngọt chỉ có từ 86 -116 mg trimetylamin, còn trong 100g cá biến có từ 250 - 470mg chất đó. Có lẽ ta cảm thấy cá biển tanh hơn cá nước ngọt là vì thế.
Trong một con cá cũng có những bộ phận tanh nhiều, tanh ít khác nhau. Chẳng hạn, chất nhớt ở bề mặt, mỡ, ruột, lớp màng đen ở bụng con cá mè, hoa khế trong đầu con cá trê... là những bộ phận tanh nhiều hơn các thớ cơ (thịt cá).
Mặt khác, khi cá đã chết hoặc bị ươn thì càng để lâu, cá càng tanh hơn vì một số loại vi khuẩn có khả năng biến các bazơ bay hơi trong cá thành trimetylamin.