Across societies, humans punish norm violations. To date, research on the antecedents and consequences of punishment has largely relied upon agent-based modeling and laboratory experiments. Here, we report a longitudinal study documenting punishment responses to norm violations in daily life (k = 1507; N = 257) and test pre-registered hypotheses about the antecedents of direct punishment (i.e., confrontation) and indirect punishment (i.e., gossip and social exclusion). We find that people use confrontation versus gossip in a context-sensitive manner. Confrontation is more likely when punishers have been personally victimized, have more power, and value offenders more. Gossip is more likely when norm violations are severe and when punishers have less power, value offenders less, and experience disgust. Findings reveal a complex punishment psychology that weighs the benefits of adjusting others’ behavior against the risks of retaliation.