Racist is specific: prejudice or discrimination on grounds of race or ethnicity. Bigot is general: someone intolerant of any group or opinion differing from their own, which may be about religion, nationality, politics, sexuality or anything else. Every racist is a bigot; a bigot is not necessarily a racist.
The core difference
- racist — holding or acting on prejudice specifically about race or ethnicity.
- bigot — obstinately intolerant of any belief, group or identity other than one's own.
The relationship is category and instance: bigotry is the wider set, and racism is one form it takes alongside sectarianism, xenophobia and others.
The related terms, precisely
- prejudice — a judgement formed before the evidence; the attitude itself.
- discrimination — acting on it, treating people differently on that basis. Prejudice is internal, discrimination is conduct.
- xenophobia — fear or dislike of foreigners, which overlaps with racism but is about foreignness rather than race.
- sectarianism — hostility between denominations or sects, usually within a religion.
- chauvinism — aggressive belief in the superiority of one's own group; originally national, later applied to sex.
Where the word bigot comes from
The origin is genuinely uncertain. It entered English from French in the sixteenth century, initially as a term of abuse for a hypocrite or superstitious person, and narrowed to religious intolerance before broadening again to intolerance generally. Various etymologies have been proposed and none is settled.
A note on usage
Both words are strong accusations describing a person rather than an act, which is why careful writing often prefers naming the conduct — "a racist remark", "discriminatory hiring" — where the aim is to be precise rather than to condemn. That is the same reasoning style guides apply to illegal as a description of people.