PHPackages                             ankalagon/vies-address-formatter - 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. ankalagon/vies-address-formatter

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

ankalagon/vies-address-formatter
================================

Library to format data from VIES service (http://ec.europa.eu/taxation\_customs/vies/?locale=en)

1.1.0(7y ago)428.1k2MITPHPPHP &gt;=5.3

Since Jan 16Pushed 7y ago1 watchersCompare

[ Source](https://github.com/ankalagon/viesAddressFormatter)[ Packagist](https://packagist.org/packages/ankalagon/vies-address-formatter)[ RSS](/packages/ankalagon-vies-address-formatter/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (5)Used By (0)

Service can recognize `postal_code`, `city` and `address` (rest of address line) from address provided by VIES service ([http://ec.europa.eu/taxation\_customs/vies/?locale=en](http://ec.europa.eu/taxation_customs/vies/?locale=en)).

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

[](#requirements)

- PHP5.3 and above

or

- PHP7.0 and above

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

[](#installation)

Update your composer.json and run `composer update`

```
{
    "require": {
        "ankalagon/vies-address-formatter": "^1.0"
    }
}
```

or execute

```
composer require ankalagon/vies-address-formatter
```

Usage
-----

[](#usage)

```
    use Ankalagon\ViesAddressFormatter\ViesFormatter;

    $result = ViesFormatter::recognize("GB", "254 BANNERDALE ROADSHEFFIELDS11 9FE");

    print_r($result);
```

the above example will produce the following output:

```
Array (
    [city] => Sheffield
    [postal_code] => S11 9FE
    [address] => 254 Bannerdale Road
)
```

Example address line recognizion
--------------------------------

[](#example-address-line-recognizion)

Iso CodeAddress lineReturn dataGBC/O BMW UK GROUPTAX FR-3-UK SUMMIT ONE SUMMIT AVENUE
FARNBOROUGH
GU14 0FBArray (
 \[city\] =&gt; Farnborough
 \[postal\_code\] =&gt; GU14 0FB
 \[address\] =&gt; C/o Bmw Uk Grouptax Fr-3-uk Summit One Summit Avenue
)
GB28-29 THE BROADWAY
EALING
LONDON

W5 2NPArray (
 \[city\] =&gt; London
 \[postal\_code\] =&gt; W5 2NP
 \[address\] =&gt; 28-29 The Broadway Ealing
)
GB10 THE GRANGEWAY
GRANGE PARK
LONDON
N21 2HAArray (
 \[city\] =&gt; London
 \[postal\_code\] =&gt; N21 2HA
 \[address\] =&gt; 10 The Grangeway Grange Park
)
GB254 BANNERDALE ROAD
SHEFFIELD
S11 9FEArray (
 \[city\] =&gt; Sheffield
 \[postal\_code\] =&gt; S11 9FE
 \[address\] =&gt; 254 Bannerdale Road
)
PTR FIGUEIRAS N 616 MAIA
4475-011
MAIAArray (
 \[city\] =&gt; Maia
 \[postal\_code\] =&gt; 4475-011
 \[address\] =&gt; R Figueiras N 616 Maia
)
LU40, RUE ANTOINE MEYER L-2153 LUXEMBOURGArray (
 \[city\] =&gt; Luxembourg
 \[postal\_code\] =&gt; L-2153
 \[address\] =&gt; 40, Rue Antoine Meyer
)
NLEEKHORSTWEG 00031 A 7942KC MEPPELArray (
 \[city\] =&gt; Meppel
 \[postal\_code\] =&gt; 7942KC
 \[address\] =&gt; Eekhorstweg 00031 A
)
BEEZELSTRAAT 69 1 8000 BRUGGEArray (
 \[city\] =&gt; Brugge
 \[postal\_code\] =&gt; 8000
 \[address\] =&gt; Ezelstraat 69 1
)
ITP.ZA FERRAVILLA N. 2 20092 CINISELLO BALSAMO MIArray (
 \[city\] =&gt; Cinisello Balsamo Mi
 \[postal\_code\] =&gt; 20092
 \[address\] =&gt; P.za Ferravilla N. 2
)
BGул. Самуиловско шосе №1А обл.СЛИВЕН, гр.СЛИВЕН 8800Array (
 \[city\] =&gt;
 \[postal\_code\] =&gt; 8800
 \[address\] =&gt; ул. самуиловско шосе №1а обл.сливен, гр.сливен
)
ATHerrengasse 44
7471 RechnitzArray (
 \[city\] =&gt; Rechnitz
 \[postal\_code\] =&gt; 7471
 \[address\] =&gt; Herrengasse 44
)
NOSetesdalsveien 76
4617 KRISTIANSAND SArray (
 \[city\] =&gt; Kristiansand S
 \[postal\_code\] =&gt; 4617
 \[address\] =&gt; Setesdalsveien 76
)
PLKORNELA UJEJSKIEGO 12 M7
30-102 KRAKÓWArray (
 \[city\] =&gt; Kraków
 \[postal\_code\] =&gt; 30-102
 \[address\] =&gt; Kornela Ujejskiego 12 M7
)
PLAL. 29 LISTOPADA 155C
31-406 KRAKówArray (
 \[city\] =&gt; Kraków
 \[postal\_code\] =&gt; 31-406
 \[address\] =&gt; Al. 29 Listopada 155c
)
PLAL. JERZEGO WASZYNGTONA 45/51
04-008 WARSZAWAArray (
 \[city\] =&gt; Warszawa
 \[postal\_code\] =&gt; 04-008
 \[address\] =&gt; Al. Jerzego Waszyngtona 45/51
)
Thanks to
---------

[](#thanks-to)

Special thanks to Matthew Bednarski for `postal-code.json` library (). I use it (with small modfications) in this project.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community9

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 ~346 days

Total

4

Last Release

2738d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3070f07443b624ae2fde41decb31c0744281620e6766a74ef6cbb5ff125aefae?d=identicon)[piotrsuszalski](/maintainers/piotrsuszalski)

---

Top Contributors

[![ankalagon](https://avatars.githubusercontent.com/u/532333?v=4)](https://github.com/ankalagon "ankalagon (11 commits)")

---

Tags

addresspostal-codeviesaddressingpostal code recognition

### Embed Badge

![Health badge](/badges/ankalagon-vies-address-formatter/health.svg)

```
[![Health](https://phpackages.com/badges/ankalagon-vies-address-formatter/health.svg)](https://phpackages.com/packages/ankalagon-vies-address-formatter)
```

###  Alternatives

[markrogoyski/ipv4-subnet-calculator

Network calculator for subnet mask and other classless (CIDR) network information.

177813.7k6](/packages/markrogoyski-ipv4-subnet-calculator)[sylius/addressing-bundle

Addressing and zone management for Symfony applications.

33221.4k3](/packages/sylius-addressing-bundle)[tapp/filament-google-autocomplete-field

Filament plugin that provides a Google Autocomplete field

3098.1k](/packages/tapp-filament-google-autocomplete-field)[flyingluscas/viacep-php

ViaCEP PHP SDK

3640.2k](/packages/flyingluscas-viacep-php)[yieldstudio/nova-google-autocomplete

A Laravel Nova Google autocomplete field.

12218.4k](/packages/yieldstudio-nova-google-autocomplete)[nonsapiens/realaddressfactory

Creates real-world street addresses from Google Maps, to use in database seeding, unit tests, or anything else. Supports Laravel 11+, and Faker

4910.2k7](/packages/nonsapiens-realaddressfactory)

PHPackages © 2026

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