PHPackages                             sohagsrz/resume-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. sohagsrz/resume-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

sohagsrz/resume-parser
======================

A robust PHP package for extracting structured data from resume PDFs.

v1.0.0(1y ago)151↓76.5%MITPHPPHP &gt;=7.4

Since May 31Pushed 1y agoCompare

[ Source](https://github.com/Sohagsrz/resume-parser)[ Packagist](https://packagist.org/packages/sohagsrz/resume-parser)[ RSS](/packages/sohagsrz-resume-parser/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

🚀 Resume Parser
===============

[](#-resume-parser)

[![Packagist](https://camo.githubusercontent.com/4cafed3a5c92083a315493cb431f94a296446a4c8bd18e9d47c9e371df049d6b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736f68616773727a2f726573756d652d7061727365723f636f6c6f723d726564)](https://packagist.org/packages/sohagsrz/resume-parser)[![License](https://camo.githubusercontent.com/366a7d127014ba0d793073aa022ece9fe617233e29a57bea4f81b69a904b018d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f736f68616773727a2f726573756d652d7061727365723f636f6c6f723d677265656e)](LICENSE)[![GitHub stars](https://camo.githubusercontent.com/1b160c1fdb4b0cced4c9510724ba2d232abb65b2d7580e45dec7df053bf77f15/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f736f68616773727a2f726573756d652d7061727365723f7374796c653d736f6369616c)](https://github.com/sohagsrz/resume-parser/stargazers)

> **A modern PHP package to extract structured data from resume PDFs — with both classic and OpenAI-powered AI parsing!**

Easily extract names, emails, phone numbers, social handles, skills, education, experience, certifications, and languages from any resume PDF. Use classic parsing for speed, or unleash the power of OpenAI for even more robust results.

---

✨ Features
----------

[](#-features)

- Extracts name, email, phone, address
- Detects and normalizes global phone numbers
- Extracts all major social handles (LinkedIn, GitHub, Twitter/X, Facebook, Instagram, Stack Overflow, Dribbble, Behance, Medium, YouTube, TikTok, Pinterest, Telegram, WhatsApp, blog, website)
- Parses skills (technical, soft, and unique skills)
- Extracts education, experience, certifications, and languages
- Section-based parsing for high accuracy
- Optional: AI-powered parsing using OpenAI for even more robust extraction
- Outputs structured JSON/array

---

📦 Installation
--------------

[](#-installation)

```
composer require sohagsrz/resume-parser
```

---

⚡ Usage
-------

[](#-usage)

### Manual/Classic Parsing

[](#manualclassic-parsing)

```
require 'vendor/autoload.php';
use Sohagsrz\ResumeParser\ResumeParser;

$result = ResumeParser::parse('path/to/resume.pdf');
echo json_encode($result, JSON_PRETTY_PRINT);
```

### AI-Powered Parsing (OpenAI)

[](#ai-powered-parsing-openai)

```
require 'vendor/autoload.php';
use Sohagsrz\ResumeParser\OpenAIResumeParser;

$apiKey = 'sk-...'; // Your OpenAI API key
$result = OpenAIResumeParser::parse('path/to/resume.pdf', $apiKey);
echo json_encode($result, JSON_PRETTY_PRINT);
```

---

📝 Example Output Structure
--------------------------

[](#-example-output-structure)

```
{
  "name": "Md Sohag Islam",
  "email": "mdsohagislam25@gmail.com",
  "phone": "+8801798965122",
  "address": "Niyamotpur, Saidpur, Bangladesh",
  "linkedin": ["https://linkedin.com/in/sohagbd"],
  "github": ["https://github.com/sohag-dev"],
  "twitter": [],
  "facebook": [],
  "instagram": [],
  "stackoverflow": [],
  "dribbble": [],
  "behance": [],
  "medium": [],
  "youtube": [],
  "tiktok": [],
  "pinterest": [],
  "telegram": [],
  "whatsapp": [],
  "blog": [],
  "website": [],
  "skills": ["PHP", "Laravel", "React", "Tailwind CSS"],
  "education": [
    {
      "degree": "BSc in Computer Science",
      "institution": "AIUB",
      "year": "2026"
    }
  ],
  "experience": [
    {
      "job_title": "Backend Developer",
      "company": "Ujjol Lab",
      "duration": "2022-2024",
      "description": "Developed REST APIs, maintained Laravel applications."
    }
  ],
  "certifications": ["AWS Cloud Practitioner", "Meta Frontend Certificate"],
  "languages": ["English", "Bangla"]
}
```

---

💻 Example Demos
---------------

[](#-example-demos)

- `example/parse_example.php` — Manual/classic parsing
- `example/bootstrap_upload.php` — Manual/classic parsing with Bootstrap upload form
- `example/bootstrap_ai_upload.php` — AI-powered parsing with Bootstrap upload form and OpenAI API key

---

🔑 OpenAI API Key
----------------

[](#-openai-api-key)

To use the AI-powered parser, you need an OpenAI API key. You can get one from [OpenAI](https://platform.openai.com/account/api-keys). **Keep your API key secure and do not expose it publicly.**

---

🤝 Contributing
--------------

[](#-contributing)

Contributions, issues, and feature requests are welcome! Feel free to [open an issue](https://github.com/sohagsrz/resume-parser/issues) or submit a pull request.

If you like this project, please ⭐ star it and [follow me](https://github.com/sohagsrz) for more cool open-source tools!

---

📄 License
---------

[](#-license)

MIT

👤 Author
--------

[](#-author)

- [sohagsrz](https://github.com/sohagsrz)

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance47

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

399d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39012004?v=4)[Sohag Islam](/maintainers/sohagsrz)[@Sohagsrz](https://github.com/Sohagsrz)

---

Top Contributors

[![Sohagsrz](https://avatars.githubusercontent.com/u/39012004?v=4)](https://github.com/Sohagsrz "Sohagsrz (5 commits)")

### Embed Badge

![Health badge](/badges/sohagsrz-resume-parser/health.svg)

```
[![Health](https://phpackages.com/badges/sohagsrz-resume-parser/health.svg)](https://phpackages.com/packages/sohagsrz-resume-parser)
```

###  Alternatives

[j0k3r/graby

Graby helps you extract article content from web pages

388369.3k2](/packages/j0k3r-graby)[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k70](/packages/verbb-formie)[bitrix24/b24phpsdk

An official PHP library for the Bitrix24 REST API

10244.2k5](/packages/bitrix24-b24phpsdk)[az-digital/az_quickstart

Arizona Quickstart

52280.4k3](/packages/az-digital-az-quickstart)[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13825.8k59](/packages/skeeks-cms)[helgesverre/receipt-scanner

Use OpenAI to extract structured receipt and invoice data from Text, Html, Images and PDFs.

1439.4k](/packages/helgesverre-receipt-scanner)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
