JavaScript
Article

Get Client IP Using jQuery

By Sam Deering

A few code snippets to Get Client IP Using JavaScript/jQuery.

1. One way

This one gives you longitude/latitude and timezone.

Try it!

$(document).ready( function() { $.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){ alert( data.host); } );});

Returns:

?(
{
   source: "smart-ip.net",
   host: "14.200.158.65",
   lang: "en",
   countryName: "Australia",
   countryCode: "AU",
   city: "South Sydney Municipality",
   region: "New South Wales",
   latitude: "-33.9000",
   longitude: "151.2000",
   timezone: "Australia/NSW"
}
)

2. Two way

This one provides JSON.

Try it!

function myIP() {
    if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
    else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 
    xmlhttp.open("GET"," http://api.hostip.info/get_html.php ",false);
    xmlhttp.send();
 
    hostipInfo = xmlhttp.responseText.split("n");
 
    for (i=0; hostipInfo.length >= i; i++) {
        ipAddress = hostipInfo[i].split(":");
        if ( ipAddress[0] == "IP" ) return ipAddress[1];
    }
 
    return false;
}
 
// console.log(myIP());

Returns:

{
  country_name: "UNITED STATES",
  country_code: "US",
  city: "(Unknown city)",
  ip: "14.200.158.65"
}

3. Three way

Try it!

http://l2.io/ip.js
Syntax : http://l2.io/ip
Diplay Client IP address
--> x.x.x.x

Syntax : 
Display Client IP address in your HTML page using javascript
--> document.write('x.x.x.x');

Syntax : 
Set javascript variable "myip" to client IP address
--> myip = "x.x.x.x";

Free Guide:

7 Habits of Successful CTOs

"What makes a great CTO?" Engineering skills? Business savvy? An innate tendency to channel a mythical creature (ahem, unicorn)? All of the above? Discover the top traits of the most successful CTOs in this free guide.

  • Franz

    Boy you a god

  • JC

    the Third Option is what I need. But I have to get the country name also>? Any suggestions

  • Tberry Apapa

    Good stuff mate… good stuff!

  • http://www.codesarena.com/ Anirudh Anand

    How can I modify this code so that I can pass a domain name to the PHP script which can return the host IP address instead of the client Ip address ?

  • Ratheesh K

    Hey this code just return gateway ip address not client ip. because i have tried from different machine it is return same IP

Recommended
Sponsors
Because We Like You
Free Ebooks!

Grab SitePoint's top 10 web dev and design ebooks, completely free!

Get the latest in JavaScript, once a week, for free.