PHPackages                             jeroendesloovere/xmp-metadata-extractor - 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. [Image &amp; Media](/categories/media)
4. /
5. jeroendesloovere/xmp-metadata-extractor

ActiveLibrary[Image &amp; Media](/categories/media)

jeroendesloovere/xmp-metadata-extractor
=======================================

Extracting XMP metadata from images using PHP.

v2.0.0(8y ago)8113.9k↓15.4%[1 issues](https://github.com/jeroendesloovere/xmp-metadata-extractor/issues)MITPHPPHP &gt;=7.1

Since Dec 5Pushed 4y ago1 watchersCompare

[ Source](https://github.com/jeroendesloovere/xmp-metadata-extractor)[ Packagist](https://packagist.org/packages/jeroendesloovere/xmp-metadata-extractor)[ Docs](https://github.com/jeroendesloovere/xmp-data-extractor)[ RSS](/packages/jeroendesloovere-xmp-metadata-extractor/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (5)Used By (0)

XMP Metadata extractor
======================

[](#xmp-metadata-extractor)

[![Packagist](https://camo.githubusercontent.com/cc1cc04f954cbbd2bc59b096b7178982f4f53cce71f85e96f78e820ac18d7949/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a65726f656e6465736c6f6f766572652f786d702d6d657461646174612d657874726163746f722e737667)](https://packagist.org/packages/jeroendesloovere/xmp-metadata-extractor)[![License](https://camo.githubusercontent.com/5a911ddcd16b9110e7821386ffd8d637005a8b856c14a3c0861b955e91da4eba/687474703a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d6c69676874677265792e737667)](https://github.com/jeroendesloovere/xmp-metadata-extractor/blob/master/LICENSE)[![Build Status](https://camo.githubusercontent.com/694953a99b94363a77496e2fef9f2e239fbe5affaff9c143ea6f6e3baf1b4946/68747470733a2f2f7472617669732d63692e6f72672f6a65726f656e6465736c6f6f766572652f786d702d6d657461646174612d657874726163746f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/jeroendesloovere/xmp-metadata-extractor)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/07b7b59646dc8ba3c423228fa70efb711e671033b751b9d60937a775db975a00/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6a65726f656e6465736c6f6f766572652f786d702d6d657461646174612d657874726163746f722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/jeroendesloovere/xmp-metadata-extractor/?branch=master)

> Extracting XMP metadata from images/files using PHP.

Usage
-----

[](#usage)

### Installation

[](#installation)

When using [composer](https://getcomposer.org), you can execute in your terminal:

```
composer require jeroendesloovere/xmp-metadata-extractor

```

### Example

[](#example)

```
use JeroenDesloovere\XmpMetadataExtractor;
$xmpDataExtractor = new XmpMetadataExtractor();

# Get XmpData from file
$xmpData = $xmpDataExtractor->extractFromFile('path/to/filename.jpg'):

# OR get XmpData by given the file content - file_get_contents(...);
$xmpData = $xmpDataExtractor->extractFromContent('... file content ...'):
```

> `$xmpData` will be an `array` with all XMP Metadata.

Tests
-----

[](#tests)

> The XmpMetadataExtractor class has test cases. [View all test cases](tests/XmpMetadataExtractor/XmpMetadataExtractorTest.php).

Use `vendor/bin/phpunit` to execute the tests.

Code standards
--------------

[](#code-standards)

We use [squizlabs/php\_codesniffer](https://packagist.org/packages/squizlabs/php_codesniffer) to maintain the code standards. Type the following to execute them:

```
# To view the code errors
vendor/bin/phpcs --standard=psr2 --extensions=php --warning-severity=0 --report=full "src"

# OR to fix the code errors
vendor/bin/phpcbf --standard=psr2 --extensions=php --warning-severity=0 --report=full "src"
```

> [Read documentation about the code standards](https://github.com/squizlabs/PHP_CodeSniffer/wiki)

Documentation
-------------

[](#documentation)

The class is well documented inline. If you use a decent IDE you'll see that each method is documented with PHPDoc.

Contributing
------------

[](#contributing)

Contributions are **welcome** and will be fully **credited**.

### Pull Requests

[](#pull-requests)

> To add or update code

- **Coding Syntax** - Please keep the code syntax consistent with the rest of the package.
- **Add unit tests!** - Your patch won't be accepted if it doesn't have tests.
- **Document any change in behavior** - Make sure the README and any other relevant documentation are kept up-to-date.
- **Consider our release cycle** - We try to follow [semver](http://semver.org/). Randomly breaking public APIs is not an option.
- **Create topic branches** - Don't ask us to pull from your master branch.
- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.
- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.

### Issues

[](#issues)

> For bug reporting or code discussions.

More info on how to work with GitHub on help.github.com.

Credits
-------

[](#credits)

- [Jeroen Desloovere](https://github.com/jeroendesloovere)
- [All Contributors](https://github.com/jeroendesloovere/xmp-metadata-extractor/contributors)

License
-------

[](#license)

The module is licensed under [MIT](./LICENSE.md). In short, this license allows you to do everything as long as the copyright statement stays present.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Every ~2 days

Total

4

Last Release

3078d ago

Major Versions

v1.1.0 → v2.0.02017-12-13

PHP version history (2 changes)v1.0.0PHP ^7.1

v1.1.0PHP &gt;=7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/588616?v=4)[Jeroen Desloovere](/maintainers/jeroendesloovere)[@jeroendesloovere](https://github.com/jeroendesloovere)

---

Top Contributors

[![jeroendesloovere](https://avatars.githubusercontent.com/u/588616?v=4)](https://github.com/jeroendesloovere "jeroendesloovere (26 commits)")

---

Tags

extractormetadataphpphp71xmpphpimagemetadataextractorxmp

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/jeroendesloovere-xmp-metadata-extractor/health.svg)

```
[![Health](https://phpackages.com/badges/jeroendesloovere-xmp-metadata-extractor/health.svg)](https://phpackages.com/packages/jeroendesloovere-xmp-metadata-extractor)
```

###  Alternatives

[frameright/image-metadata-parser

Image metadata parsing library

1133.9k](/packages/frameright-image-metadata-parser)[dantsu/php-image-editor

PHP library to easily edit image with GD extension.

34152.1k2](/packages/dantsu-php-image-editor)[lciolecki/php-image-optimizer

PHP image file optimizer (uses https://github.com/bensquire/php-image-optim)

347.4k](/packages/lciolecki-php-image-optimizer)

PHPackages © 2026

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