Six characters, no lookup
For IPv4, FriendlyIP creates a six-character code that can be decoded locally. No account, sign-up, or internet connection is needed.
Friendly connection codes
FriendlyIP is an IP shortener that turns addresses like
255.255.255.255
into short codes like 99srAS. Use it anywhere people need
to type an address by hand: setup screens, LAN games, support calls,
routers, and local network tools.
Use it anywhere that FriendlyIPs are supported! Free offline API for all indie devs. Need a scannable QR, temporary code, or IPv6? Try QR beta, FriendlyPIN beta, or the IPv6 beta.
Try it now
Example use
A game, router, or setup app can show the FriendlyIP code where the user can see it. They type the short code into the other device instead of copying a full IPv4 address.
Connect to 42.13.37.67
Enter FriendlyIP
------Choose a code type
For IPv4, FriendlyIP creates a six-character code that can be decoded locally. No account, sign-up, or internet connection is needed.
Use QR beta to turn an IPv4 or IPv6 address into a scannable code that can be downloaded as SVG.
Use FriendlyPIN beta when you want a short 1-hour code for either IPv4 or IPv6, especially in a one-time pairing or support flow.
Use IPv6 beta for long IPv6 addresses. IPv6 codes are online lookup codes because IPv6 is too large for a useful local six-character code.
Built for people
A short code is easier to read across a room, enter on a TV remote, paste into a support ticket, or show in a pairing flow.
FriendlyIP was created by MikeTheTech of PyroSoft Productions for indie apps, LAN games, device setup flows, support utilities, and internal network tools.
For developers
This is a custom FriendlyIP encoding method: convert an IPv4 address into a 32-bit integer, then encode it with a human-safe Base57 alphabet that avoids easily confused characters.
23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
For developers
GET https://friendlyip.com/api/ipv4/encode/index.php?ip=42.13.37.67
Returns { "ip": "42.13.37.67", "code": "3BqaAL" }.
JSON POST is also supported with { "ip": "42.13.37.67" }.
The legacy URL /api/encode/index.php still works.
GET https://friendlyip.com/api/ipv4/decode/index.php?code=3BqaAL
Returns { "ip": "42.13.37.67", "code": "3BqaAL" }.
JSON POST is also supported with { "code": "3BqaAL" }.
The legacy URL /api/decode/index.php still works.
POST https://friendlyip.com/api/ipv6/encode/index.php
IPv6 uses online lookup codes.
Six-character FriendlyIP codes stay reserved for IPv4.
Decode assigned IPv6 lookup codes with
POST https://friendlyip.com/api/ipv6/decode/index.php,
or try the
IPv6 beta converter.
POST https://friendlyip.com/api/pin/create/index.php
FriendlyPINs are temporary Base57 codes for IPv4 or IPv6 addresses. They expire after 5 minutes to 1 hour, allow up to 5 active PINs per IP, and use 4 characters first.
POST https://friendlyip.com/yourcompany/api/pin/create/index.php
Need a branded, tuned PIN endpoint? PyroSoft can spin up a dedicated FriendlyPIN endpoint with your own URL slug, PIN length, expiration window, and isolated PIN pool. Paid add-on — see the FriendlyPIN SaaS details.
Code samples
<script type="module" src="./app.js"></script>
ALPHABET = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
def encode_ipv4(ip):
value = 0
for octet in ip.split("."):
value = (value << 8) + int(octet)
code = ""
for _ in range(6):
code = ALPHABET[value % 57] + code
value //= 57
return code
Local browser module
import { encodeFriendlyIp, decodeFriendlyIp } from "./friendly-ip.js"
Download the module to bundle it with your app or use it offline: friendly-ip.js
Alphabet: