Some argue that the Bible is contradictory concerning whether it is a sin to call someone a “fool.” The argument is that Matthew 5:22 says that it is a sin to call someone a “fool,” but Psalm 14:1 and Matthew 23:17 suggest that it is not a sin to call someone a “fool.” However, the solution to this alleged contradiction in the Bible is extremely simple.
But I say to you that everyone who is angry with his brother will be liable to judgment; whoever insults his brother will be liable to the council; and whoever says, ‘You fool!’ will be liable to the hell of fire.Matthew 5:22
The fool says in his heart, “There is no God.” They are corrupt, they do abominable deeds; there is none who does good.Psalm 14:1
You blind fools! For which is greater, the gold or the temple that has made the gold sacred?Matthew 23:17
The context of Matthew 5:22 is the topic of anger. Jesus is saying that a person who is unjustifiably angry at another person has essentially committed murder in his heart. This is the context in which calling someone a “fool” is sinful.
However, if calling someone a “fool” is simply objective truth, and not done in anger, but rather in rightly observing a person’s state, then that is not sinful. So, it was not sinful for the Psalmist to say that people who say, “There is no God,” are fools, because that is simply objective truth, and it was not sinful for Jesus to call the Pharisees “blind fools” because that was also simply objective truth.
There are some foundational principles that apply to all alleged and apparent contradictions in the Bible. To read more, see Bible Difficulties: Foundational Principles.
To read more answers to alleged and apparent contradictions in the Bible, see “Contradictions” in the Bible Answered.
These books are also excellent resources: