---
# System prepended metadata

title: IP to Geolocation

---

# IP to Geolocation

You can use JavaScript to get the visitor's IP address, but keep in mind that this is not always accurate and may not always return the correct location. In order to get the visitor's IP address, you can use the getIP() function. Here's an example of how you can use it:

```javascript
function getIP() {
  var ip = '';
  if (window.XMLHttpRequest) {
    // code for modern browsers
    xmlhttp = new XMLHttpRequest();
  } else {
    // code for old IE browsers
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      ip = this.responseText;
    }
  };
  xmlhttp.open("GET", "http://ipinfo.io/json", true);
  xmlhttp.send();
  return ip;
}

var visitorIP = getIP();
console.log(visitorIP);
```

Once you have the visitor's IP address, you can use a geolocation API to get their approximate location. There are many different APIs available for this, such as the Google Maps Geolocation API or the IP Geolocation API. Here's an example of how you can use the IP Geolocation API to get the visitor's location based on their IP address:

```javascript
var API_KEY = 'YOUR_API_KEY'; // Replace with your API key
var API_ENDPOINT = 'https://api.ipgeolocation.io/ipgeo?apiKey=' + API_KEY + '&ip=';

function getLocation(ip) {
  var location = '';
  if (window.XMLHttpRequest) {
    // code for modern browsers
    xmlhttp = new XMLHttpRequest();
  } else {
    // code for old IE browsers
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      location = JSON.parse(this.responseText);
    }
  };
  xmlhttp.open("GET", API_ENDPOINT + ip, true);
  xmlhttp.send();
  return location;
}

var visitorIP = getIP();
var visitorLocation = getLocation(visitorIP);
console.log(visitorLocation);
```

Once you have the visitor's location, you can use that information to change the contents of the page. For example, you could display different content based on the visitor's location, or use their location to provide more relevant information. Here's an example of how you might use the visitor's location to change the text on the page:

```javascript
var visitorIP = getIP();
var visitorLocation = getLocation(visitorIP);

if (visitorLocation.country_code == 'US') {
  // US visitors see this text
  document.getElementById('content').innerHTML = 'Hello, US visitor!';
} else {
  // visitors from other countries see this text
  document.getElementById('content').innerHTML = 'Hello, visitor from somewhere else!';
}
```