A chatbot is a software that simulates aconversation with a human in a generalized form throughvarious applications like messaging, websites, mobileapplications, etc. Traditionally, a search engine was used toanswer any type of questions, but with the advancement intechnology the use of chatbot has increased and it allows theuser to simply ask any question in a same manner they wouldcommunicate with humans. The interesting features of this is thatthey are self-learning and become intelligent over time usingtechnologies like Machine Learning and Natural LanguageProcessing(NLP). This paper provides a brief overview of the useof NLP in chatbot as well as the working of different algorithms.It studies various machine learning algorithms used fordeveloping chatbots.