PHPackages                             willdurand/geocoder - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. willdurand/geocoder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

willdurand/geocoder
===================

Common files for PHP Geocoder

5.0.0(1y ago)17435.7M—4.8%1220MITPHPPHP &gt;=8.2CI failing

Since Jan 2Pushed 5mo ago3 watchersCompare

[ Source](https://github.com/geocoder-php/php-common)[ Packagist](https://packagist.org/packages/willdurand/geocoder)[ Docs](http://geocoder-php.org)[ RSS](/packages/willdurand-geocoder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (72)Used By (20)

Common classes for the Geocoder
===============================

[](#common-classes-for-the-geocoder)

[![Build Status](https://camo.githubusercontent.com/ae439016be1b00fe0b8513387d3db4d9619e8e6e62693e10c2f2ca61ca4e6029/68747470733a2f2f7472617669732d63692e6f72672f67656f636f6465722d7068702f7068702d636f6d6d6f6e2e7376673f6272616e63683d6d6173746572)](http://travis-ci.org/geocoder-php/php-common)[![Latest Stable Version](https://camo.githubusercontent.com/d1bc9bd4ec125171ed134ec5e531f51bb2644eb796b19d201fc29698eda8683a/68747470733a2f2f706f7365722e707567782e6f72672f77696c6c647572616e642f67656f636f6465722f762f737461626c65)](https://packagist.org/packages/willdurand/geocoder)[![Total Downloads](https://camo.githubusercontent.com/0aab8817821aa71de6f80d77b31312e01b186e4eb12f503978e6852b303ccaec/68747470733a2f2f706f7365722e707567782e6f72672f77696c6c647572616e642f67656f636f6465722f646f776e6c6f616473)](https://packagist.org/packages/willdurand/geocoder)[![Monthly Downloads](https://camo.githubusercontent.com/3ac9557d19ffe997bfa60da5e998f41ba1acccaa99bdd218c3a88ea61e2748a5/68747470733a2f2f706f7365722e707567782e6f72672f77696c6c647572616e642f67656f636f6465722f642f6d6f6e74686c792e706e67)](https://packagist.org/packages/willdurand/geocoder)[![Code Coverage](https://camo.githubusercontent.com/ec5317337535ffdc3c96a9bb998b7a2d89e3d3eeab6a7ea596596126550dcf09/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f67656f636f6465722d7068702f7068702d636f6d6d6f6e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/geocoder-php/php-common)[![Quality Score](https://camo.githubusercontent.com/d45839aa2717cf99738bcd114e7f23a19a687376cec0f482f747909461b83a80/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f67656f636f6465722d7068702f7068702d636f6d6d6f6e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/geocoder-php/php-common)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

### Note

[](#note)

- This repository is **READ ONLY**
- Post issues and PRs at the main repository:

### History

[](#history)

Just some months before the release of 4.0 of `willdurand/geocoder` we changed the repository to from . The new repository will only contain classes and interfaces shared between multiple providers. The original repository is still used for issues and pull requests.

The new repository architecture allows us to use a [git subtree split](https://www.subtreesplit.com) from geocoder-php/Geocoder to geocoder-php/php-common and to each provider.

Versions before 4.0 `willdurand/geocoder` will still work as usual, but with the new repository.

### Install

[](#install)

In 99% of the cases you do **not** want to install this package directly. You are more likely to install one provider. Have a look at [the documentation](https://github.com/geocoder-php/Geocoder) to see the different providers.

```
composer require willdurand/geocoder
```

### Contribute

[](#contribute)

Contributions are very welcome! Send a pull request to the [main repository](https://github.com/geocoder-php/Geocoder) or report any issues you find on the [issue tracker](https://github.com/geocoder-php/Geocoder/issues).

###  Health Score

68

—

FairBetter than 100% of packages

Maintenance58

Moderate activity, may be stable

Popularity66

Solid adoption and visibility

Community43

Growing community involvement

Maturity90

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 58.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 ~67 days

Recently: every ~410 days

Total

71

Last Release

502d ago

Major Versions

1.7.1 → 2.3.12013-10-22

2.8.1 → v3.0.0-alpha12014-12-18

2.8.2 → v3.0.0-alpha32015-02-13

v3.3.1 → 4.0.0-beta12017-06-17

4.6.0 → 5.0.02025-01-01

PHP version history (8 changes)1.0.0PHP &gt;=5.3.0

v3.0.0-alpha1PHP &gt;=5.4.0

v3.3.1PHP ^5.5 || ^7.0

4.0.0-beta1PHP ^7.0

4.3.0PHP ^7.2

4.4.0PHP ^7.3 || ^8.0

4.6.0PHP ^7.4 || ^8.0

5.0.0PHP &gt;=8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/401ccc5eea13c60cf807ae982af00e368e2166e2f26d8eb541dcd881a57385bc?d=identicon)[Nyholm](/maintainers/Nyholm)

![](https://avatars.githubusercontent.com/u/1620075?v=4)[François Ganachaud](/maintainers/couac)[@couac](https://github.com/couac)

---

Top Contributors

[![Nyholm](https://avatars.githubusercontent.com/u/1275206?v=4)](https://github.com/Nyholm "Nyholm (70 commits)")[![jbelien](https://avatars.githubusercontent.com/u/1150563?v=4)](https://github.com/jbelien "jbelien (24 commits)")[![Chris53897](https://avatars.githubusercontent.com/u/7104259?v=4)](https://github.com/Chris53897 "Chris53897 (7 commits)")[![norkunas](https://avatars.githubusercontent.com/u/2722872?v=4)](https://github.com/norkunas "norkunas (2 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![franmomu](https://avatars.githubusercontent.com/u/720690?v=4)](https://github.com/franmomu "franmomu (1 commits)")[![glensc](https://avatars.githubusercontent.com/u/199095?v=4)](https://github.com/glensc "glensc (1 commits)")[![leevigraham](https://avatars.githubusercontent.com/u/25124?v=4)](https://github.com/leevigraham "leevigraham (1 commits)")[![maxhelias](https://avatars.githubusercontent.com/u/12966574?v=4)](https://github.com/maxhelias "maxhelias (1 commits)")[![Mechazawa](https://avatars.githubusercontent.com/u/1144171?v=4)](https://github.com/Mechazawa "Mechazawa (1 commits)")[![nicolas-grekas](https://avatars.githubusercontent.com/u/243674?v=4)](https://github.com/nicolas-grekas "nicolas-grekas (1 commits)")[![ruudk](https://avatars.githubusercontent.com/u/104180?v=4)](https://github.com/ruudk "ruudk (1 commits)")[![Stadly](https://avatars.githubusercontent.com/u/7263579?v=4)](https://github.com/Stadly "Stadly (1 commits)")[![atymic](https://avatars.githubusercontent.com/u/50683531?v=4)](https://github.com/atymic "atymic (1 commits)")[![svrdlic](https://avatars.githubusercontent.com/u/8766956?v=4)](https://github.com/svrdlic "svrdlic (1 commits)")[![damienalexandre](https://avatars.githubusercontent.com/u/225704?v=4)](https://github.com/damienalexandre "damienalexandre (1 commits)")[![danhunsaker](https://avatars.githubusercontent.com/u/1534396?v=4)](https://github.com/danhunsaker "danhunsaker (1 commits)")[![ddinchev](https://avatars.githubusercontent.com/u/1397692?v=4)](https://github.com/ddinchev "ddinchev (1 commits)")[![eugenekurasov](https://avatars.githubusercontent.com/u/7052418?v=4)](https://github.com/eugenekurasov "eugenekurasov (1 commits)")

---

Tags

geocodingabstractiongeocodergeoip

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/willdurand-geocoder/health.svg)

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

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[toin0u/geotools-laravel

Geo-related tools PHP library for Laravel 4 &amp; 5

250388.0k1](/packages/toin0u-geotools-laravel)[toin0u/geotools

Geo-related tools PHP 7.3+ library

1.4k1.3k](/packages/toin0u-geotools)[demouth/dmgeocoder

Geocoding library.

216.9k](/packages/demouth-dmgeocoder)

PHPackages © 2026

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