PHPackages                             fileeye/pel - 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. fileeye/pel

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

fileeye/pel
===========

PHP Exif Library. A library for reading and writing Exif headers in JPEG and TIFF images using PHP.

0.12.1(2mo ago)197.1M—8.7%9[11 issues](https://github.com/FileEye/pel/issues)[3 PRs](https://github.com/FileEye/pel/pulls)2GPL-2.0PHPPHP &gt;=8.1CI passing

Since Jun 20Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/FileEye/pel)[ Packagist](https://packagist.org/packages/fileeye/pel)[ Docs](https://github.com/FileEye/pel)[ RSS](/packages/fileeye-pel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (12)Versions (7)Used By (2)

This is a fork of the [pel/pel](https://github.com/pel/pel) repository.

PEL: PHP Exif Library
=====================

[](#pel-php-exif-library)

[![Tests](https://github.com/FileEye/pel/actions/workflows/tests.yml/badge.svg)](https://github.com/FileEye/pel/actions/workflows/tests.yml)[![PHPStan level](https://camo.githubusercontent.com/fc03486801eb71e08c1e92b6c910df916c07b47fd3514d22014414975cefe406/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2532306c6576656c2d382d627269676874677265656e2e7376673f7374796c653d666c6174)](https://github.com/FileEye/pel/actions/workflows/code-quality.yml)[![codecov](https://camo.githubusercontent.com/b54de972e22e3f80969f8af0bc0b9bb9eab2fbb03ba8f040087a41573566a4a1/68747470733a2f2f636f6465636f762e696f2f67682f46696c654579652f70656c2f67726170682f62616467652e7376673f746f6b656e3d586c4634664f48416c31)](https://codecov.io/gh/FileEye/pel)[![Latest Stable Version](https://camo.githubusercontent.com/41af21eaca5ea2cf917d63c07dfa4b40d3e8b84455c80e0068cff073a3bef111/68747470733a2f2f706f7365722e707567782e6f72672f66696c656579652f70656c2f762f737461626c65)](https://packagist.org/packages/fileeye/pel)[![Total Downloads](https://camo.githubusercontent.com/26fbce83081677333799a2a68583e280d02423cfc99370432e360bbeeab2db1b/68747470733a2f2f706f7365722e707567782e6f72672f66696c656579652f70656c2f646f776e6c6f616473)](https://packagist.org/packages/fileeye/pel)[![License](https://camo.githubusercontent.com/2faf28c166a341562a418ea09d48282b563fcd25d03d1d8f0835f2ad2aeda1fb/68747470733a2f2f706f7365722e707567782e6f72672f66696c656579652f70656c2f6c6963656e7365)](https://packagist.org/packages/fileeye/pel)

README file for PEL: PHP Exif Library. A library with support for reading and writing Exif headers in JPEG and TIFF images using PHP.

Copyright (C) 2004, 2005, 2006 Martin Geisler. Licensed under the GNU GPL, see COPYING for details.

Description
-----------

[](#description)

The PHP Exif Library (PEL) makes it easy to develop programs that will read and write the Exif metadata headers found in JPEG and TIFF images. See the file INSTALL for an introduction to how PEL can be used by your application.

PEL is a library written entirely in PHP 5, which means that it does not have any dependencies outside the core of PHP, it does not even use the Exif module available for PHP.

Please note that the API for PEL is not yet frozen, and it will remain changeable until version 1.0 is reached. Read the NEWS file for important information about API changes.

Also, please go to the PEL development mailing list (look below) and share your ideas about how the API should look like.

Installation
------------

[](#installation)

```
composer require fileeye/pel

```

Documentation Overview
----------------------

[](#documentation-overview)

- README.markdown: gives you a short introduction to PEL (this file).
- INSTALL.md: explain how to install and get going with PEL.
- CHANGELOG.md: contains important information about changes in PEL.
- examples/: small self-contained examples of how to use PEL.
- AUTHORS: list of people who have helped.
- run run-phpdoc.sh to generate API-documention or see it online at

Features of PEL
---------------

[](#features-of-pel)

- Reads and writes Exif metadata from both JPEG and TIFF images.
- Supports reading and writing all Exif tags.
- Supports internationalization.
- Extensible object-oriented design.
- PhpUnit tested
- Documented with PhpDocumentor ().

Helping out
-----------

[](#helping-out)

Help will be very much appreciated. You can report issues, run the test suite, add patches. The best way to help out is applying patches and helping out with the tests. See instructions in the test/ directory.

All changes to code should be issued through a pull request, and other maintainers should review the code and merge it.

Languages
---------

[](#languages)

To work with the translations, you need the gettext package installed.

Getting Support
---------------

[](#getting-support)

The first place you should consult for support is the documentation supplied with PEL, found at . There you will find a complete API documentation with descriptions of all classes and files in PEL.

The scripts found in the examples/ directory are also a good source of information, especially the edit-description.php file which has tons of comments.

PEL is hosted on Github and uses the tools found there for support. This means that all questions, bug reports, etc. should be directed there (and not directly to the developers).

Please try the latest version before reporting bugs -- it might have been fixed already. The latest code can be found in the git repository at

It is very helpful if you try out the latest code from the git repository before submitting a bug report. The code found there is generally very stable.

Contributing Test Images
------------------------

[](#contributing-test-images)

To make PEL as stable as possible, it is tested with images from a number of different camera models.

New test images are very much appreciated -- please download the existing test images and read the README file found there for instructions.

Credits
-------

[](#credits)

Please see the AUTHORS file for a list of people who have contributed to PEL. See the full list of [code contributors](https://github.com/FileEye/pel/graphs/contributors).

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance76

Regular maintenance activity

Popularity55

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 61.8% 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 ~250 days

Total

5

Last Release

60d ago

PHP version history (3 changes)0.9.20PHP &gt;=7.1.0

0.10.0PHP &gt;=7.4

0.11.0PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1174864?v=4)[mondrake](/maintainers/mondrake)[@mondrake](https://github.com/mondrake)

---

Top Contributors

[![mgeisler](https://avatars.githubusercontent.com/u/89623?v=4)](https://github.com/mgeisler "mgeisler (470 commits)")[![lsolesen](https://avatars.githubusercontent.com/u/148026?v=4)](https://github.com/lsolesen "lsolesen (129 commits)")[![weberhofer](https://avatars.githubusercontent.com/u/793251?v=4)](https://github.com/weberhofer "weberhofer (82 commits)")[![mondrake](https://avatars.githubusercontent.com/u/1174864?v=4)](https://github.com/mondrake "mondrake (47 commits)")[![artemShelest](https://avatars.githubusercontent.com/u/18375575?v=4)](https://github.com/artemShelest "artemShelest (10 commits)")[![darkain](https://avatars.githubusercontent.com/u/2524251?v=4)](https://github.com/darkain "darkain (7 commits)")[![v1r0x](https://avatars.githubusercontent.com/u/9248714?v=4)](https://github.com/v1r0x "v1r0x (2 commits)")[![ivangrozni](https://avatars.githubusercontent.com/u/3587288?v=4)](https://github.com/ivangrozni "ivangrozni (1 commits)")[![Plantaquatix](https://avatars.githubusercontent.com/u/5758369?v=4)](https://github.com/Plantaquatix "Plantaquatix (1 commits)")[![rodrigoaguilera](https://avatars.githubusercontent.com/u/655187?v=4)](https://github.com/rodrigoaguilera "rodrigoaguilera (1 commits)")[![svenbluege](https://avatars.githubusercontent.com/u/3834825?v=4)](https://github.com/svenbluege "svenbluege (1 commits)")[![tm1000](https://avatars.githubusercontent.com/u/564256?v=4)](https://github.com/tm1000 "tm1000 (1 commits)")[![andreas-bergstrom](https://avatars.githubusercontent.com/u/622887?v=4)](https://github.com/andreas-bergstrom "andreas-bergstrom (1 commits)")[![xPaw](https://avatars.githubusercontent.com/u/613331?v=4)](https://github.com/xPaw "xPaw (1 commits)")[![brandonkelly](https://avatars.githubusercontent.com/u/47792?v=4)](https://github.com/brandonkelly "brandonkelly (1 commits)")[![dansleboby](https://avatars.githubusercontent.com/u/4716382?v=4)](https://github.com/dansleboby "dansleboby (1 commits)")[![DeyV](https://avatars.githubusercontent.com/u/311626?v=4)](https://github.com/DeyV "DeyV (1 commits)")[![emyu10](https://avatars.githubusercontent.com/u/4220551?v=4)](https://github.com/emyu10 "emyu10 (1 commits)")[![hussainweb](https://avatars.githubusercontent.com/u/1040271?v=4)](https://github.com/hussainweb "hussainweb (1 commits)")[![indy2kro](https://avatars.githubusercontent.com/u/1812715?v=4)](https://github.com/indy2kro "indy2kro (1 commits)")

---

Tags

imageexif

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/fileeye-pel/health.svg)

```
[![Health](https://phpackages.com/badges/fileeye-pel/health.svg)](https://phpackages.com/packages/fileeye-pel)
```

###  Alternatives

[intervention/image

PHP Image Processing

14.3k194.3M2.2k](/packages/intervention-image)[league/glide

Wonderfully easy on-demand image manipulation library with an HTTP based API.

2.6k51.2M116](/packages/league-glide)[liip/imagine-bundle

This bundle provides an image manipulation abstraction toolkit for Symfony-based projects.

1.7k38.3M217](/packages/liip-imagine-bundle)[spatie/image

Manipulate images with an expressive API

1.4k54.4M138](/packages/spatie-image)[intervention/image-laravel

Laravel Integration of Intervention Image

1536.5M102](/packages/intervention-image-laravel)[intervention/gif

PHP GIF Encoder/Decoder

5720.3M9](/packages/intervention-gif)

PHPackages © 2026

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