百姓は「ひゃくせい」とも読み、姓を「しょう」と読むのは呉音。
「百」は「たくさん」、「姓」は豪族が氏(うじ)の下につけた称号「かばね」のことで、古代において百姓は「もろもろの姓を有する公民」の意味であった。
やがて、「一般人民」や「庶民」の意味となり、社会的身分と職業が相応するようになった中世頃より、百姓は農民の意味に固定していった。
その後、農作業をすることも「百姓」と言うようになった。
かつては、垢抜けない人を罵って「百姓」とも言ったが、差別用語に厳しい世の中になったため、そのような意味では滅多に使われない。