The difference between haraam and makrooh
Praise be to Allaah.
Makrooh in Arabic means the opposite of liked or loved.
In the terminology of sharee’ah it means that which the Lawgiver asks us not to do, but not in a definitive manner. It may be said that it means that for which the person who does not do it out of obedience will be rewarded, but the one who does it will not be punished.
Haraam in Arabic means forbidden.
In the terminology of sharee’ah it means, that which the Lawgiver requires us not to do, in a definitive manner. Haraam is the opposite of halaal (permitted). A person will be rewarded for not doing that which is haraam, if he does so out of obedience, and not out of fear, shyness or the inability to do it; in those cases he will not be rewarded for not doing it.