SVG card generator

IP Info Card

Generate a card image showing each viewer's IP, purity score, location, ASN, browser and OS — perfect for blog and forum signatures. Pick a style, or tile every design.

Style
IP card preview
Card Settings
Width
Card Language
Date stamp
MM/YY
Tags (up to 3)
Embed Code
The card reflects whoever loads the image. Image proxies (GitHub, Discord, Telegram) show their own server's details instead.
Live request

My IP

Everything the edge knows about this request, plus the derived purity score. Data comes from Cloudflare's request.cf object — no third-party call for your own IP.

Raw JSON · GET /api/ip
Loading…
Open endpoint ↗
API Reference · v1.0.0

API Documentation

A tiny, key-free HTTP API. JSON for machines, SVG for humans. All responses are CORS-enabled and safe to embed anywhere.

Base URL: https://ipcard.cogpu.com · No authentication · No rate limit on your own worker · Machine-readable docs ↗

Endpoints

MethodPathDescription
GET/api/ipFull IP intelligence for the caller, or for ?ip=.
GET/api/card.svgRender an SVG card. Aliases: /api/card2.svg, /card.svg.
GET/api/stylesCatalogue of styles, designs, widths and tag keys.
GET/api/uaParsed User-Agent: browser, OS, device.
GET/api/docsThis document as JSON.
GET/api/healthHealth check and edge colo.
GET/This UI. Also /en/card/?style=credit&view=all.

Query Parameters

GET /api/ip

NameTypeDefaultDescription
ipstringcallerArbitrary IPv4 / IPv6 to look up. Resolved via ipwho.is; invalid values return 400.
demo1—Return deterministic demo data (works outside Cloudflare).
enrich1—Merge proxy / VPN / Tor / hosting flags into the caller record; keeps Cloudflare's browser and edge data.

GET /api/card.svg

NameTypeDefaultDescription
designstringclassicDesign key. Credit: classic tier brand minimal vertical holo neon back retro globe. See /api/styles.
wnumber480Output width in px, 120–1400. Recommended 480.
langen|zhenLanguage of the labels printed on the card.
ip / demostringcallerSame semantics as /api/ip.
tagsstring—Comma separated, max 3: native,home,dual,cn2,9929,cmin2,bgp,tri,stream,ai,vip,boss,good.
stamp0autoSet to 0 to hide the detection-date stamp.

UI parameters (on /)

NameValuesDescription
styleclassic|credit|currencyCard family. Default credit.
viewallTile every design of the chosen style (the reference URL behaviour).
design, w, lang, tags, demo—Preselect card options.

Response Schema · /api/ip

FieldTypeDescription
okbooleanAlways true on success.
ip, versionstringVisitor address and IPv4 / IPv6.
scorenumber0–100 estimated IP purity (heuristic, see below).
levelstringPristine ≥95, Clean ≥80, Normal ≥60, Suspicious ≥40, else Risky.
native, hostingbooleanLikely residential/native IP vs datacenter IP.
locationobjectcountry, countryCode, city, region, continent, latitude, longitude, postalCode, timezone, flag
networkobjectasn, org, isp, domain
securityobjectproxy, vpn, tor, anonymous, hosting
clientobjectbrowser, os, device, ua, language, scheme
edgeobjectcolo, ray, protocol, eu
stamp, timestampstringMM/YY detection date and ISO 8601 timestamp.
sourcestringcloudflare-cf | ipwho.is | demo

How the Score Works

The purity score is a transparent heuristic, not a reputation database. It starts at 100 and subtracts for hosting / datacenter ASNs (−34), Tor (−30), proxy (−20), VPN (−18), anonymity (−10), missing geo (−8), missing ASN (−5) and browser-locale / geo mismatch (−4). Clean residential ASNs and IPv6 add a small bonus. The exact logic lives in computeScore() in the worker source.

For your own IP the score derives from Cloudflare edge metadata only. Add ?ip=8.8.8.8 to enrich an arbitrary address with security flags (proxy, VPN, Tor, hosting) from ipwho.is.

Examples

Embed Formats

Errors & Headers

StatusMeaning
200Success. JSON is application/json, cards are image/svg+xml.
400Invalid ip or unknown design.
404Unknown route.
405Method other than GET / HEAD / OPTIONS.
502Upstream IP lookup failed or timed out (4s).
  • CORS: Access-Control-Allow-Origin: * on every API response; OPTIONS preflight returns 204.
  • Caching: /api/ip is no-store; SVG cards are cached 60s (600s with ?ip=).
  • Privacy: only the requesting IP and standard request headers are read; nothing is stored or logged by this worker.
  • SVG: fully self-contained — no external fonts, scripts or images — so it works inside <img> on GitHub, forums and signatures.

Live Response

Loading…
Copied