Candidates apply in large numbers for jobs on web portals by uploading their resumes, due to the rapid growth of online-based recruitment systems. On the other hand, the resume has its formatting style, data blocks, and segments, as well as a variety of data formatting options such as text alignment, color, font type, and font size, making it an excellent example of unstructured data. As a result, filtering applicants for the appropriate position in an organization becomes a difficult task for recruiters. We can use Natural Language Processing (NLP) techniques to extract the relevant information from the resume to save time and effort. Also, a Machine Learning (ML) model is trained to check whether a candidate's skills, experiences, and other aspects are suitable for that particular role. In addition to that, our system will also recommend the other available job roles based on the candidate's skillset.