ip.fs.kg
checking…
中文

IP Fast & Secure Lookup · no signup · no ads

Look up an IP.
Location, network
and risk, instantly.

F.S. Fast & Secure Lookup·Fast, private, and secure IP intelligence.

IPs and domain names both work, IPv4 and IPv6 alike. No ads, no tracking scripts, no signup wall. If you would rather not open a browser at all: curl -L ip.fs.kg returns your IP, and /json returns the full report.

Try:

Waiting for input. Your network details were already read into the card on the right.

Your network check

reading

Identifying your public address…

Country / city
…
ISP
…
ASN
…
IP version
…
Connection / TLS
…
Edge colo
…

These fields are read by the edge node closest to you, straight from the connection, without touching any third-party API. Without edge functions the page falls back automatically and labels the current source in the corner.

Result

Nothing looked up yet.
Enter an IP or a domain, or tap any example above.

Where it lands

Move the pointer to read coordinates
YouTarget

The basemap is open border data rasterised locally into a 112×87 dot grid, with markers placed by equirectangular projection. City-level accuracy depends on the geodata itself and can be off by tens of kilometres.

Domain records & mail config

Waiting

Beyond A / AAAA, a domain also carries MX, TXT, NS and CAA. This card lays them out and checks SPF and DMARC along the way: whether someone else can send mail pretending to be this domain is answered by these few lines.

No domain looked up yet. Enter something like example.com above and every record type will be listed here, along with a verdict on the mail configuration.

Records come from DNS-over-HTTPS straight from your browser. TXT is queried against several resolvers at once and the fullest answer wins — some resolvers quietly return a short list, and trusting a single one turns "upstream dropped it" into "you never configured SPF".

Risk signals

The line-type verdict shows up here after a lookup.

Batch lookup

0 / 20

Paste several IPs or domains at once, separated by newlines, commas or spaces, up to 20. Domains are resolved first; the public APIs behind this have rate limits, so very large batches may ask you to retry shortly.

IPLocationASN / ISPLine typeStatus

The results table appears after the first batch run.

Time zones

You--:--:--—
Target--:--:--shown after a query
UTC--:--:--Coordinated Universal Time
Target date----/--/--shown after a query

Offsets are computed from IANA zone names. Across a daylight-saving boundary the offset can differ by an hour from the wall clock in that city.

This session

0lookups
0IPs resolved
0IPv6 hits
—avg ms

Recent lookups (stored only in this browser)

No history yet

Subnet / CIDR calculator

runs locally

Give it a subnet and it returns the network address, broadcast address, subnet mask, usable host range and total address count. IPv4 and IPv6 both work, all computed in the browser with zero requests.

With no prefix length it is treated as a single host (/32 or /128). /31 and /32 follow RFC 3021 and the real point-to-point and single-host conventions. IPv6 totals are shown as powers of two rather than twenty-odd digits.

Browser exposure check

on demand

The card anyone on a VPN should read: WebRTC can sometimes bypass the proxy and hand over your real egress address, while modern browsers replace private addresses with random hostnames via mDNS obfuscation. The probe below only runs when you press the button.

The STUN node used for the probe is Cloudflare's public service; it only exists to reflect your address back to you. Results stay on the page — nothing is sent to this site and nothing is logged.

Terminal interface

no key needed

F.S. reads as Fast & Secure, but also as Fast Service: this site is itself the API. No API key, no signup, no rate wall — pipe the result straight into your scripts.

bash — ip.fs.kg
# just the IP, one line (-L follows the forced-HTTPS 301)
$ curl -L ip.fs.kg
203.0.113.42

# the full report: geo, ASN, TLS, edge colo
$ curl -sL ip.fs.kg/json?pretty | jq '{ip,country,asn,org}'
{
  "ip": "203.0.113.42",
  "country": "CN",
  "asn": 4134,
  "org": "Chinanet"
}

# curl not your thing
$ wget -qO- ip.fs.kg
Full API docs · field table and OpenAPI

Data & limits

FAQ

How do I see my own IP address and where it is?

It happens the moment you open the site: the "Your network check" card shows your public IP, country and city, ISP and ASN, IP version and TLS version. When the site runs with edge functions these values are read straight from your connection without any third-party API; on a purely static deployment it falls back to public geodata and labels the current source honestly in the corner of the card.

Can I look up a domain name instead of an IP?

Yes, the input accepts both. Type example.com, https://example.com/path or even an internationalised domain: the parser strips the scheme, path and port, converts IDNs to punycode, then queries A and AAAA over DNS-over-HTTPS against public resolvers before running the location, ASN and risk analysis. A domain often resolves to several addresses (CDNs especially) — the resolution box lists every address with TTL and the CNAME chain, and clicking one switches the analysis target. Resolution happens in your browser and never touches this site's servers.

Where does the geolocation come from, and how accurate is it?

The IP-to-location mapping comes from address blocks registered by network operators plus network measurement data, aggregated by public geodatabases. This site tries several sources in order, moving to the next on a timeout or rate limit, and tells you which one answered. Country level is reliable, city level is an approximation — datacenter egress, mobile networks and shared egress are typically off by tens to hundreds of kilometres, and some sources even return a country that contradicts their own coordinates, in which case trust the pin on the map.

Why is the city different from where I actually am?

Three common reasons: you are behind a carrier's centralised egress (metro egress is often in another city); you are on a proxy, VPN or cloud network node; or your network shares addresses through CGNAT. In all three cases the lookup returns the location of the egress router, not your device — no IP lookup tool can do the latter.

Does it handle both IPv4 and IPv6?

Both. The input recognises either format, for example 8.8.8.8 and 2001:4860:4860::8888, and also accepts embedded-IPv4 forms such as ::ffff:1.2.3.4. The result card additionally gives the decimal integer, the fully expanded form, the containing subnet (a /24 for IPv4, a /64 for IPv6) and the reverse DNS name, all converted locally. The PTR record is a real lookup — plenty of datacenter addresses have one, and it often names the cloud provider outright. Note that IPv6 geolocation coverage is generally weaker than IPv4, and the interface says so.

How do I work out which addresses a subnet contains?

Use the "Subnet / CIDR calculator" card: enter something like 10.0.0.0/22 or 2001:db8::/48 and it returns the network address, broadcast address, subnet mask, wildcard mask, usable host range and total count. All of it is computed in the browser with no requests, so it works offline. The "Subnet" row in the result card is a button — press it and the current IP's /24 or /64 is loaded into the calculator. With no prefix length the input is treated as a single host (/32 or /128); /31 and /32 follow RFC 3021 and real point-to-point and single-host conventions.

Why does a domain have no IP but does have MX and TXT records?

Because domains like that exist to send and receive mail, not to serve a website. A domain lookup fetches A, AAAA, MX, TXT, NS and CAA in parallel plus the _dmarc subdomain. If there is no address but there are other records, the interface lays out the record list instead of reporting a failure, and runs a mail configuration check: whether SPF ends in -all or the dangerous +all, whether the DMARC policy is none or reject, and whether any MX record can receive mail.

On a VPN, can WebRTC expose my real IP?

It can. To establish peer-to-peer connections WebRTC gathers local network candidates, and historically that step could bypass the system proxy and reveal the real egress. The "Browser exposure check" card probes in two rounds: the first without STUN, purely to see whether private addresses leak; the second against Cloudflare's public STUN node to obtain a public reflexive address, which is then compared with your current egress — a mismatch means the proxy did not hold. Modern browsers enable mDNS obfuscation by default and hand out random .local hostnames instead, which is protection working, not a leak. The probe only runs when you ask for it, and nothing is sent back to this site.

How do I tell a datacenter IP from home broadband?

Look at the "Risk signals" card. It scores heuristically from ASN ownership and ISP keywords: cloud providers and hosting companies (public clouds, colocation, CDNs, proxy providers) add a lot, mobile carriers and residential lines add little, and the result is a 0–100 score in four bands — residential, backbone egress worth noting, cloud host, and likely proxy or VPN. It is a hint about the nature of the line, not live threat intelligence, and it proves nothing about an address doing anything wrong.

Can I look up several IPs at once?

Yes. Paste addresses into "Batch lookup" separated by newlines, commas or spaces, up to 20 at a time. Two run concurrently and the table reports location, ASN and ISP, line type and data source, exportable as CSV with one click. Public APIs have rate limits, so long runs may start failing — wait a moment and retry.

Can I use curl from the command line?

Yes, and no key is required. curl -L ip.fs.kg returns one line of plain-text IP, which is handy in scripts, Makefiles or a shell prompt; curl -sL ip.fs.kg/json returns the full JSON (IP, country, city, coordinates, ASN, ISP, TLS version, edge colo), and ?pretty formats it. That -L matters: this site forces HTTPS, so a request without a scheme gets a 301 first and without -L you only see the redirect. Detection is based on User-Agent and Accept: curl, wget, httpie and PowerShell get plain text while browsers get the interface. The data is read by Cloudflare edge nodes straight from your connection, with no third-party API and no server-side storage; responses carry a wildcard CORS header so browser fetch works as well.

Why does curl ip.fs.kg return 400 Bad Request in Windows PowerShell?

That is not the site. PowerShell maps curl to an alias for Invoke-WebRequest, which is not real curl and defaults to http:// when no scheme is given. This site forces HTTPS, so the request lands on port 443 and you get 400 The plain HTTP request was sent to HTTPS port. Use the real client with an explicit scheme: curl.exe -L ip.fs.kg or curl.exe https://ip.fs.kg. To check which one you are running, Get-Command curl — if it says Alias, that is the culprit.

Do you log my queries or my IP?

There is no database, no query log on the server, and no third-party analytics or ad scripts on the page. Your public IP is only read while performing a lookup for you. The only local storage is the "Recent lookups" list, kept in your own browser's localStorage and clearable from the "Data & limits" card.