📊 State of Magento 2025

The Home for Magento 2 Excellence

Quality-tested Magento 2 modules. Explore. Evaluate. Elevate. #magento2

613 Modules
401 Ready
211 Need Help
🏆 Leaderboard
Popular Module Stable v2.3.5

Magento 2 GeoIP Database Extension by Magefan

magefan/module-geoip

Provides PHP methods to determine a customer's country based on their IP address. Enables features like automatic currency and language switching.

219,110
Downloads
Above average
54
GitHub Stars
Above average
4mo ago
Last Release
0
Open Issues
Build Passing
Ready to install

Build Tests

Composer Install
DI Compile
Templates

Code Quality

CS Coding Standard
1 error , 133 warnings
PHPStan Failed

Tested on Magento 2.4.8-p3

Recent Test History

Each release is tested against the latest Magento version at that time.

v2.3.5 on Magento 2.4.8-p3
Dec 29, 2025

Share This Module's Status

Magento 2 GeoIP Database Extension by Magefan Magento compatibility status badge

README

Loaded from GitHub

Magento 2 GeoIP Database Extension by Magefan

Total Downloads Latest Stable Version

This Magento 2 GeoIP module provides you PHP methods for getting customer country by IP, without any additional plugin for PHP.

It is used for Magento 2 Currency Auto Switcher and Magento 2 Auto Language Switcher by Magefan

🇺🇦 Stand with Ukraine! How can you help?

Requirements

  • Magento Community Edition 2.0.x-2.4.x or Magento Enterprise Edition 2.0.x-2.4.x

Installation Method 1 - Installing via composer

  • Open command line
  • Using command "cd" navigate to your magento2 root directory
  • Run command: composer require magefan/module-geoip
composer require magefan/module-geoip
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

Installation Method 2 - Installing using archive

  • Install GeoIP2 PHP API (https://github.com/maxmind/GeoIP2-php).
  • Download ZIP Archive
  • Extract files
  • In your Magento 2 root directory create folder app/code/Magefan/GeoIp
  • Copy files and folders from archive to that folder
  • In command line, using "cd", navigate to your Magento 2 root directory
  • Run commands:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

How To Use

protected $ipToCountryRepository;

public function __construct(
    \Magefan\GeoIp\Model\IpToCountryRepository $ipToCountryRepository,
    ....//other code
) {
    $this->ipToCountryRepository = $ipToCountryRepository;
    ...//other code
}

public function example() {
    $visitorCountyCode = $this->ipToCountryRepository->getVisitorCountryCode();
    $someCountryCodeByIp = $this->ipToCountryRepository->getCountryCode('104.27.164.57');
    ...//other code
}

Support

If you have any issues, please contact us then if you still need help, open a bug report in GitHub's issue tracker.

Need More Features?

Please contact us to get a quote https://magefan.com/contact

License

The code is licensed under Open Software License ("OSL") v. 3.0 and MaxMind EULA.

This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.

Originally use these databases:

https://www.maxmind.com

http://software77.net/geo-ip/

Magento Extensions by Magefan

Magento 2 SEO Extensions

Magento 2 Google Extensions

Magento Speed Optimisation Extensions

Magento Admin Extensions

Magento Order Management Extensions

Magento 2 Blog Extensions

Magento Marketing Extensions

Magento Promotions Extensions

Magento 2 Multi-Language Extensions

Developers Tools

Shopify Apps by Magefan

Magento 2 Services by Magefan

This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.