Everyone now has internet and social media access, making it simple to get information and news. On the other hand, there are fake news articles, also. It not only makes difficult for the public to find their truthfulness but also misleads them. Consequently, developing intelligent systems for separating news is critical. In this paper, four deep learning techniques such as Bidirectional Encoder Representations from Transformers (BERT), Long Short-Term Memory (LSTM), Bidirectional Long Short-Term Memory (BiLSTM), Convolutional Neural Networks-BiLSTM (CNN-BiLSTM) are used to detect fake news. We trained these models on three large datasets, namely, CoAID, GossipCop, and PolitiFact, that include fake news from social media and news articles. The text is divided into two categories: fake and real. We also trained and compared the results with ten well-known machine-learning classifiers, e.g., Naive Bayes, Decision Tree, Support Vector Machine, K-Nearest Neighbors Classifier, etc. The experimental results indicate that the deep learning-based BERT method achieves better accuracy and F1-score of 91.94\% and 92.06\% for PolitiFact, 99.09\% and 98.38\% for CoAID, 85.59\% and 82.40\% for GossipCop, respectively. These results suggest that deep learning algorithms provide favorably accurate results and outperform machine learning models in terms of accuracy.