A person who ruins everyone's fun by refusing to participate or by complaining about other people's enjoyment.
Compound word combining 'spoil' (to ruin) and 'sport' (play/fun). First recorded in English around 1670 as a single term for someone who dampens the mood of recreational activities.
The term 'sport' originally meant any game or pastime, so a 'spoilsport' was literally someone who spoiled the sport—but it's such a perfectly picturesque word that it stuck around even though we don't really use 'sport' that way anymore.
Complete word intelligence in one call. Free tier — 50 lookups/day.