Our society’s communication patterns have fundamentally changed as a consequence of the emergence of social media platforms. One effect of these changes is a rise in unpleasant behaviours like making rude and derogatory comments online. Speaking harshly or disrespectfully to someone in person may be difficult. However, online abuse and posting of improper material are considered to be acceptable. Hate speech has the potential to hurt a person or a group of people. Inappropriate material must be identified, in order to be filtered or banned from the web. CNN is a type of deep machine-learning model that has been suggested for such identification, because it performs better than conventional techniques in resolving text categorization problems. Our goal investigates how hate speech may be detected using NLP. In addition, a recent technique has been used in this field to a dataset. This classifier is assigned in each tweet to one of the three Twitter dataset categories of hatred, foul language, or neither. This model’s performance has been assessed with accuracy. The Naïve Bayes, the Decision Tree, KNN, Linear Regression, and the Random Forest are five algorithms that have been used. Of these, Linear Regression provided the greatest accuracy of 94%. It should be noted that when looking at each class separately, many hateful tweets have been mislabelled. It is advisable to look at the outcomes and faults in much detail, in order to comprehend the misclassification. Our analysis shows a better outcome in detecting hateful speech in social media.