PHPackages                             wackowiki/diff - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. wackowiki/diff

ActiveLibrary[Testing &amp; Quality](/categories/testing)

wackowiki/diff
==============

PHP diff library modernized for PHP 8.5

1.0.0(1mo ago)141↓40%1GPL-2.0-or-laterPHPPHP &gt;=8.3

Since Jul 8Pushed 1mo agoCompare

[ Source](https://github.com/WackoWiki/diff)[ Packagist](https://packagist.org/packages/wackowiki/diff)[ RSS](/packages/wackowiki-diff/feed)WikiDiscussions main Synced 1w ago

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

WackoWiki Diff
==============

[](#wackowiki-diff)

A modernized PHP diff library originally derived from WackoWiki's PHP port of Geoffrey T. Dairiki's `Algorithm::Diff` Perl module, itself based on Ned Konz's work and the GNU diff algorithm from François Pinard (1992).

This fork modernizes the codebase for PHP 8.3+ with strict types, proper namespacing, and a full PHPUnit 11 test suite.

---

Features
--------

[](#features)

- **Strict types** throughout — full PHP 8.3+ compatibility
- **Word-level diffs** — for inline comparison via `Diff\Side`
- **Line-level diffs** — classic GNU diff format via `Diff\Diff` + `Diff\DiffFormatter`
- **Fully tested** — 95+ unit tests covering all classes
- **Zero dependencies** — pure PHP, no external libraries
- **GPL-2.0-or-later** — open source license

---

Requirements
------------

[](#requirements)

- **PHP 8.3** or higher
- **Composer** (for installation and testing)
- **PHPUnit 11** (development only)

---

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

[](#installation)

Install via Composer:

```
composer require wackowiki/diff
```

Or add to your `composer.json`:

```
{
    "require": {
        "wackowiki/diff": "^1.0"
    }
}
```

---

Usage
-----

[](#usage)

### 1. Line-Level Diff (Classic)

[](#1-line-level-diff-classic)

Compare two files line-by-line and output GNU diff format:

```
