Package Exports
- pdf-resume-parser
- pdf-resume-parser/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pdf-resume-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
๐ resume-parser
A robust and extensible PDF resume parser for Node.js that extracts structured data like contact info, education, skills, projects, experience, and more.
๐ฆ Installation
Install the package via npm:
npm install resume-parser๐ Usage
Here's how to use the resume-parser in your Node.js project:
const ResumeParser = require('resume-parser');
const parser = new ResumeParser();
(async () => {
const data = await parser.parseResume('./upload/resume.pdf');
console.log(data);
})();๐ Sample Output
The parser extracts structured data from a resume PDF and returns it in the following JSON format:
{
"name": "John Doe",
"contact": {
"email": "john@example.com",
"phone": "123-456-7890",
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"portfolio": "https://johndoe.dev"
},
"profile": "Full Stack Developer with 3 years of experience building scalable web applications using MERN stack.",
"education": [
{
"institution": "XYZ University",
"degree": "B.Tech",
"field": "Computer Science",
"duration": "Aug 2018 โ May 2022",
"gpa": "8.6",
"location": "New York"
}
],
"experience": [
{
"title": "Software Engineer Intern",
"company": "TechCorp",
"duration": "May 2021 โ Jul 2021",
"location": "Remote",
"responsibilities": [
"Developed RESTful APIs using Node.js and Express",
"Integrated MongoDB with backend services",
"Optimized existing React components"
]
}
],
"projects": [
{
"name": "MyPortfolio",
"technologies": ["React", "Node.js", "MongoDB"],
"duration": "Jan 2022 โ Mar 2022",
"description": [
"Designed and developed a personal portfolio site",
"Deployed using Vercel and GitHub Pages"
],
"links": ["https://github.com/johndoe/myportfolio"]
}
],
"skills": {
"languages": ["JavaScript", "Python", "C++"],
"frameworks": ["React", "Express", "Next.js"],
"databases": ["MongoDB", "MySQL"],
"tools": ["Git", "Docker", "Jenkins"],
"libraries": ["Pandas", "NumPy"],
"other": ["REST APIs", "Agile"]
},
"achievements": [
"Top 5 finalist in Hack the Mountains 2022",
"Published npm package: resume-parser"
],
"languages": ["English", "Hindi"],
"interests": ["Reading", "Gaming", "Public Speaking"]
}๐ Features
- โ Extracts structured data from resumes in PDF format
- โ
Detects and categorizes:
- Contact Information (email, phone, GitHub, LinkedIn)
- Education & GPA
- Work Experience with bullet responsibilities
- Projects with technologies & links
- Skills grouped by type (e.g., frameworks, tools, databases)
- Achievements, Languages, and Interests
- โ Works on most resume layouts
- โ Cleaned and normalized output
- โ Lightweight and easy to integrate in Node.js
๐งช Local Testing
To test the parser locally, set up a new project:
mkdir test-project
cd test-project
npm init -y
npm install resume-parserThen, create a test script (e.g., test.js):
const ResumeParser = require('resume-parser');
const parser = new ResumeParser();
(async () => {
const data = await parser.parseResume('./resume.pdf');
console.log(data);
})();Run the script with:
node test.jsEnsure you have a resume.pdf file in the project directory under upload folder.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Contributing
Contributions are welcome! Please open an issue or submit a pull request with your improvements.
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature-branch) - Open a Pull Request